• 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. Verilog Name Collisions - irun v8.1

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 65
  • Views 1364
  • 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

Verilog Name Collisions - irun v8.1

Dave123
Dave123 over 16 years ago

I am trying to simulate a chip that consists of several DSP blocks with irun v8.1. The DSP blocks are written in a high level tool which then generates a verilog model for each block. Unfortunately, common names are used in DSP blocks for modules which are not functionally equivalent. As a result, the chip cannot be simulated properly at the top level. The simulator applies the last module compiled to each DSP block.

 Is there an easy way around this short of renaming all the sub-modules in the DSP block?

  • Cancel
  • tpylant
    tpylant over 16 years ago

    You can accomplish this but you'll have to use the three step method of ncvlog, ncelab, ncsim. What you'll want to do is compile each DSP block (and associated files) into its own library. You can do that by having a separate directory for each DSP and then create a hdl.var and cds.lib file like this:

    hdl.var

    define LIB_MAP (       \
      ./one   => oneLib,   \
      ./two   => twoLib,   \
      ./three => threeLib, \
      +       => workLib   \
    )

    cds.lib

    define oneLib work/oneLib
    define twoLib work/twoLib
    define threeLib work/threeLib
    define workLib work/workLib

    This is just one idea. You can get some more ideas in the NC-Verilog Simulator documentation under the chapter explaining the elaborator.

    Tim

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

     I haven't had time to try it for a Verilog design, but the irun option "-makelib" might work for this scenario. Simply use -makelib and -endlib to delimit the range of files that go into each DSP library, something like this:

    irun -makelib dsp1 rtl/dsp1/*.v -endlib -makelib dsp2 rtl/dsp2/*.v -endlib

     

    • 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