简单汇总一下VCS常用的命令,给出解释以及建议,以下是VCS2022.06支持的命令。
编译命令
1、-debug_access
使能dump FSDB/VPD,限制read/callback能力,-debug_access+all
使能所有debug能力,-debug_access+class
使能testbench debug。
2、-debug_region*
控制debug能力区域
3、-debug_report<+debug.report>
生成debug.report报告
4、-f <filename>
指定文件list
5、-full64
64位编译
6、-j<number_of_processes>
指定并行编译的线程数量
建议按需打开
7、-kdb[=option]
使能生成 Verdi KDB database,这样不需要加载Verdi的时候吃list文件,例如:verdi -nologo -elab ./simv.daidir/kdb.elab++ -ssy -ssv -ssf dump.fsdb &
8、-l <filename>
指定log文件
9、-mhdl
使能VCS MX,即使能混合仿真,新版本的软件不再区分MAX和普通,可以命令使能。
10、-noIncrComp
关闭增量编译
11、-notice
使能详细诊段信息
12、-o <name>
指定可执行文件名称,默认是simv
13、-P <pli.tab>
指定PLI路径
14、-q
不显示冗余编译信息
15、-timescale=<time_unit>/<time_precision>
指定time精度
16、-ucli
和-R一起使用,在UCLI模式开始仿真
17、+incdir+<directory>
指定文件路径
18、+libext+<extension>
指定要加载文件的拓展名
19、-y <directory_pathname>
指定文件路径(包含文件名),建议使用这种方式指定文件夹来吃进文件,例如list可以这样写,避免添加文件重新生成list:
// 加载指定的拓展名文件
`+libext+.v+.sv+.svh`
//指定文件所在文件夹路径
`+incdir+../../../rtl`
`-y ../../../rtl
20、+define+<macro_name>=<value>
指定宏数据,例如:
`ifdef DUMP
initial
begin
$display( "Dumping to dump.fsdb" );
$fsdbDumpfile( "dump.fsdb" );
$fsdbDumpvars(0, tb_name, "+all");
$fsdbDumpon;
end
`endif
那么运行编译就可以使用define使能dump
21、+error+<n>
指定编译时指定最大错误,到达则停止,不建议设置比较大。
22、-race
生成race报告
23、-race=all
编译时分析编码风格导致的race状况
24、+v2k
使能1364-2001标准
25、+vcs+flush+log
增加刷新log文件的速度
执行命令
26、-gui[=<dve|verdi>]
指定图形接口
27、-i <filename>
指定含ucli命令文件
28、-q
安静模式
29、-ucli
在UCLI模式开启仿真
参考示例
VCS+XRUN简单仿真脚本
总结
简单汇总一些,具体可以执行vcs -help
可以看到多数命令,更详细的请参阅相关手册。