• 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. How to access from skill the psf dirs of a parametric analysis...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 14089
  • 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 access from skill the psf dirs of a parametric analysis?

Marcel Preda
Marcel Preda over 7 years ago

Hi there,

How can I access from skill the results directories of a parametric analysis.

Saving it as ocean file the swept variables looks like this

paramAnalysis("Vsel" ?values '(1 2 3 ) ?sweepType 'paramset
paramAnalysis("Vesd" ?values '(2000 2000 4000 ) ?sweepType 'paramset
))
paramRun( ?jobName "job" ?drmsCmd "ifxADEL -tools=mmsim -ncpu=2" )

What I want is that people run a parametric analysis and then a script to automatically identify the psf dirs, to postprocess  spectre.out and eventually to postprocess the 'tran result database from the same dir(based on what we found in spectre.out).

Right now the code looks like this:

sId = asiGetCurrentSession()
topPsfDir = asiGetResultsPsfDir(sId)

and then we parse the runObjFile file from the respective topPsfDir, but there we have some problems.

I hope there is something better than this approach (an API).

virtuoso version v6.1.5+ 

assumption is that the skill script will be run immediately after the parametric analysis (it could be a "Parametric Set" or "Sweep & Ranges").

Best Regards,

Marcel

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

    Hi Marcel,

    I must be missing something.

    Why do you need to parse the runObjFile to find the individual member tran results - if you open the results directory with the runObjFile, it automatically gives you a family of results? It seems excessive to go through these steps just to find the individual run directories when accessing the root of the results will give you all of them.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 7 years ago

    Hi Marcel,

    I must be missing something.

    Why do you need to parse the runObjFile to find the individual member tran results - if you open the results directory with the runObjFile, it automatically gives you a family of results? It seems excessive to go through these steps just to find the individual run directories when accessing the root of the results will give you all of them.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Marcel Preda
    Marcel Preda over 7 years ago in reply to Andrew Beckett

    Hi Andrew,

    It is an old inherited code which was reading the runObjFile, so now we try to improve it.

    As I've mention I want to access each individual psf directory and then to process spectre.out and the waveforms results for the respective sweep and to create some reports which collects data from spectre.out (warning messages) and from 'tran database.

    Each report (some CSV files) is specific for a combination of swept parameters.

    Assuming that I know topPsfDir = asiGetResultsPsfDir(sId) , do we have a standard way to get each individual psf result directory?

    Best Regards,

    Marcel

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to Marcel Preda

    Hi Marcel,

    I think the simple answer is "no". There are some private APIs for dealing with runObjFiles, but they're not really suitable (even if they were documented) for use - they're too low level, and don't really provide the information you want.

    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