以三步flow为例,需要在analysis和elaborating阶段均需要 -kdb ,在仿真阶段,有两种flow,其一较为常用,仿真生成FSDB文件,仿真结束后Verdi打开即可(verdi -dbdir *.daidir -ssf *.fsdb);另一种flow是vcs的仿真debug模式(没使用过)。
指定了-kdb选项后,verdi会产生KDB,并且会把synopsys_sim.setup文件指定的库文件中的design dump。
/*
为了仅产生Verdi KDB文件并且跳过fsdb文件的产生,可以指定如下选项:
-kdb=only
该选项仅支持vcs两步flow,不支持vcs三步flow。
*/
两步flow中,vcs产生KDB存放在simv.daidir/ (例如simv.daidir/kdb.elab++)
三步flow中,若使用-work选项指定库目录,则vcs产生KDB存放在-work指定的库目录下
FSDB文件dump:Verilog系统函数
$fsdbDumpfile("tb_top.fsdb"); //指定fsdb文件名
$fsdbDumpvars(0,tb_top); //0表示tb_top该hierarchy下面全部层级,1表示仅仅dump当前层级
个人学习笔记,理解不到位的还请帮忙指出。谢谢!