Demo
set fsdb_fn top.fsdb; #$env{TSNANE}.fsdb
set log_fn top.fsdb.log;
set mbyte_cont 1000;
set file_cnt 30;
Xcelium:
call fsdbAutoSwitchDumpfile $mbyte_cnt \"$fsdb_fn\" $file_cnt \"$log_fn\"
call fsdbDumpvars 0 top
run; quit;
VCS:
call \$fsdbAutoSwitchDumpfile($mbyte_cnt, \"$fsdb_fn\", $file_cnt, \"$log_fn\")
call {$fsdbDumpvars(0, top)};
Questa:
fsdbAutoSwitchDumpfile $mbyte_cnt $fsdb_fn $file_cnt $log_fn
fsdbDumpvars 0 top;
二维数据
在dump fsdb的地方加上
$fsdbDumpfile(test_fsdb);
$fsdbDumpvars(0, "+all", tb_top);
$fsdbDumpon();
// dump assertion waveform
$fsdbDumpSVA;
在vcs command需要加(legacy option):
-P $VERDI/share/PLI/VCS/LINUX64/novas.tab $VERDI/share/PLI/VCS/LINUX64/pli.a
FSDB Dump Command in Verilog
Supported Simulators for FSDB Dumping Commands
General Dumping Commands
$fsdbDumpfile
$fsdbDumpfile("FSDB_Name" | FSDB_Name_var [ ,Limit_Size | ,Limit_Size_var ]);
$fsdbDumpFinish
This command closes all FSDB files in the current simulation and stops dumping of signals.
$fsdbDumpflush
This command forces the signal values to be flushed to the FSDB file while the simulation is running.
NOTE: The Novas object files for FSDB dumping automatically flushes the value change data to the FSDB file on the disk based on following conditions:
- The simulation stop is due to a $stop statement in the design.
- The simulation stops at a user specified breakpoint.
- The user uses Ctrl-C to break the simulation.
$fsdbDumpon, $fsdbDumpoff
$fsdbDumpon([ "option"| option_var| ]);
$fsdbDumpoff([ "option"| option_var]);
$fsdbDumpvars
$fsdbDumpvars([ depth, | "level=",depth_var, ] [instance | "instance=",instance_var] [ ,"option" | ,"option=",option_var ]*);
option: "+mda", "+all", "+fsdbfile+filename"
$fsdbDumpvars(1, "instance=", instance_string);
Use Environment Variable(s) in the String Argument
setenv MY_FSDB_FILE_PATH /home/test
setenv MY_FSDB_FILE test
$fsdbLog
$fsdbLog(["label"], ["message"], [severity], ["stream_name"] [["format"]*, variables | "string"]* );
$fsdbLog( , , , , var1);
$fsdbDumpSVA
包括fsdbAutoSwitchDumpfile
http://www.eetop.cn/blog/html/55/1518355-433684.html
或者
https://eecad.wordpress.com/2014/08/29/dump-waveform-in-multiple-files/
或者
fsdbDump用法 | Francis's blog (francisz.cn)
FSDB Dumping Command Line Options
Option | Description | Example |
+fsdb+all[=on|off] | Enables dumping of all signals including memory, MDA, packed array, structure, union, power-related, and packed structure in all scopes specified in $fsdbDumpvars or the entire design if no scope is specified. The default is off. | +fsdb+all=on |
+fsdb+autoflush | Enables the automatic flush function when the simulation is stopped with the $stop dumping command or by using the Ctrl-C shortcut key. This option is useful when dumping the FSDB file in batch mode and to view the results on nWave immediately. | +fsdb+autoflush |
+fsdb+dump_log [=on|off] | Enables/disables novas_dump.log. The default is on. | +fsdb+dump_log=on |
eg: simv +fsdb+dump_log=off可以关闭novas_dump.log
使用TCL
编写ucli.do
fsdbDumpfile test.fsdb
fsdbDumpvars 0 tb_top
fsdbDumpvars 0 top.instance
run
vcs ucli -i ucli.do
xrun -input ucli.do
demo:
#run 0
#show
#set name [get tb_top.testname]
#dump -file $name.fsdb -type FSDB
#dump -add tb_top -depth 0 -fsdb_opt +sva -aggregates -fid FSDB0
run
########################################
#### call {cmd}
#### call {$fsdbDumpvars(0, tb_top)};
#### dump after a break
#fsdbDumpfile break.fsdb
#fsdbDumpvars 0 top
#fsdbDumpoff
#stop -file tb.v -line 13 -once -continue -command {fsdbDumpon}
#run
#quit
verdi加载kdb
vcs编译时,加上“-kdb -lca”选项,就可以生成simv.daidir/kdb.elab++这个目录。
verdi打开时,使用“verdi -elab simv.daidir/kdb”命令来打开
VCS compile option for fsdb dump
vcs -full64 -sverilog -ntb_opts uvm -kdb -lca +vcs+lic+wait -licqueue +vpi -debug_access+r+f +vcs+loopreport