有時候我們不想改Testbench,只能通過vcs的命令參數(shù)來配置dump fsdb,那么要怎么實現(xiàn)呢?
簡單說明
首先,用命令行參數(shù)-ucli
讓vcs進入ucli模式。
vcs -R -ucli ...
# 或
./simv -ucli ...
再在ucli模式下執(zhí)行dump fsdb指令,如下。格式與在verilog testbench中用的$fsdbDumpfile()
和$fsdbDumpvars()
兩個PLI task一樣。
ucli> fsdbDumpfile wave.fsdb
ucli> fsdbDumpvars 0 tb
最后,再ucli模式下,運行run
指令繼續(xù)完成仿真。
ucli> run
一步執(zhí)行
我們發(fā)現(xiàn)開啟了ucli之后,需要手動敲入dump指令和run指令。有一些不方便,特別是批量跑腳本時。
其實我們可以把幾條指令寫成一個tcl文件dumpfsdb.tcl
,例如:
# --**-- dumpfsdb.tcl --**--
# dump fsdb
fsdbDumpfile wave.fsdb
fsdbDumpvars 0 tb
# run
run
同時,vcs或者simv的參數(shù)也改進一下:
vcs -R -ucli -do dumpfsdb.tcl ...
# 或
./simv -ucli -do dumpfsdb.tcl ...
一個題外話:kdb
為了更方便的debug,打開波形的同時,可以通過kdb來自動加載rtl和tb。具體如下:
1. vcs加-kdb編譯參數(shù)
2. verdi -ssf xxx.fsdb