• 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. Mixed-Signal Design
  3. How to use +sv option in AMS simulation

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 64
  • Views 17682
  • 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 use +sv option in AMS simulation

happyy
happyy over 5 years ago

Hi there:

I run into some AMS simulation problem with systemVerilog, please help.

AMS worked fine for mixed signal simulations with default settings till I have to use a new digital block with array definition, like this

input [31:0] dc_offset [0:15];

It simply could not pass compile and generate netlist. To solve this problem, I added '+sv' option in  simulation -> option -> AMS simulator -> Main -> Additional argument. Then a netlist was successfully created. But when I tried to run it, all kinds of syntax errors are reported, caused by connect rules, which I used successfully before I add +sv option. It seems systemVerilog language is not compatible with the syntax which we normally used in connect rules. A few examples are shown blow:

xmvlog: *E,NOIPRT (/ecad/cadence/xcelium1710.004/tools.lnx86/spectre/etc/ahdl/disciplines.vams,46|9): Unrecognized declaration 'discipline' could be an unsupported keyword, a spelling mistake or missing instance port list '()' [SystemVerilog].

xmvlog: *E,NCUITEM (/ecad/cadence/xcelium1710.004/tools.lnx86/spectre/etc/ahdl/disciplines.vams,46|9): Not a valid compilation unit/global item: 'interface_declaration' [SystemVerilog].

Does anyone have a solution for using 2-dimension array in AMS mixed signal simulation?

Thanks,

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    Well, you shouldn't add +sv because that forces systemVerilog compilation for everything which will break all Verilog-AMS files (as they are not SystemVerilog).

    There's no reason why you can't have this digital block either as an external file with a ".sv" suffix, or as a SystemVerilog view type in Virtuoso. Then that block will be compiled as SystemVerilog and other blocks will be compiled using whatever language they are written in.

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • happyy
    happyy over 5 years ago in reply to Andrew Beckett

    Yes, you are right. Changing file type went through netlisting. Thank you!

    • 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