数字IC设计随笔之二(VCS、DVE|Verdi单步调试)

VCS、DVE|Verdi单步调试

使用VCS+Verdi进行仿真时,需要在仿真文件中添加如下代码:

initial begin
    $fsdbDumpfile("test.fsdb");
    $fsdbDumpvars("+all");
end

编译仿真的基本方式是在命令行中输入:

vcs -full64 -P $VERDI_LIB/novas.tab $VERDI_LIB/pli.a test.v
./simv

在上述命令中,编译的文件为test.v。当对一个包含文件较多的工程进行编译仿真时,VCS -f 选项支持从文件读取,在该文件flist中指定编译选项,下述为简单的示例:

//===================verilog library extension===========
+libext+.v+.sv+.vlib
//===================Top level file =====================
./rtl_sim/tb.v
+incdir+./src
//===================Search path========================
-y ./src
-y ./rtl_sim

当使用VCS+Verdi进行单步调试时,需要在VCS编译时增加-debug_all -lca -kdb选项予以支持,并且需要指定Verdi。

vcs -full64 -f flist -debug_all -lca -kdb \
    -P $VERDI_LIB/novas.tab $VERDI_LIB/pli.a
./simv -gui=verdi

将上述命令写为bash或者makefile文件,运行后,将会在Verdi中打开,呈现如下界面,左下角为命令输入窗口,右上角为加载的代码,可以在其中加断点,在命令行输入run将按照断点处执行,同时可以进行单步运行,输入命令next。相关命令操作都可以在菜单simulation里面找到。
数字IC设计随笔之二(VCS、DVE|Verdi单步调试)_第1张图片
此外,进行调试时也可以选择vcs自带的工具dve。采用DVE进行单步调试时,与Verdi的主要区别在于波形文件格式不同,DVE产生波形文件为VPD,因此,在进行仿真时需要产生VPD波形而非FSDB。产生vpd文件的方式可以通过在仿真文件中添加:

initial begin
$vcdpluson;
end

或者添加编译指令+vcs+vcdpluson,并设定vpd文件名:VPD_NAME = +vpdfile+top_test.vpd。

执行仿真后,可以设置断点,在命令行输入run即可执行,在断点处停下来,其它相关调试选项在DVE菜单Simulator中可见。

你可能感兴趣的:(数字设计工具,经验分享)