VCS如何从命令行dump fsdb
专栏:ExASIC Oct. 31, 2024, 7 p.m. 301 阅读
VCS如何从命令行dump fsdb

有时候我们不想改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

感谢阅读,更多文章点击这里:【专栏:ExASIC】
最新20篇 开设专栏