Home > Community > Forums > Functional Verification > merging three worklibs into one

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 merging three worklibs into one 

Last post Thu, Feb 20 2014 1:29 AM by StephenH. 3 replies.
Started by usha sudhagar 19 Feb 2014 05:07 AM. Topic has 3 replies and 1604 views
Page 1 of 1 (4 items)
Sort Posts:
  • Wed, Feb 19 2014 5:07 AM

    merging three worklibs into one Reply

    we have a issue in merging 3 worklib( worklib_1,worklib_2,worklib_3 which has been created during compilation) during elaboration phase.

    Command used for creating those worklib is:(top file - system.sv)

    ncverilog -compile +ncaccess+c +notimingchecks -timescale 1ns/10ps +licq_ncv  -l verilog1.log -work worklib_1 -input ius.tcl -f verilog_1.f

    ncverilog -compile +ncaccess+c +notimingchecks -timescale 1ns/10ps +licq_ncv -l verilog1.log -work worklib_2 -input ius.tcl -f verilog_2.f

    ncverilog -compile +ncaccess+c +notimingchecks -timescale 1ns/10ps +licq_ncv -l verilog1.log -work worklib_3 -input ius.tcl -f verilog_3.f 

    Command used for elaboration is:

    ncelab worklib_1.system -cdslib ../simh/INCA_libs/irun.lnx8664.10.20.nc/cds.lib -hdlvar ../simh/INCA_libs/irun.lnx8664.10.20.nc/hdl.var -snapshot system:snapshot

    we are getting the below error

    ncelab: *E,NOUNIT: Unable to find a unit named 'worklib.system' in the libraries.

    can anyone help us in solving the above error by providing the proper solution

    Filed under:
    • Post Points: 20
  • Wed, Feb 19 2014 5:34 AM

    • StephenH
    • Top 25 Contributor
    • Joined on Tue, Sep 2 2008
    • Bristol, Avon
    • Posts 278
    • Points 4,450
    Re: merging three worklibs into one Reply

    Without seeing what's in your *.f files it's not possible to give a precise answer. What I would say however is: try switching to the "irun" flow instead of calling ncverilog and ncelab separately. Secondly, you are using a very old release whihc is no longer supported. You may come across bugs that have been fixed in more recent releases.

    I would suggest the following irun use model based on your example:

     irun -c -access +c -notimingchecks -timescale 1ns/10ps -makelib worklib_1 -f verilog_1.f -endlib -makelib worklib_2 -f verilog_2.f -endlib -makelib worklib_3 -f verilog_3.f -endlib -top worklib_1.system

    This handles making the library directories for you. You would then run the compiled design with "irun -R [-gui]".

    FYI, the +licq_ncv and -input options will have no effect on your compilation command - these only apply to simulation.

    Steve Hobbs / Applications Engineer / Cadence Functional Verification
    • Post Points: 20
  • Wed, Feb 19 2014 9:56 PM

    Re: merging three worklibs into one Reply

    thanks for ur reply... 

    Please find the example below.

    file list verilog_1.f contains only one file named system.sv,  file list verilog_2.f contain files named multiple.v and divider.v , file list verilog_3.f contains only one file named adder.vhd

    system.sv  code:

    module system();

    int a,b,out;

    multiple m1(out,a,b);

    ....

    endmodule

    multiple.v code

    module multiple(output cc,input aa,bb);

    reg[31:0] sum;

    reg carry;

    adder u_adder(aa,bb,sum,carry);

    ....

    endmodule

    adder.vhd is a vhd file .

    we tried with the command:

    irun  -v200x -c -access +c -notimingchecks -timescale 1ns/10ps -makelib worklib_3 -f verilog_3.f -endlib -work worklib_2 -f verilog_2.f -makelib worklib_1 system.sv -endlib

    And now,we are getting following ERROR:

     ncelab: *E,MULVHD: Possible bindings for instance of entity 'adder' in 'worklib_2.multiple:v' are:
             WORKLIB_3.ADDER:RTL
              .
     adder u_adder(
                               |
    ncelab: *E,CUVMUR (multiple.v,3483|22): instance 'm1.u_adder' of design unit 'adder' is unresolved in 'worklib_2.multiple:v'.

    It seems to be that the  libraries worklib_3 and worklib_2 are not binded.Please provide the appropriate suggestion/solution for binding the libraries. 

     

    Filed under:
    • Post Points: 20
  • Thu, Feb 20 2014 1:29 AM

    • StephenH
    • Top 25 Contributor
    • Joined on Tue, Sep 2 2008
    • Bristol, Avon
    • Posts 278
    • Points 4,450
    Re: merging three worklibs into one Reply

     Right...

    I would recommend that you do not use multiple work libraries then. Verilog isn't really set up for this the way VHDL is, so in general it's best to compile all your Verilog / SV code into a single work library.

    Try this command:

    irun -c -access +c -notimingchecks -timescale 1ns/10ps -f verilog_1.f -f verilog_2.f -f verilog_3.f system.sv

     

    By the way,"-access -c" only enables connectivity tracing acess into the design, you might want "-access +rc" so that you can probe signals into the waveform database as well.

    Steve Hobbs / Applications Engineer / Cadence Functional Verification
    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by usha sudhagar at 19 Feb 2014 05:07 AM. Topic has 3 replies.