求助vhdl+verdi混合仿真
不懂啊……
外购的IP是RTL代码还是网表?有没有for...generate类似的语句?
能不能看到波形跟你的仿真有关,verdi能看到代码只表示verdi编译代码没有问题,至于你的仿真工具有没有dump出波形,跟verdi没有任何关系
看看dump波形时有没有将vhdl部分的波形dump出来,再看看仿真器是否支持VHDL dump
rtl代码和网表都有
我现在是用verilog写测试激励,调用vhdl rtl代码?在verilog激励里面加了这三句话,打印出vhdl波形还要加什么吗?
initial
begin
$fsdbDumpfile(abc_test.fsdb);
$fsdbDumpvars(0,abc_test);
$fsdbDumpflush;
end
今天打开nWave里面添加信号的窗口只能看到abc_test(verilog代码)无法看到它下面的vhdl代码及vhdl代码的信号,是怎么回事》
我现在是用verilog写测试激励abc_test.v,调用vhdl rtl代码abc.vhd及子模块?在verilog激励里面加了这三句话,打印出vhdl波形还要加什么吗?
initial
begin
$fsdbDumpfile("abc_test.fsdb");
$fsdbDumpvars(0,abc_test);
$fsdbDumpflush;
end
用verdi打开fsdb文件,就是波形了。
verdi -ssf XXXXXX.fsdb
问题就是打开了,但是只能看到用verilog写的激励的波形,不能看到激励以下vhdl rtl代码的波形?
小编,既然你都有了fsdb,那么就是ncsim混仿已经没有问题了,只不过你不会用verdi而已,看看用户手册,很容易解决你这个问题的。你应该没有在verdi里边编译设计文件。
需要指定正确的verdi pli。
对于vcs仿真器,verdi pli有3种,一种是纯verilog,一种是纯vhdl,另一种是混合hdl的(Verilog,vhdl,systemverilog)。
你需要指定混合hdl的那个,通常叫做*_mhpi_*,对于其它仿真器也是类似的。
小编可以看一下verdi安装目录下的PLI目录,就知道了。
对于verdi2010.07版本,当使用ius仿真器时,可以指定PLI,也就是LD_LIBRARY_PATH为pli目录下的IUS(大写),就可以支持mixed hdl了。如果是vcs或vcs_mx则可以指定VCS(大写),但是这个大写VCS目前还是beta,会出现一个warning,所以还是推荐前面那种指定*_mhpi_*的pli。
另外说一句,回帖要负责任,不知道的不要瞎说。
楼上应该是对的
modelsim + verdi 仿真.v和.vhd 调用两个不同的pli
12楼完全正确,我碰到过这种问题
