Undefined System Task call to ‘$fsdbDumpfile‘
·
问题描述:
在使用VCS或者Irun进行仿真的时候,当需要dump FSDB波形的时候报错:
Undefined System Task call to '$fsdbDumpfile'
原因分析:
主要原因是VERDI的工具库没有设置好。
解决方案:
下面分仿真工具为VCS和Irun分别提供两种解决方案:
1、VCS
首先要把FSDB dumper库的路径添加到LD_LIBRARY_PATH环境变量, Shell命令格式如下:
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${NOVAS_HOME}/share/PLI/VCS/LINUX64
注意:如果使用的是32位Linux,需要把LINUX64替换成LINUX。
Verilog中常用的FSDB dumping命令包括$fsdbDumpfile和$fsdbDumpvars等,调用格式如下:
$fsdbDumpfile("test.fsdb");
$fsdbDumpvars(1, Testbench.inst);
用VCS仿真时,需要使用-P选项调用FSDB dumper,命令格式如下:
vcs +v2k -R -nc -debug_pp -LDFLAGS -rdynamic -P ${NOVAS_HOME}/share/PLI/VCS/LINUX64/novas.tab ${NOVAS_HOME}/share/PLI/VCS/LINUX64/pli.a Testbench.v Counter.v
其中+v2k表示使用Verilog-2001标准,-R表示自动运行仿真,-nc表示不显示版权信息,-debug_pp和-LDFLAGS -rdynamic是Verdi要求的选项。
还有一个比较简单一点的方法:
1、 把NOVAS_HOME和LD_LIBRARY_PATH这两个变量设对
2、VCS加-fsdb参数
2、Irun
将verdi的PLI库路径加入环境变量LD_LIBRARY_PATH:
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${VERDI_HOME}/share/PLI/IUS/LINUX64
3、区别
路径不一样,VCS的是/share/PLI/VCS/LINUX64,Irun的是/share/PLI/IUS/LINUX64。
更多推荐
已为社区贡献4条内容
所有评论(0)