vcs -sverilog +v2k +plusarg_save -ntb_opts uvm-1.1 \
-f XXX/lib/vcs.f \
+define+ASSERT_ON \
-cm assert +define+COVER_ON \
+define+XXX \
+nospecify +lint=TFIPC-L +notimingcheck -debug_acc -j4 \
-XgenLoopOpt=0x200 \
-timescale=1ns/1fs +vcs+lic+wait -full64 +vcsd +memcbk +vpi \
-cm line+fsm+cond -cm tgl \
-cm_hier ../cfg/rtl_vcm.cfg -cm_dir ./${mode}/cov/simv.vdb \
-Mdir=./${mode}/exec/uvm_test_csrc \
-l ./${mode}/log/uvm_test.cmp_log \
-o ./${mode}/exec/uvm_test_simv \
-f ../cfg/tb.f
+vcs+lic+wait
等license
+v2k
使能verilog2000的标准
-timescale
- time_unit采用就近原则,例如顶层文件定义timescale后,中间文件再次定义timescale,则其后的文件按照中间文件定义的timescale执行。
- time_precision则采用最小的精度
-override_timescale
统一所有的timescale
-f -F
-f采用绝对路径;-F与-f类似,也可以采用绝对路径,同时也支持相对路径,但不允许嵌套使用。
VCS用-F解析filelist时,不允许文件嵌套使用,不支持`include “xxx.v”这种写法,改为-f便ok了。
+incdir
`include "xxx.sv"
要用+incdir把xxx.sv的路径指明。
-R
编译完成后,自动执行当前编译生成的可执行文件
+vcs+initmem+0|1|x|z
初始化RTL中所有mem的所有bit初始值
+vcs+initreg+0|1|x|z
初始化RTL中所有reg的所有bit初始值
VCS的+ -区别
-的一般是编译时用的,编译工具自带的。
+的是插件,环境,验证语言,等等加的,可扩展的,自定义的。
Dump波形文件
begin
$fsdbAutoSwitchDumpfile(1000,FSDB_SAVE_PATH,200);
$fsdbDumpvars(0,test_top);
#0 $fsdbDumpon;
#50000000 $fsdbDumpoff;
end
fsdb系统任务
$fsdbDumpfile(“file_name.fsdb”);
$fsdbAutoSwitchDumpfile(1000,"wave.fsdb",10,"fsdb_dump.log")
$fsdbDumpvars(0,"top.dut")
$fsdbDumpFlush
$fsdbDumpon
$fsdbDumpoff
$fsdbDumpFinish
tb.f里一般有什么
+libext+.v
-y XXX/memory/all/work/verilog 定义verilog的库
-f rtl_top.f
-f env.f
作者:Poisson_Lee
链接:https://www.jianshu.com/p/cddabb982a35
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。