• 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. Problem compiling FVSVOVM Xbar package

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 64
  • Views 16050
  • 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

Problem compiling FVSVOVM Xbar package

archive
archive over 15 years ago

Hi,

I'm trying to use irun to compile the Xbar package that accompanies the book Step-by-Step Functional Verification with SystemVerilog and OVM.  I get the following error, and I don't know what the real problem is.  The file testbench.sv includes testbench.svh, which then simply includes ovm.svh.

Has anyone encountered this and know how to resolve it?  Thanks for your help in advance.

 

======

file: sv/testbench.sv
typedef class ovm_test_done;
                          |
ncvlog: *E,TYDMSC (./INCA_libs/irun.lnx86.09.20.nc/svpplib/specials/ovm_object_registry_ovm_test_done_objection_ovm_test_done.svi,17|26): The class specified in the typedef was never declared.
ovm_test_done_objection ovm_test_done = ovm_test_done_objection::get();
                                    |
ncvlog: *E,DUPIDN (/home/eng/peterlu/ovm-2.1/src/base/ovm_globals.svh,51|36): identifier 'ovm_test_done' previously declared [12.5(IEEE)].
        module worklib.xbar_test_launcher:sv
                errors: 2, warnings: 0
irun: *E,VLGERR: An error occurred during parsing.  Review the log file for errors with the code *E and fix those identified problems to proceed.  Exiting with code (status 1).

  • Cancel
  • StephenH
    StephenH over 15 years ago

    Hi.

    It would have helped if you'd pasted your exact compile command into your post, so that we could review what could be wrong.

    By inspecting the error string, it looks to me like you probably used the "-svpp" option of irun, because I can see the word svpplib in the file path. Please try taking -svpp off the irun command, as it is a legacy switch to invoke a SV pre-processor used up to IUS 8.2.

    Since version 8.2, IUS natively supports parameterised classes, so svpp is not required. In addition, svpp has some limitations that cause the type of problem that you are seeing.

    I'd recommend a compile command something like this:

    irun -ovm sv/testbench.sv -incdir sv

    Let us know if this helps!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 15 years ago

    Hi,

    Thank you very much.  Indeed, -svpp was what caused the problem.  I removed it from the irun.f file and everything just works

    BTW,  would you know what the Cadence interactive debugger is called and where I would find documentation on it?  Thanks again in advance.

     PL

    ===

    user@drp2:~/FVSVOVM/examples/XBar/class_based 84> cat run.csh

    irun -f irun.f sv/testbench.sv

    user@drp2:~/FVSVOVM/examples/XBar/class_based 85> cat irun.f.orig
    +incdir+.
    +incdir+$OVM_HOME/src
    +incdir+../xbar/
    +incdir+sv/
    -nowarn PMBDVX
    -svpp
    -LINEDEBUG

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

    Marvellous! :-) I'm glad that sorted it.

    The GUI debugger is called SimVision. You can find the documentation and tutorials by opening the help tool: type "cdnshelp" at the Linux prompt. Then look under the section "Incisive Enterprise Simulator".

    You open the debugger one of two ways:

    1. irun -gui <other_options>
    2. simvision

    Opening SimVision on its own lets you use it just to explore the design (if you load in a simulation snapshot), or connect to a running simulator. I.e. if you have a batch job running, and it's taking ages, you can connect SimVision to it, check the progress, then disconnet the gui again and let it run on in batch.

    Have fun!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 15 years ago

    Hi,

    SimVision is working pretty well for me, but I'm encountering some issues with X.  My mouse is working great, but I don't seem to be able to enter data with the keyboard, for instance, into the "run for duration" form box; I have to get data copied into a clipboard and paste it into the form.  Also, pasting into various forms seems to work but I'm not able to copy from the Console window into my Windows clipboard.

    I'm running SimVision as a Linux Xclient to a Cygwin Xserver on Microsoft Windows. I have used the Cygwin X system with many other X applications, so I know the  keyboard and cut/copy/paste operations generally work.

    Are there some SimVision or X configuration switches I need?  Anyone else encounter these issues?

    Any advice would be greatly appreciated.  Thanks.

    PL

     

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

    I remember trying Cygwin/X a few years ago, but for some reason it was never very successful.

    Eventually I switched back to using a VNC session, which was not only faster, but also meant I could disconnect my laptop from the network and come back later without breaking the X connection and losing my simulations.

    I think there are other free X clients for Windows, but after my experience with cygwin, I never tried any of them...

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

    I forgot to mention that from the SimVision console window, you can select some text then right-click and do "copy". This does seem to use a different X clipboard to the usual highlight-and-copy that works on xterms etc. I'm no X expert, but it does seem to have some different ways to do copy-paste and they're not all compatible!

    • 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