• 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 Design
  3. 'while' control flow for large simulation sweep in maestro...

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 882
  • 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

'while' control flow for large simulation sweep in maestro run plan

cdnspg
cdnspg over 2 years ago

Running large simulation sweep with multi-parameters

parm1 p1start:p1step:p1end

parm2 p2start:p2step:p2end

... or parm sweep.

I would like to break out of the simulation sweep triggered by a condition part of output of the same simulation analysis block. Something like a 'while' control flow

        while(condition_in_sim_output, sweep_parm)

             Simulate

with condition to be a pass/fail from a condition in outputs of the simulate block and having corresponding parm values meeting condition on-hand.

The purpose is to reduce the simulations in sweep as the condition can possibly be met early in the sweep.

Any way to implement this simulation flow thru a combination of ocean script code and Run Plan in maestro?

Thanks for helping

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 2 years ago

    Dear cdnspg,

    cdnspg said:
    Any way to implement this simulation flow thru a combination of ocean script code and Run Plan in maestro?

    Since I don't know the details of the simulation set you are trying to perform nor what format of the output data you are hoping to generate, I can't provide a specific answer. Nonetheless, I have often performed sets of simulations whose number is dependent on a simulation result using an ocean script. Ocean supports the while() control structure:

    https://support.cadence.com/apex/techpubDocViewerPage?xmlName=oceanref.xml&title=OCEAN%20Reference%20--%20Language%20Constructs%20-%20while&hash=pgfId-1135823&c_version=ICADVM20.1&path=oceanref/oceanrefICADVM20.1/chap13.html#pgfId-1135823

    Without using oceanXL commands, the output data from your ocean script will not be written into a format readable as an Assembler/Explorer session. If you wish to place the data into a format for Assembler/Explorer, your ocean script will need to include and be compatible with oceanXL.

    Alternately, you might consider creating a run plan where the number of simulation corners of the second run is dependent on an initial run. There is an example of this methodology at URL:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V0000090zijUAA&pageName=ArticleContent

    I hope I understood your intent correctly and these provide some ideas to consider cdnspg!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ShawnLogan
    ShawnLogan over 2 years ago

    Dear cdnspg,

    cdnspg said:
    Any way to implement this simulation flow thru a combination of ocean script code and Run Plan in maestro?

    Since I don't know the details of the simulation set you are trying to perform nor what format of the output data you are hoping to generate, I can't provide a specific answer. Nonetheless, I have often performed sets of simulations whose number is dependent on a simulation result using an ocean script. Ocean supports the while() control structure:

    https://support.cadence.com/apex/techpubDocViewerPage?xmlName=oceanref.xml&title=OCEAN%20Reference%20--%20Language%20Constructs%20-%20while&hash=pgfId-1135823&c_version=ICADVM20.1&path=oceanref/oceanrefICADVM20.1/chap13.html#pgfId-1135823

    Without using oceanXL commands, the output data from your ocean script will not be written into a format readable as an Assembler/Explorer session. If you wish to place the data into a format for Assembler/Explorer, your ocean script will need to include and be compatible with oceanXL.

    Alternately, you might consider creating a run plan where the number of simulation corners of the second run is dependent on an initial run. There is an example of this methodology at URL:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V0000090zijUAA&pageName=ArticleContent

    I hope I understood your intent correctly and these provide some ideas to consider cdnspg!

    Shawn

    • 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