使用UVM产生fsdb文件的一个问题
时间:10-02
整理:3721RD
点击:
在top文件中添加了产生dump波形文件的函数,即$fsdbDumpfile这样的系统函数:$fsdbDumpon();$fsdbDumpvars(0,tb_top);$fsdbDumpfile("./dump.fsdb");当在top里面加了这三个函数以后,开始运行uvm,奇怪的是:最后不仅产生了dump.fsdb文件,还产生了一个novas.fsdb文件。而且,dump.fsdb文件是不可用的,novas.fsdb是可用的。这是什么情况啊?我的意图明显是让他产生dump.fsdb,它怎么平白无故的又产生了一个novas.fsdb文件啊?
认真看下log文件,多半是你的函数没有写对。 系统自动用novas.fsdb来用
OK,我再去看看,谢谢
vcs现在有个选项叫-fsdb 你可以试试
之前加了,呵呵,刚才看log文件,里面有一个warning,说是仿真器版本 比FSDB版本 newer,may cause abnormal behavior!可能有异常反应。可能是版本的问题吧
呵呵,刚才看log文件,里面有一个warning,说是仿真器版本 比FSDB版本 newer,may cause abnormal behavior!可能有异常反应。可能是版本的问题吧。
应该先指定fsdbDumpfile。否则,一旦执行fsdbDumpvars,就开始保存波形了,但这时还没有指定Dumpfile,就使用默认的novas.fsdb。这时再用fsdbDumpfile已经没用了,因为保存波形已经开始。
正解
正解,出现一样的问题,修改后解决问题。
学习一下。
orlye说的对
$fsdbDumpon();$fsdbDumpvars(0,tb_top);$fsdbDumpfile("./dump.fsdb")这是你原来的顺序。
改为以下顺序就可以了:
$fsdbDumpfile("./dump.fsdb")
$fsdbDumpvars(0,tb_top)
$fsdbDumpon()