• 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 16284
  • 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 think you have hit on the problem.  I may be the victim of a little too much customization at the moment.  I am loading the Cadence tools selectively in an environment that supports the csh/tcsh shell.  I actually launch OCEAN with a shell script that at the same time defines all the other places to look for in IC5.1.41 (after defining all the dependency locations the script launches  ../tools/dfII/bin/ocean).

    I'm guessing if run() defaults to an execution in Bourne shell (i.e. sh()) it may be missing some of the defaults I have set in the C-shell environment and hence is not finding all the libraries needed to get Spectre going.  For example when I try sh("./runSimulation") a complaint is returned stating that an error is encountered when trying to load shared libraries (no such error is reported by run() alone though).  No such problem occurs when I run csh("./runSimulation") probably because all the dependency locations are known.

    One last thing as I continue along with these customizations...

    ...is there a command I can run in OCEAN to tell me what my current spectre.envOpts or spectre.outputs settings are?  For example, something that will push out a list to the screen.  As I experiment with different settings I want to make sure that I am being as consistent as possible.

    Thanks again,

    Sebastian

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

    Thanks Andrew, I think you have hit on the problem.  I may be the victim of a little too much customization at the moment.  I am loading the Cadence tools selectively in an environment that supports the csh/tcsh shell.  I actually launch OCEAN with a shell script that at the same time defines all the other places to look for in IC5.1.41 (after defining all the dependency locations the script launches  ../tools/dfII/bin/ocean).

    I'm guessing if run() defaults to an execution in Bourne shell (i.e. sh()) it may be missing some of the defaults I have set in the C-shell environment and hence is not finding all the libraries needed to get Spectre going.  For example when I try sh("./runSimulation") a complaint is returned stating that an error is encountered when trying to load shared libraries (no such error is reported by run() alone though).  No such problem occurs when I run csh("./runSimulation") probably because all the dependency locations are known.

    One last thing as I continue along with these customizations...

    ...is there a command I can run in OCEAN to tell me what my current spectre.envOpts or spectre.outputs settings are?  For example, something that will push out a list to the screen.  As I experiment with different settings I want to make sure that I am being as consistent as possible.

    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