• 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. SOA checks across multiple PVT runs

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 65
  • Views 7530
  • 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

SOA checks across multiple PVT runs

NewScreenName
NewScreenName over 1 year ago

Hi all,

I am simulating a design over different PVT and design variables and need to check SOA for all of them. Currently I write the checks output on a file which I can then pass to a foundry provided script which will dothe work of checking through all of them. The way I am doing it is this:

However in this way I always get only one output file.

Is this file the one corresponding to the last run of the various PVT/design variables which finished running?

And how can I get one separate file for each of them?

Thank you

Best regards

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    If you don't give a full path (e.g. just "out_file.soa") then it will be written into the netlist directory (I think - might be psf, but I think it's the netlist - don't have time to test right now). That means you'll get one per sweep point.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • NewScreenName
    NewScreenName over 1 year ago in reply to Andrew Beckett

    it's the netlist directory indeed.

    How could I have a python script to run automatically to all the out_file.soa generated in the different directories after the simulation finished?

    And if possible, any way an ocean script could read the output of such script (a string) to directly print it in the ADE assembler results? 

    Thank you

    Best regards

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 1 year ago in reply to NewScreenName

    Dear NewScreenName,

    NewScreenName said:
    How could I have a python script to run automatically to all the out_file.soa generated in the different directories after the simulation finished?

    I may be able to help a bit with this. I assembled a shell script that will traverse an Assembler database and run a python script on each netlist instance of the file "out_file.soa". I do not know what type of output your python script produces, so I wrote an example schell script that takes a filename as an argument and prints the contents of the file. I created a sample Assembler database as "Interactive.1" with 4 corners and placed an different "out_file.soa" i each netlist directory. The sample python script is called "print_soa_file.py" and the script name is "run_python_script_sml_120423.sh'. The shell script has 3 arguments:

    1. The path to the simulation results (i.e., location of Interactive.X directories)
    2. The Interative.X number (i.e., the numeric value of X)
    3. The name of the python script in the current directory

    In the example I included, the runline is also included and contains the single line:

    $ cat runline
    run_python_script_sml_120423.sh /Users/sml/Desktop/python_script_scan_netlist_dir/myhome/simulation 1 print_soa_file.py
    $

    The script, example python file, example simulation directory, and a README file are all contained in the attached compressed zip directory.

    I hope this is useful NewScreenName.

    NewScreenName said:
    And if possible, any way an ocean script could read the output of such script (a string) to directly print it in the ADE assembler results? 

    An ocean script may also be used to navigate the Assembler database. I have included a sample ocean script with comments for one to modify for their use in several Forum posts.

    Shawn

    python_script_scan_netlist_dir.zip

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • NewScreenName
    NewScreenName over 1 year ago in reply to ShawnLogan

    Thank you very much!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 1 year ago in reply to NewScreenName

    Of course! I just hope the instructions make sense to you. Let me know if you have any questions or issues NewScreenName.

    Shawn

    • 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