VCS如何从命令行dump fsdb

文摘   2024-11-05 22:18   北京  

有时候我们不想改Testbench,只能通过vcs的命令参数来配置dump fsdb,那么要怎么实现呢?

简单说明

首先,用命令行参数-ucli让vcs进入ucli模式。

vcs -R -ucli ...
# 或
./simv -ucli ...

再在ucli模式下执行dump fsdb指令,如下。格式与在verilog testbench中用的$fsdbDumpfile()$fsdbDumpvars()两个PLI task一样。

ucli> fsdbDumpfile wave.fsdb
ucli> fsdbDumpvars 0 tb

最后,再ucli模式下,运行run指令继续完成仿真。

ucli> run

一步执行

我们发现开启了ucli之后,需要手动敲入dump指令和run指令。有一些不方便,特别是批量跑脚本时。

其实我们可以把几条指令写成一个tcl文件dumpfsdb.tcl,例如:

# --**-- dumpfsdb.tcl --**--
# dump fsdb
fsdbDumpfile wave.fsdb
fsdbDumpvars 0 tb
# run
run

同时,vcs或者simv的参数也改进一下:

vcs -R -ucli -do dumpfsdb.tcl ...
# 或
./simv -ucli -do dumpfsdb.tcl ...

一个题外话:kdb

为了更方便的debug,打开波形的同时,可以通过kdb来自动加载rtl和tb。具体如下:

  • 1. vcs加-kdb编译参数

  • 2. verdi -ssf xxx.fsdb


处芯积律
处芯积律,而后知所至。一个芯片人的技术和行业研究分享。
 最新文章