请问ncverilog怎么连接debussy
谢谢!
在debussy内有一个呼叫第三方仿真器的借口,配置一下就好了
新版本verdi其实更好用
debussy提供了NC的PLI接口函数,$fsdbDumpfile, $fsdbDumpvars等等,使用此函数,进行simulation,到处波形,然后在debussy里面去看,可以和source code连接。很方便。
见debussy的user guide
编译时候加上那条PLI路径 就可以down fsdb了
多谢各位,我也知道要再ncverilog编译时链接上verdi的pli库,但是不知道怎么链接啊?
语法是什么,userguide上没有找到?
没用过NC,用VCS的时候,-P 两个文件名(包括路径,两个文件其实都在一个路径下)。
我和按照VCS的格式试过,但是不行
1. source Debussy/Verdi 安装路径下 env file
里面包含 NOVAS_HOME, NOVAS_LICENSE_FILE, DEBUSSY_IDLE_LICENSE_CHECKBACK, path变量等设置
最重要的是 LD_LIBRARY_PATH 设置 如果没有,可以自己找
一般在$NOVAS_HOME/share/PLI/nc*/*/下面, 设为
setenv LD_LIBRARY_PATH $NOVAS_HOME/share/PLI/nc*/*/nc_loadpli1LD_LIBRARY_PATH
2. 在run ncverilog 时调用debussy的pli库就行了
+loadpli1=deb_PLIPtr
3. 使用$fsdbDumpfile, $fsdbDumpvars等debussy提供函数dump波形
my $ncelab = "/home/cf/eda/ius/tools/bin/ncelab";
system($ncelab -messages -access +wrc -loadpli1 $novas:deb_PLIPtr worklib.counter_tb:module);
my $novas = "/home/cf/eda/verdi2009/share/PLI/nc61/LINUX/nc_loadpli1/debpli.so";
my $ncelab = "/home/cf/eda/ius/tools/bin/ncelab";
system("$ncelab -messages -access +wrc -loadpli1 $novas:deb_PLIPtr worklib.counter_tb:module");
我只知道modelsim怎么调debussy的PLI,nc进公司的时候就可以调了,没去想过如何调。
謝謝啦!
modelsim的話在 modelsim.ini 中加入:
;set to Debussy simulation Environment
Veriuser = c:\Novas\Debussy\share\PLI\modelsim_pli54\WINNT\novas.dll
我的操作如下:
1. 安装Modelsim和Debussy并正确设置好license,二者独立都可以用;
2.将Debussy安装目录下share\PLI\modelsim_pli54\WINNT\novas.dll拷贝到 Modelsim安装目录下win32目录下;
3.修改Modelsim安装目录下modelsim.ini文件,添加Veriuser = novas.dll ;
4.将Debussy安装目录下share\PLI\modelsim_pli54\WINNT\novas_vlog.v拷贝到 工程目录的源代码目录下;
5.Testbench里面使用novas/debussy的PLI来dump波形 --------------------------------------------------------------
initial
begin
$fsdbDumpfile("info_fetch_tb.fsdb");
$fsdbDumpvars;
end
6.运行modelsim,编译novas_vlog.v ,设计的verilog代码,测试激励verilog;
7.调用仿真时,报如下问题:
# vsim -voptargs=+acc work.test
# Loading work.test(fast)
# Loading work.dcdc(fast)
# ** Warning: (vsim-PLI-3003) F:/modelsim_design/dcdc/test.v(22): [TOFD] - System task or function '$fsdbDumpfile' is not defined.
# Region: /test
# ** Warning: (vsim-PLI-3003) F:/modelsim_design/dcdc/test.v(23): [TOFD] - System task or function '$fsdbDumpvars' is not defined.
# Region: /test
为什么呢?
Maybe you can try to put 'novas.dll' in the same directory of 'modelsim.ini'
放到同一个目录了,还是不行,报的一样warning
在modelsim中用命令
vsim -pli novas.dll test
可以实现PLI调用了,并且可以产生fsdb文件了。好奇怪,不晓得在modelsim.ini文件中连接为什么不可以。
还有一个问题是用debussy查看波形的时候速度很慢,比如放大缩小要很长的反应时间,是因为我的电脑速度慢还是debussy看波形本身就比较慢?
是不是波形很大?
如果VCD文件需要转成FSDB先,如果是FSDB,缩放应该很快的
VHDL dump波形 1、在debussy目录下找到novas.vhd C:\Novas\Debussy\share\PLI\modelsim_fli54\WINNT 把这个文件编译到novas库中去 vlib novas vmap novas novas vcom -work novas ./novas.vhd 仿真的时候把库加进去: vsim -novopt -suppress 3829 +OVM_TESTNAME=gmii_test -L AXXLIB -L t0dLIB -L novas -L work work.BpiRxIfTb 2、在vhdl的顶层文件中调用库 LIBRARY novas; USE novas.pkg.all; 再加入dump的语句到process中去 process begin fsdbDumpfile("vhdl.fsdb"); fsdbDumpvars(2,"i_BpiRxIf"); --“2”是层次,”i_bpirxif”是要dump波形的模块 wait end process; Verilog dump波形 1、在debussy目录下找到novas.dll文件,拷贝到仿真工程目录或者直接在modelsim.ini中加入这句话Veriuser = novas.dll (可以加目录指定位置) 2、顶层加入这些语句 initial begin $fsdbAutoSwitchDumpfile(200,"./123.fsdb",80); //循环存储,每个80M,最多 //200个文件 $fsdbDumpvars; end 3、仿真时指定所用的novas链接库 vsim -pli novas.dll …
如果在linux系统下仿真,则要改成则需要把novas.dll替换成novas_fli.so文件,此文件同样可以再debyssy的安装目录下找到.
+loadpli1=deb_PLIPtr
ding
zai ding
my $novas = "/home/cf/eda/verdi2009/share/PLI/nc61/LINUX/nc_loadpli1/debpli.so";
my $ncelab = "/home/cf/eda/ius/tools/bin/ncelab";
system("$ncelab -messages -access +wrc -loadpli1 $novas:deb_PLIPtr worklib.counter_tb:module");
