• 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 Design
  3. Ocean script method to modify spectre netlist

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 124
  • Views 14751
  • 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

Ocean script method to modify spectre netlist

markbeck
markbeck over 15 years ago

I was trying to figure out how I can modify the netlist that is simulated in ocean.  I would like to have the ability to arbitrarily add instances (of any type) into the netlist that is simulated with the run() command.

I finally figured out that if you have skill statements in your ocean script to that create a file with your new instances that you wish to add. 

You can add them into your schematic with:

stimulusFile( "Name of new File" ?xlate nil) 

Mark

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    Mark,

    I guess this is the same as your question from a couple of days ago, http://www.cadence.com/Community/forums/p/13534/21259.aspx#21259 ?

    I'd been meaning to answer that properly but the day job has been getting in the way this week, so it was still on my pending pile, assuming nobody else had answered it in the meantime.

    The simplest is to either use a modelFile or stimulusFile to add the components. There's no particular need to put them at the bottom of the file, I think. Stimulus files have the benefit that you can refer to a schematic net name by putting [#/netName] and it will get translated to whatever that schematic net name got mapped too - less critical these days when things are fairly predictable. Otherwise you could create a file and include it with modelFiles.

    This could have analysis statements in too, and alters and altergroups. I think if you are using alter/altergroup, you'll probably want to specify the analyses as well in the included file rather than via the OCEAN analysis() function, because the order of the analyses and alters relative to each other _is_ important (I was going to check this out, but haven't had time, so this is based on what I expect to work).

    Potentially SKILL could be written to add to the very bottom of the input.scs (not the "netlist" as you've found), but I only think it's worth the bother if the above approach doesn't work.

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • markbeck
    markbeck over 15 years ago

     Ya, I figured out what the magic was to gettting the stimulusFile() to work

    1) include a simulator lang=spectre at the beginning of the included file

    2) include a ?xlate nil in the command.

    e.g.

    I have a file foo.txt which contains:

    simulator lang=spectre
    alt0 alter dev=S0 param=tran_position value=2

    then in the ocean I have to use:
    stimulusFile("foo.txt" ?xlate nil)

     This includes the file as written and doesn't modify it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    You don't need to put the "simulator lang=spectre" in the file if you give the filename a ".scs" suffix - that will ensure it is interpreted as spectre syntax.

    And I assume it should have said "param=" not "pram="!

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • markbeck
    markbeck over 15 years ago

    Interesting, I didn't know about the .scs suffix. 

    thanks for catching the typo, I corrected it.

    Mark

    • 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