• 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. Using an OCEAN script to select different simulation vi...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 13573
  • 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

Using an OCEAN script to select different simulation views

CADcasualty
CADcasualty over 6 years ago

I come from a background where pretty much all aspects of a simulation were controlled via scripts and not GUIs. Is there a way in OCEAN to define and manipulate the simulation views e.g. as the hierarchy is traversed use a Verilog-A model if found otherwise keep traversing until you find a primitive device model? You would also be able to accumulate a few such commands to define a default precedence followed by other commands targeting different hierarchical levels to explicitly define different precedences for those levels. For example, let the digital & timing blocks (and all of their hierarchy) be modeled in Verilog-A, let this analog block use a structural schematic view (made up of VCVS's etc.), and let the remaining analog signal chain blocks and all of their hierarchy be modeled as transistors (even though they may have existing Verilog-A models). You could quickly define and implement large scale changes to the simulation environment with just a couple commands. I find when I use GUIs that things can become obfuscated - in a script I can add comments and stuff to self-document the process and that kind of gets lost in the GUI world.

I hope the above made sense...

  • Cancel
Parents
  • CADcasualty
    CADcasualty over 6 years ago

    Hoping for a response...

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to CADcasualty

    A lot of this could potentially be done just with a view list - which in OCEAN could be done with:

    envOption(
    'switchViewList list("spectre" "veriloga" "cmos_sch" "cmos.sch" "schematic" )
    )

    That's fine if you want a global precedence order for the entire design. If you want something more selective - difference precedence in different parts of the hierarchy, it would probably be simplest to create a config view using the Hierarchy Editor. You can then specifically set the view to use on various blocks, or set an inherited view list for certain blocks so that (say) in the digital hierarchy the view order to use is different from the other parts of the hierarchy. Having created the config you can use it as the design() in the OCEAN script.

    Of course, you could script creation of such a config view using the hdb functions.

    It wasn't clear whether you knew about switch view lists or configs so apologies if this is telling you something you already knew.

    BTW, if you want a definitive response, it's best to go to customer support. These forums are for the community and so we all respond in our spare time (including folks from Cadence that respond here).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to CADcasualty

    A lot of this could potentially be done just with a view list - which in OCEAN could be done with:

    envOption(
    'switchViewList list("spectre" "veriloga" "cmos_sch" "cmos.sch" "schematic" )
    )

    That's fine if you want a global precedence order for the entire design. If you want something more selective - difference precedence in different parts of the hierarchy, it would probably be simplest to create a config view using the Hierarchy Editor. You can then specifically set the view to use on various blocks, or set an inherited view list for certain blocks so that (say) in the digital hierarchy the view order to use is different from the other parts of the hierarchy. Having created the config you can use it as the design() in the OCEAN script.

    Of course, you could script creation of such a config view using the hdb functions.

    It wasn't clear whether you knew about switch view lists or configs so apologies if this is telling you something you already knew.

    BTW, if you want a definitive response, it's best to go to customer support. These forums are for the community and so we all respond in our spare time (including folks from Cadence that respond here).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • CADcasualty
    CADcasualty over 6 years ago in reply to Andrew Beckett

    Thanks again Andrew. I'm looking into all of your suggestions and making progress. Don't worry about wondering if I know something or not - you probably won't go wrong assuming I know very little :-).

    • 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