• 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. Custom IC SKILL
  3. Stop Simulation by Itself

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 143
  • Views 20313
  • 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

Stop Simulation by Itself

gilberts
gilberts over 15 years ago

Is there a way to stop a simulation after a certain condition have been met? - ( VerilogA maybe? )

 

Example:

I setup a transient simulation to run for 50m secons.

The circuit oscillates for an unknown frequency, can be too high or too low.

In an alter, when the frequency is too high, the simulation time gets too long

and the results are not anymore necessary.

I only need to complete 20 cycles to analyze the results,

so I want to force stop/kill the simulation after completing 20 cycles on the output.

 

Thanks.

Gilbert

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Hi Gilbert,

    This is the kind of thing that can be done with Spectre MDL, but a VerilogA based solution is quite reasonable too. You could use $finish or $finish_current_analysis for this.

    See SourceLink Solutions 11556554 and 11488490.

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • HoWei
    HoWei over 4 years ago in reply to Andrew Beckett

    Hi,

    I was able to get it to work with a VerilogA-model.

    Now the question is - can the same thing be done via output-expressions in ADE-Assembler ?

    Are those output expressions evaluated during runtime or only at the end of the simulation ?

    BR

    Holger

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to HoWei

    Holger,

    They're only evaluated at the end of simulation, so there's no mechanism for them to stop simulations part way through. The only way to do that is to use either the Verilog-A approach, or using MDL to control the simulation and use the auto-stop mechanism with Spectre MDL (MDL doesn't entirely play nicely with ADE since you effectively have a different simulation control mechanism, although it can be done...). I'd probably use the Verilog-A approach.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to HoWei

    Holger,

    They're only evaluated at the end of simulation, so there's no mechanism for them to stop simulations part way through. The only way to do that is to use either the Verilog-A approach, or using MDL to control the simulation and use the auto-stop mechanism with Spectre MDL (MDL doesn't entirely play nicely with ADE since you effectively have a different simulation control mechanism, although it can be done...). I'd probably use the Verilog-A approach.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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