• 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. how to compile OVM with ncvlog

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 66
  • Views 14157
  • 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

how to compile OVM with ncvlog

codefire
codefire over 17 years ago

When I want to compile a testbench with OVM in two step first "ncvlog" then "ncelab", there alway show error message as the following. If I use "irun" with option "-svpp" or "-ovm", the compile issue resovled. I don't want to change my script to use "irun" to compile a OVM design, how should I do? Thanks!

ncvlog: *E,SVNOIMP (/cad/cadence/IUS810-s005/tools/ovm/src/base/ovm_report_handler.svh,31|26): The SystemVerilog construct type parameters is not implemented.(`include file: /cad/cadence/IUS810-s005/tools/ovm/src/base/ovm_report_handler.svh line 31, `include file: /cad/cadence/IUS810-s005/tools/ovm/src/base/ovm_report_server.svh line 280, `include file: /cad/cadence/IUS810-s005/tools/ovm/src/base/base.svh line 44, `include file: /cad/cadence/IUS810-s005/tools/ovm/src/ovm.svh line 28, file: /project/excalibur_1/usr/martinhe/dv/eu/ncsim/svtb/thc_eudp/src/eu_psc.sv line 3)    class ovm_hash #(type T=int, I1=int, I2=int);
  • Cancel
  • ZeevK
    ZeevK over 17 years ago

    irun is actually a very convinient wrapper taking care of all the required steps for you. It figures out the required steps, and goes through them one by one, including ncvlog, ncelab, etc.

    If you must do this step by step yourself, here's something that can help: Use irun's
       -debugscript <script-file-name>
    command line option. This will cause irun to generate a script (with the given name) showing the steps it goes through. You can use that as a refernce to see how -svpp and -ovm are made part of the flow.

           Zeev.

     

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

     Hi.

     If you really can't switch to irun, then you will have to take care of the SVPP (SV pre-processor) step until IUS fully supports parameterised classes (not long to wait now). This entails running the "svpp" command on the OVM sources before passing the processed files to ncvlog.

    I can't find my 3-step example immediately, so hopefully you can work it out from the svpp help text or someone else might post an example.

    One posiblity you might consider is to continue using ncvlog / ncvhdl to compile you DUT, but add a specific "irun -compile" step to just compile the OVM testbench, then continue on to ncelab as per normal:

    ncvlog rtl/*.v
    irun -compile tb/*.sv -ovm
    ncelab work.tb
    ncsim work.tb

    Or simply replace the ncelab step with irun:
    ncvlog rtl/*.v
    irun -c tb/*.sv -ovm -snapshot tb
    ncsim tb

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • codefire
    codefire over 17 years ago

    ZeevK,

     I use $ncroot/tools/urm/bin/svpp to preprocess OVM library individually, then load new library with ncvlog, this issue resolved. Thanks you for your help!

    • 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