• 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. How to auto-manage spectre turbo

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 126
  • Views 16488
  • 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 auto-manage spectre turbo

jugemu1234
jugemu1234 over 15 years ago

Hi,

 We have short spectre tokens in our group. So is there any specific way to run simulation in preferrably turbo mode but automatically switch to non-turbo mode when token is out of availability.

 Thanks,

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    No, there is no way to do this (built in to the tools).

    Potentially I guess you could write a wrapper script around spectre which detected if the simulator failed due to lack of license, and then re-launched without the +turbo being passed. You could then point to this script using the spectre.envOpts simExecName cdsenv setting.

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jugemu1234
    jugemu1234 over 15 years ago

     

    How can I load that wrapper in ADE? Or workable only in batch mode?

    Can you write an example for that script? That would be so appreciated.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Sorry, too busy with the day job - I don't have time to write the script - just wanted to provide you with the idea. I already explained how to make ADE pick up the wrapper script - use the cdsenv setting I mentioned:

    envSetVal("spectre.envOpts" "simExecName" 'string "/path/to/your/wrapper")

    However, a simpler solution might just be to enable license queueing:

    envSetVal("spectre.envOpts" "licQueueTimeOut" 'string "0")

    The default is to queue for licenses, but only wait 900 seconds before timing out. Setting it to 0 tells it to wait until the license is available, and not time out. This corresponds to the +lqtimeout command line option to spectre.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dlbro
    dlbro over 13 years ago
    Is there a similar command for spectreRF? I tried this but it still times out after 900 seconds as it's waiting for PSS or pnoise.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    I just tried doing this (admittedly from the command line with spectre, but that shouldn't matter), and it worked fine (I was using MMSIM10.1 latest hotfix). Which version of spectre where you using?

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dlbro
    dlbro over 13 years ago

    I entered: 

     envSetVal("spectre.envOpts" "licQueueTimeOut" 'string "0")

     In the CIW window and then ran a sim with a transient, pss, and pnoise.  The transient ran ok, but the pss and pnoise aborted because they couldn't get the extra license (we have 6 and only 1 was available.  Here's the messages I get:

    Notice from spectre.
        Waiting for available license for the Virtuoso(R) Spectre-RF option.
        Waiting for available license for the Virtuoso(R) Spectre-RF option.
        Waiting for available license for the Virtuoso(R) Spectre-RF option.
        Waiting for available license for the Virtuoso(R) Spectre-RF option.
        Waiting for available license for the Virtuoso(R) Spectre-RF option.
            Further occurrences of this notice will be suppressed.
    Error found by spectre.
        ERROR (CMI-2102): License for the SpectreRF option could not be obtained.

     More licenses are available today, so it's not as criitical, but it would be nice if it would wait indefinitely.  It's also impossible to test if there are enough licenses....

    I'm running:

    MMSIM_01.20.594_lnx86

    IC-614_06.14.508_lnx86

    Thanks,

    Dave

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Dave,

    I don't know what MMSIM version that actually is, because the number doesn't make sense. "spectre -W" will tell you (or look in the output log file from the simulation).

    I tried in OCEAN and it worked fine. I would suggest you take a look at the runSimulation script being created in the netlist directory and see what the command line options actually passed to spectre are.

    Do you have the envSetVal() before the simulator('spectre) call? In my case it seemed OK if I did it afterwards, but I wasn't using the IC version you are - I could quite expect it requires it to be set before the OCEAN "session" starts - because that's when the cdsenv settings are imported into the session.

    Regards,

    Andrew.

    • 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