微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问ncverilog怎么连接debussy

请问ncverilog怎么连接debussy

时间:10-02 整理:3721RD 点击:
请问各位高手在sun的solaris上怎么用ncverilog链接debussy的pli库啊?急?
谢谢!

在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");

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top