• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Functional Verification
  3. merging three worklibs into one

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 65
  • Views 17627
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

merging three worklibs into one

usha sudhagar
usha sudhagar over 11 years ago

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

  • Cancel
  • StephenH
    StephenH over 11 years ago

    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.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • usha sudhagar
    usha sudhagar over 11 years ago

    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. 

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StephenH
    StephenH over 11 years ago

     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.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information