
#开头的是comments;
DO文件实质上是Tcl脚本。可以包含很多Tcl结构,比如程序,条件 运算符 ,数学和三角函数,正则表达式等等。
vsim的参数
log /* -r //该命令可以让modelsim/Questa Sim在进行 仿真 中,对所有信号同步进行仿真,
从而解决新加入的观测信号没有仿真结果的问题;
在终端> 直接输入 vsim -c 会进入没有gui的questasim
if [file exists "work"] {
vdel -all} #有work这个目录 则删除
vlib work #vlib work ---- 在工作目录下建立一个work目录
#vcom 编译vhd;如果是verilog 则使用vlog
vcom -f dut.f
vlog -f tb.f
vopt top -o top_optimized +acc +cover=sbfec+tinyalu(rtl).
vsim top_optimized -coverage +UVM_TESTNAME=random_test
set NoQuitOnFinish 1
onbreak {
resume}
log /* -r //该命令可以让modelsim/Questa Sim在进行仿真中,对所有信号同步进行仿真,从而解决新加入的观测信号没有仿真结果的问题;
run -all
coverage exclude -src ../../tinyalu_dut/single_cycle_add_and_xor.vhd -line 49 -code s
coverage exclude -src ../../tinyalu_dut/single_cycle_add_and_xor.vhd -scope /top/DUT/add_and_xor -line 49 -code b
coverage save random_test.ucdb
vsim top_optimized -coverage +UVM_TESTNAME=add_test
set NoQuitOnFinish 1
onbreak {
resume}
log /* -r
run -all
coverage exclude -src ../../tinyalu_dut/single_cycle_add_and_xor.vhd -line 49 -code s
coverage exclude -src ../../tinyalu_dut/single_cycle_add_and_xor.vhd -scope /top/DUT/add_and_xor -line 49 -code b
coverage save add_test.ucdb
vcover merge tinyalu.ucdb random_test.ucdb add_test.ucdb
vcover report tinyalu.ucdb -cvg -details
quit
#vcom 编译vhd;如果是verilog 则使用vlog
dut.f #设计的文件路径
tinyalu_dut/single_cycle_add_and_xor.vhd
tinyalu_dut/three_cycle_mult.vhd
tinyalu_dut/tinyalu.vhd
tb.f #仿真的文件路径
+incdir+ #意思是include dir 包含一个目录进来
tinyalu_pkg.sv
tinyalu_bfm.sv
top.sv
+incdir+tb_classes
在wave窗口 ctrl+s
/home/userid/rst_uvc/rst_agent/wave.do
<target>: <prerequisites
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删