• 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. Organizing schematics and simulations

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 13107
  • 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

Organizing schematics and simulations

CADcasualty
CADcasualty over 6 years ago

I'm trying to come up with a sensible way of organizing my schematic/simulation world and tried to do something obvious (to me) that ended up not working out very hygienically.First off, I'll start by saying I'm a scripts guy, not a GUI guy. I can comment scripts to explain and self-document what and why I'm doing something. If I just click on the run button of the GUI (for a simulation world somebody else set up) I've found a lot of dirty laundry swept under the rug that took a long time to get to the bottom of. I'm posting here in the hope that I can still effectively do what I set out with, but maybe in a different way based on somebody's advice. Here's what I tried:

From within the Library Manager I can navigate down to my test bench (e.g. my_amp_test). Inside that cell I can see (and manage) the schematic view for the test bench. I thought it would make sense to also keep the Ocean script(s) for that test bench there as well so I created a view called my_amp_gain_test to hold the corresponding Ocean script. I also had to anoint it with a type, so I chose the type "text" (the only choice from the available selections that made any sense). I could now use the Library Manager to select and edit the Ocean script (and ideally also manage it via SOS). Here's where things got a little sour. The view I created is actually a folder that contains the Ocean script itself, but it's disappointingly always named "text.txt" and I can't seem to get around that. It just grates me that all my scripts end up having the same vague name (albeit in different directories) and to have to enter a command to run the simulation like:

     load "some_path_header/my_amp_test/my_amp_gain_test/text.txt"


Is there a cleaner way to go about this in which I can still use the Library Manager, or do I just have to bite the bullet and split up my simulation and schematic worlds into different file hierarchies. I'm just really attracted to the idea of keeping everything together.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    You could register a new viewType and an application using deRegApp. You'd also want to register the new view type with the register (creating a file called data.reg and describing the pattern for the master file - maybe "ocean.ocn" or whatever). Then (with the data.reg part) the Design Management tool, and things like copy in the library manager would know how to deal with it, and with the deRegApp part you could have some sensible action when you double click on it in the library manager to run it (or edit it). Search in the articles and app notes on support.cadence.com for "deRegApp" to find some examples.

    Or if that's too complicated, maybe all you want to do is write a function like this:

    procedure(CCFrunOceanView(lib cell view "ttt")
      let((ddId)
        ddId=ddGetObj(lib cell view "*")
        if(ddId then
          load(ddId~>readPath)
        else
          error("Could not access %s/%s/%s\n" lib cell view)
        )
      )
    )

    Then you could just do:

    CCFrunOceanView("mylib" "my_amp_test" "my_amp_gain_test")

    Regards,

    Andrew.

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

    Woo hoo - I finally got an answer! :-). Thanks Andrew - I'll digest this in the morning and get back to you.

    • 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