【开发环境】 irun(ncverilog)无法dump fsdb波形问题解决方法

一、前言

  本人使用IRUN仿真并通过调用$fsdbDumpfile函数生成波形时,IRUN无法识别$fsdbDumpfile函数。先总结解决方法如下,供大家参考。

 

二、问题

  1. 在TestBeach中,调用以下函数生成fsdb波形文件;

1 //Enable dump fsdb
2 initial
3 begin
4   $fsdbDumpfile("test.fsdb");
5   $fsdbDumpvars(0,TB);
6 end

 

  2. IRUN运行时出现如下错误:$fsdbDumpfile和$fsdbDumpvars 函数不能识别;

    Building instance overlay tables: .................... Done
    Generating native compiled code:
        worklib.HANDSHAKE_TB:v <0x45f2bf0a>
            streams:   1, words:   554
    Building instance specific data structures.
    Loading native compiled code:     .................... Done
    Design hierarchy summary:
                           Instances  Unique
        Modules:                   2       2
        Registers:                15      15
        Scalar wires:              7       -
        Always blocks:             7       7
        Initial blocks:            5       5
        Cont. assignments:         0       2
        Simulation timescale:  100ps
    Writing initial simulation snapshot: worklib.HANDSHAKE_TB:v
Loading snapshot worklib.HANDSHAKE_TB:v .................... Done
  $fsdbDumpfile("test.fsdb");
              |
ncsim: *E,MSSYSTF (./tb.v,75|14): User Defined system task or function ($fsdbDumpfile) registered during elaboration and used within the simulation has not been registered during simulation.
  $fsdbDumpvars (0,TB);
              |
ncsim: *E,MSSYSTF (./handshake_tb.v,76|14): User Defined system task or function ($fsdbDumpvars) registered during elaboration and used within the simulation has not been registered during simulation.

 

  原因: irun未能正确加载debpli.so导致;

 

二、方法

  1. 设置LD_LIBRARY_PATH如下:

   其中NOVAS_HOME为VERDI安装目录,注意此处CentOS为32位系统,64位系统需要直到的目录;  

#32bit CentOS
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$NOVAS_HOME/share/PLI/lib/LINUX:$NOVAS_HOME/share/PLI/IUS/LINUX/boot" 
#64bit CentOS

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$NOVAS_HOME/share/PLI/lib/LINUX64:$NOVAS_HOME/share/PLI/IUS/LINUX64/boot" 

 

  2. 设置IRUN运行参数如下:

irun -access +rwc -loadpli1 debpli:novas_pli_boot -f XXXXXXX.f

 

  3.设置完成后可正常运行;

irun: 13.10-p001: (c) Copyright 1995-2013 Cadence Design Systems, Inc.
TOOL:    irun    13.10-p001: Started on Oct 31, 2016 at 10:44:07 EDT
irun
    -loadpli1 debpli:novas_pli_boot
    handshake_tb.v
    handshake_pulse_sync.v
        Caching library 'worklib' ....... Done
    Elaborating the design hierarchy:
    Top level design units:
        HANDSHAKE_TB
    Building instance overlay tables: .................... Done
    Generating native compiled code:
        worklib.HANDSHAKE_TB:v <0x0461d14c>
            streams:   1, words:   554
    Building instance specific data structures.
    Loading native compiled code:     .................... Done
    Design hierarchy summary:
                           Instances  Unique
        Modules:                   2       2
        Registers:                15      15
        Scalar wires:              7       -
        Always blocks:             7       7
        Initial blocks:            5       5
        Cont. assignments:         0       2
        Simulation timescale:  100ps
    Writing initial simulation snapshot: worklib.HANDSHAKE_TB:v
Loading snapshot worklib.HANDSHAKE_TB:v .................... Done
*Verdi3* Loading libsscore_ius131.so
*Verdi3* : Enable Parallel Dumping.
ncsim> source /usr/edatools/cadence/incisive/tools/inca/files/ncsimrc
ncsim> run
FSDB Dumper for IUS, Release Verdi3_I-2014.03, Linux, 02/10/2014
(C) 1996 - 2014 by Synopsys, Inc.
*Verdi3* : Create FSDB file 'test.fsdb'
*Verdi3* : Begin traversing the scope (HANDSHAKE_TB), layer (0).

转载于:https://www.cnblogs.com/digital-wei/p/6017812.html

你可能感兴趣的:(【开发环境】 irun(ncverilog)无法dump fsdb波形问题解决方法)