1. vcs常用命令 编译及仿真
VCS先将verilog/systemverilog文件转化为C文件,在linux下编译链接生成可执行文件,在linux下运行simv即可得到仿真结果。
命令 | 说明 |
---|---|
-R | 自动执行编译后的可执行文件.simv |
+v2k | 支持verilog 2001语法 |
-f *.f | 指定一个包含所有文件路径的filelist.f文件 |
-timescale= | 时间单位/精度 |
-debug_all | 使能所有的debug调试功能 |
-debug_pp | 使能debug调试功能,可以dump fsdb和vpd,使能dve、verdi波形调试和UCLI命令行调试 |
-fsdb | 调用verdi PLI 库, 支持fsdb波形 |
-P | 指定需要加载的库 静态库pli.a 表格文件novas.tab 在verdi安装路径/share/PLI/VCS/linux64/ |
-cm [option] | option包括line行、cond条件、fsm状态机、tgl翻转、branch分支、assert断言 |
-cm_dir [dir] | 指定文件存放位置 |
-sverilog | 支持system verilog语法 |
-l compile.log | 日志文件输出在log文件,名字可以任意取 |
2. verdi常用命令 查看波形
1)手动看代码:file--import design--勾选所有仿真文件点击+--ok
2)makefile脚本
点击左上角第三个图标显示电路结构图
在波形窗口按 f 自动适配波形大小,按 z 缩小波形,按 Z 放大波形
选中信号,按下“CTRL + w”即可将信号添加至观察区进行 debug。
3.1 sim路径下 makefile文件
make需在sim路径下执行
verdi :
verdi --nologo -sv -f *.f -ssf *.fsdb &
-sv 支持systemverilog
-ssf *.fsdb 指定fsdb文件
fsdb是Verdi支持的波性文件
需要在tb文件中dump波形
initial begin
$fsdbDumpfile("adder.fsdb"); #记录波形,波形名字adder.fsdb
$fsdbDumpvars();
$fsdbDumpSVA(); #将assertion的结果存在fsdb中
end
3.2 sim路径下 filelist.f列出编译需要的全部rtl和tb文件
#rtl files
../rtl/exp.v
#tb files
../tb/tb.v
4. clean清除文件
clean :
rm -rf ./csrc *.daidir ./csrc
*.log *.vpd *.vdb simv* *.key
+race.out* novas* verdi* *fsdb *.conf *.bak
5. 运行
- make vcs 完成vcs编译过程
- make sim 完成simv仿真过程
- make verdi 启动verdi查看波形
- make clean 删除编译和仿真的中间文件
- make all 自动完成clean、vcs、sim
6.模板
注意:命令的第二行必须Tab开头,使用\换行
.PHONE:com sim clean
OUTPUT = adder_tb
com:
vcs -sverilog +v2k -timesscale=1ns/1ns \
-debug_all \
-o ${OUTPUT} \
-l compile.log \
-f file.f
SIM = ./${OUTPUT} -l run.log
clean:
rm -rf ./csrc *.daidir *.log *.vpd *.vdb simv* *.key \
+race.out* novas* verdi* *fsdb *.conf *.conf