• 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. runSimulation activated by run()?

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 16295
  • 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

runSimulation activated by run()?

Sebo
Sebo over 10 years ago

Hello,

I am trying some customized Spectre runs driven by OCEAN scripts without using any schematic entry.  I know there are a number of ways to do this, but at the moment I am trying a method that somewhat emulates what you would get if you were to actually use schematic entry.  This is:

1.) I create a Spectre netlist: ~/simulation/spectre/schematic/netlist/netlist (along with netlistHeader and netlistFooter files, and that is all)

2.) In OCEAN I note this with: design("~/simulation/spectre/schematic/netlist/netlist")

3.) In OCEAN I note the results directory with: resultsDir("~/simulation/spectre/schematic")

4.) In OCEAN I then define a simple analysis: analysis('dc ?saveOppoint t)

5.) In OCEAN I then request that this simulation be executed with: run()

This sequence of steps succeeds in creating a working input.scs file, it succeeds in creating a results directory in ~/simulation/spectre/schematic/psf, it succeeds in creating an execution script runSimulation,

BUT...

... it does not seem to actually carry out the DC simulation (e.g. no dc.dc or dcOP.dc file is created in the psf directory although artistLogFile, runObjFile and simRunData files are created there).  

runSimulation is a working script.  When I execute it directly from the UNIX shell (i.e. ./runSimulation) it creates the necessary files in my /psf and hence results that I can then look at with my OCEAN script (e.g. with the plot() command).

I always thought that the run() command was supposed to execute the runSimulation script.  In the past (when I was applying OCEAN scripts to spectre netlists generated with ADE, not manual as I am trying now) the run() command was successful, am I potentially missing something in these manually generated files preventing runSimulation from being activated by OCEAN?

I am using OCEAN from IC 5.10.41 and the Spectre version is 13.1.1

Thanks,

Sebastian

  • Cancel
Parents
  • Sebo
    Sebo over 10 years ago

    Thanks Andrew.  I've looked up and down input.scs so many times, but can't seem to find anything goofy.  Perhaps it is indeed a local set-up problem.  Over the next few days I plan on trying out at least a couple of different ways at this (i.e. purely script-based OCEAN/Spectre runs, and perhaps just using OCEAN to drive SpectreMDL or at least complete Spectre netlists that sidestep entirely the input.scs flow) including giving IC6.1.6 a go.  Maybe this will eventually flush out the issue.  In the meantime I am just using the combination

    run()

    csh("./runSimulation") 

    in OCEAN.  run() generates  runSimulation and csh executes it and the sims look fine (e.g. can get a sequence of sims to work).

    Actually this brings me to a couple of questions that I can't find a good solution for:

    1.) During my Spectre runs, I get a lot of "Reading file:" messages from Spectre reporting on all the files the simulation is dealing with (e.g. the netlist, tons of model files, etc.)  I'd like to remove this clutter.  It seems like the only way to get rid of these (tried inventory, narrate, debug, info, note to no avail) is by using the =log switch.  Unfortunately I can't seem to find a way to automatically set this option in OCEAN or Spectre.  That is I can't seem to find an equivalent to say

    option('=log "PrintOutputHere.log")

    in OCEAN or using the spectre options setting (e.g. in netlistHeader).  Is there a way to automatically set =log in OCEAN and/or spectre?

    2.) Another issue is that runSimulation defaults to running ./input.scs, but if my OCEAN script is started in a different directory the csh(./runSimulation) approach noted above fails because ./input.scs is not where OCEAN was started.  Is there an obvious fix to that? (e.g. somehow generating runSimulation with whatever reference to input.scs that I want?)  I guess this may be taking the runSimulation beyond its original intent, at the moment its just a symptom of me not getting a fully operating run() going.

    Thanks again,

    Sebastian

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Sebo
    Sebo over 10 years ago

    Thanks Andrew.  I've looked up and down input.scs so many times, but can't seem to find anything goofy.  Perhaps it is indeed a local set-up problem.  Over the next few days I plan on trying out at least a couple of different ways at this (i.e. purely script-based OCEAN/Spectre runs, and perhaps just using OCEAN to drive SpectreMDL or at least complete Spectre netlists that sidestep entirely the input.scs flow) including giving IC6.1.6 a go.  Maybe this will eventually flush out the issue.  In the meantime I am just using the combination

    run()

    csh("./runSimulation") 

    in OCEAN.  run() generates  runSimulation and csh executes it and the sims look fine (e.g. can get a sequence of sims to work).

    Actually this brings me to a couple of questions that I can't find a good solution for:

    1.) During my Spectre runs, I get a lot of "Reading file:" messages from Spectre reporting on all the files the simulation is dealing with (e.g. the netlist, tons of model files, etc.)  I'd like to remove this clutter.  It seems like the only way to get rid of these (tried inventory, narrate, debug, info, note to no avail) is by using the =log switch.  Unfortunately I can't seem to find a way to automatically set this option in OCEAN or Spectre.  That is I can't seem to find an equivalent to say

    option('=log "PrintOutputHere.log")

    in OCEAN or using the spectre options setting (e.g. in netlistHeader).  Is there a way to automatically set =log in OCEAN and/or spectre?

    2.) Another issue is that runSimulation defaults to running ./input.scs, but if my OCEAN script is started in a different directory the csh(./runSimulation) approach noted above fails because ./input.scs is not where OCEAN was started.  Is there an obvious fix to that? (e.g. somehow generating runSimulation with whatever reference to input.scs that I want?)  I guess this may be taking the runSimulation beyond its original intent, at the moment its just a symptom of me not getting a fully operating run() going.

    Thanks again,

    Sebastian

    • 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