目錄
方法一:?使用verilog自帶的系統函數
方法二:?使用UCLI command?
2.1 需要了解什么是vcs的ucli,怎么使用ucli??
2.2 使用ucli dump波形的方法
使用vcs仿真產生fsdb波形有兩種方式,本文參考《vcs user guide 2021》 page 1960??Dumping FSDB File for Various Flows
方法一:?使用verilog自帶的系統函數
使用$fsdbDumpfile指定生成的fsdb的名稱?
使用$fsdbDumpvars指定dump的hierarchy和層級,0表示該層次及其以下所有的都dump,1表示只dump該層級,2表示dump該層級及其下面一層。
如果不指定fsdb的名字,默認生成的名字為novas.fsdb?
方法二:?使用UCLI command(推薦使用)
2.1 需要了解什么是vcs的ucli,怎么使用ucli??
這里參考《vcs user guide 2021》 page 355??Using UCLI?
使用-ucli命令可以實現如下的事情:?
- Control simulation
- Dump the FSDB and VPD files
- Save/Restore the simulation state
- Force/Release a signal
- Debug the design using breakpoints, scope/thread information, and built-in macros
使用-ucli的前提是,在vcs編譯時,添加-debug_access+r 的選項,當vcs添加編譯選項-ucli時,將會進入和vcs的交互界面,
% simv -ucli
ucli%
接下來執行ucli命令有三種方式
- 一行一行輸入tcl命令,所有的ucli的cmd都是符合tcl語法的
- 多行tcl命令可以寫在一個文件中執行,source? xxx_cmd.file?
- 直接在simv命令行加入選項simv -ucli -do xxx_cmd.file?
2.2 使用ucli dump波形的方法
有兩種命令方式,這里推薦右邊這種方式?
fsdbDumpfile指定波形名字,fsdbDumpvars指定dump層次和層級
我們提前準備一個dump fsdb的tcl文件,如果simple_wave.tcl?
fsdbAutoSwitchDumpfile 20000 debussy.fsdb 10
fsdbDumpvars 2 Mtop
fsdbDumpvars 2 Mtop.u_aaa_top
fsdbDumpvars 0 Mtop.u_aaa_top.u_bbb
fsdbDumpvars 1 Mtop.u_aaa_top.u_bbb.u_ccc.u_ddd
在simv仿真時,使用命令行
simv -ucli -do simple_wave.tcl
既可dump fsdb波形,此外tcl中可以控制dump波形的時間等等,例子之后添加