• 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. asiCheckSimulationSuccess returns true despite errors in...

Stats

  • Replies 3
  • Subscribers 142
  • Views 853
  • Members are here 0

asiCheckSimulationSuccess returns true despite errors in Spectre Log File

Albert
Albert 22 days ago

Hello,

I am running a SKILL script in a nograph session in batch mode using the Spectre simulator. After each simulation, I use the asiCheckSimulationSuccess function to determine whether the simulation completed successfully and decide whether to continue with measurements. This approach has worked well until today when I encountered unexpected results and decided to inspect the spectre.out file.

I found the following messages in the file:

     ERROR (SPECTRE-16080): Cannot print DC solution because DC did not converge. Resolve the convergence issue and rerun the simulation.

 

Warning from spectre during DC analysis `dcOp'.

     WARNING (SPECTRE-223): Detected NaN at node p_1.sd1.

     WARNING (SPECTRE-223): Detected NaN at node p_1.ca:int_ci.

     WARNING (SPECTRE-223): Detected NaN at node p_1.ca:int_n.

 

      ERROR (SPECTRE-16041): The `dcOpInfo' analysis is skipped due to inability to compute operating point. Run 'mmsimpack' (see mmsimpack -h for detailed usage information) to package the netlist and log files as a compressed tar file. Then, contact your Cadence representative or submit a service request via Cadence Online Support, including the tar file and any other information that could help identify the problem.

Despite these errors, the asiCheckSimulationSuccess function returns true, indicating that the simulation was successful. Are there any strict methods to reliably determine whether the simulation was successful?

Thank you for your help!

  • Sign in to reply
  • Cancel
  • Andrew Beckett
    Andrew Beckett 22 days ago

    This function merely checks that there are some simulation results available - it doesn't test whether any of the individual analyses failed.

    This information is recorded by Spectre in a file called logStatus in the psf directory, which lists each analysis started and whether it passed or failed. For example:

    6:13:40 PM, Wed Aug 20, 2025 dcOp START
    6:13:40 PM, Wed Aug 20, 2025 dcOp FAIL
    6:13:40 PM, Wed Aug 20, 2025 dcOpInfo START
    6:13:40 PM, Wed Aug 20, 2025 dcOpInfo PASS
    6:13:40 PM, Wed Aug 20, 2025 tran START
    6:13:40 PM, Wed Aug 20, 2025 tran PASS
    6:13:40 PM, Wed Aug 20, 2025 finalTimeOP START
    6:13:40 PM, Wed Aug 20, 2025 finalTimeOP PASS
    6:13:40 PM, Wed Aug 20, 2025 ac START
    6:13:40 PM, Wed Aug 20, 2025 ac PASS
    6:13:40 PM, Wed Aug 20, 2025 noise START
    6:13:40 PM, Wed Aug 20, 2025 noise PASS
    6:13:40 PM, Wed Aug 20, 2025 xf START
    6:13:40 PM, Wed Aug 20, 2025 xf PASS
    6:13:40 PM, Wed Aug 20, 2025 modelParameter START
    6:13:40 PM, Wed Aug 20, 2025 modelParameter PASS

    There's no public asi function that I can see that returns this info (I can see some private functions). There's a private argument to a public maestro API function which does indicate whether any analysis failed, but again that won't help you unless you're running the simulations through the maestro APIs (I suspect you are not).

    Probably the best you have for now is to look in the logStatus file for FAIL entries.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Albert
    Albert 21 days ago in reply to Andrew Beckett

    Hello Andrew,

    Thank you for sharing the information. In my PSF directory, I don’t see a logFileStatus file—only logFile, artistLogFile, and other files that do not include "log" in their names. Are there any settings options that could enable this behavior?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 21 days ago in reply to Albert

    My apologies, this is normally enabled when you are running from ADE Explorer/Assembler/XL. Assuming you're running simulations with OCEAN functions, you'd need to add:

    envOption('userCmdLineOption "+logstatus")

    In essence, you're adding +logstatus to the spectre command line.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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