do文件解释
questasim do文件解释
do文件
#开头的是comments;
DO文件实质上是Tcl脚本。可以包含很多Tcl结构,比如程序,条件运算符,数学和三角函数,正则表达式等等。
vsim的参数
- 参数“-novopt”禁止优化(no vopt),可能会因为vopt的缘故使得一些不重要signal被modelsim自动忽略,一般会保留该参数;
- -classdebug
- 参数“-c”表示进入命令行模式,如果没有该参数,则表示进行GUI模式。
- 参数“-L altera_ver”是添加仿真库,该处是直接使用逻辑库名称,也可以像后面一样使用物理库的名称及路径;若是库与源文件一起编译到work库中的,则不需要该参数;
- vlog -sv abc.v 按照sv进行编译;
- -l 小写L, 输出log文件 vsim -l sim.log
- -do “run 10us” 或者-do vsim.do
- -wlf保存仿真结果为一个WLF文件。调试时可在GUI查看仿真结果。
- 在系统提示符后输入vsim –view counter.wlf。
- +UVM_TESTNAME=my_case0
+UVM_NO_RELNOTES
+UVM_TIMEOUT=100000000
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.do
在wave窗口 ctrl+s
/home/userid/rst_uvc/rst_agent/wave.do
questasim makefile文件
makefile:makefile不完全等同于shell/tcl
<target>: <prerequisites>
<tab><command>
<<