• 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. Simple example of passing classes between nc and Specma...

Stats

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

Simple example of passing classes between nc and Specman

archive
archive over 17 years ago

Hi, I would like to pass Specman structs to SV classes and back, using NC. I know that's possible because I'm able to run the MRM demo. However, I'm looking for a simpler example with a simple compile script...I've tried to compile the attached files (e2sv_class.e, e2sv_class.sv, taken from Specman help, beta features, 2.6) using the attached compile script (taken from 2.9 and slightly modified), but that doesn't seem to work. Can anyone indicate what's the right way to compile these files? thanks, Avidan


Originally posted in cdnusers.org by avidan_e
e2sv_class.tar.gz
  • Cancel
  • archive
    archive over 17 years ago

    Hi,
    Interesting trial indeed. I must admit I don't know the answer really, but looking at the code I see that your E-struct name is "dut_instruction" whereas inside SV you have:

    import specman_types::*; sn_dut_instruction ins;

    Is this how it is supposed to be as per manual? Or is it a typo?

    Also can you elaborate on what you mean by:

    <quote>
    but that doesn't seem to work.
    </quote>

    Ajeetha, CVC
    www.noveldv.com


    Originally posted in cdnusers.org by ajeetha
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Ajeetha,
    Thanks for your answer.

    The example was copied as is from:

    http://sourcelink.cadence.com/docs/files/Release_Info/Docs/sn_beta/sn_beta6.1/sn_beta.pdf

    pages 35-36.

    I believe the name mismatch is due to the fact that in between the e code and the sv code, you have the automatically generated stubs file, that probably fiddles a bit with the type names, and prefixes them with "sn_"

    "that doesn't seem to work" is in fact too general...it means that the automatically generated stubs file (specman.svh) gives compilation errors when compile with ncvlog -sv.

    Avidan


    Originally posted in cdnusers.org by avidan_e
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Avidan

    We couldn't recreate your compilation error, we've ran the attached script, and it passed compilation phase.
    Which Specman and IUS versions do you use?
    Also, please attach the ncvlog.log file that is created when you try to compile the specman.svh file.

    Thanks

    Erez


    Originally posted in cdnusers.org by erezb
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Erez, I'm using Specman and ncvlog 6.20. The script output and the ncvlog.log file are attached. Best, Avidan


    Originally posted in cdnusers.org by avidan_e
    • ncvlog.txt
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago


    Hi Aviad

    It seems that the INCA_libs already includes some of the SV environement generated by Specman.
    (Have you ran this example also with irun ?)
    Delete the existing INCA_libs, and rerun the compile script.

    Erez


    Originally posted in cdnusers.org by erezb
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Erez,
    Thanks, you're right. It works now.
    Avidan


    Originally posted in cdnusers.org by avidan_e
    • 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