• 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. Command for re-creating netlist

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 124
  • Views 18678
  • 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

Command for re-creating netlist

itos
itos over 10 years ago

Hi,


I am using Virtuoso, ADE L and and AMS together with the Simulink coupler. The coupler runs on a different computer and I execute the following command remotely to start the simulations (taken from the Simulink coupler tutorial):

echo "Matlab Current directory path is:"
pwd
setenv RUN_DIR /home/me/test/simulation/top/ams/config/netlist
cd $RUN_DIR
echo "irun will start, from this directory:"
pwd
echo "We launch runSimulation"
./runSimulation

However, it seems that this does not re-generate the netlist. Even worse, it does not throw an error (as ADE L does) when I change something but did not hit "Save & Check" or did not re-create the netlist.

What is the command to add before to recreate the netlist?

Also, based on which parameters would that happen? All settings (like design variables etc.) are stored in a certain cellview state.

Thanks!

itos

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Itos,

    Since runSimulation is running a netlist that has already been generated, and has no reference to the schematic database, it's hardly surprising that it doesn't re-netlist or error out if something wasn't checked or saved.

    Rather than doing it this way, you could generate an OCEAN script from ADE and then do "ocean -restore theOceanScript.ocn" to run it from a batch command. You may need to add a call to exit() at the end of the script to prevent it from giving you an interactive prompt after the simulation has run.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 10 years ago

    Hi Andrew,Thanks! This seems to go to the right direction. May I add some more questions related?

    Although ocean does not seem to show any X windows (when I start it with an X window running) and everything is output in command line I get the following error when I run ocean:

    $ ocean -restore oceanScript.ocn
    *WARNING* file /home/my/CDS.log File is already locked by some other proce

    ss.
    *WARNING* X Window Display Initialization failure
    *WARNING* (DISPLAY "localhost:11.0")

    which makes it a bit impractical for calling it remotely. Is there a way to disable X11 or so?

    Also, I created the script from ADE via Session -> Save Ocean Script.

    Do I understand correctly that I (only) would need to redo this if I change settings within the ADE window (like Analyses, Design Variables etc)? But when I change the schematics, including CDF parameters etc (and use "Check and Save") it will be accounted for? I see the script contains ocnAmsSetOSSNetlister() and run() would build the netlist and then start the simulator?

    Thanks again!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 10 years ago

    Oh I just saw I could fix my first question with google :) I need to use

    ocean -nograph -restore oceanScript.ocn

    Also, to prevent editing "oceanScript.ocn" itself (because you need to redo "Session -> Save Ocean Script") whenever you change design variables etc. I create a start script launch_runSim.ocn which just contains

    load( "oceanScript.ocn" )
    exit()

    and use

    ocean -nograph -restore launch_runSim.ocn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    If you run "ocean -restore script.ocn -nograph" then there's no graphical aspect to this (the X events get sent to a null X display, so it can be run completely batch).

    The run() command is equivalent to Netlist and Run in ADE, so yes, it will renetlist the design if needed. There is an explicit OCEAN function, createNetlist() which can be used if needed (or more likely createNetlist(?display nil ?recreate t) - please check the arguments in the documentation because I'm typing this without access to the documentation. However, you really shouldn't need to use these functions, since run() should do an incremental netlist as needed.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 10 years ago

    Hi Andrew,


    I am afraid I am still facing some problems here: It seems that the netlist is not (always?) recreated with the ocean script scenario.


    Here is what I did:
    In the Library Manager, I double-clicked my schematic and removed some caps. I hit "Check and Save". Independently from that I double-clicked the saved state to open the ADE L window.

    Now, when I run the ocean script it still used my old netlist, no matter how often I would hit" Check and Save".

    Only after I used "Simulation > Netlist > Create" from within an ADE L window, the simulation produced the correct result.

    Any idea what could be the issue here?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 10 years ago

    Dear itos,

    > Now, when I run the ocean script it still used my old netlist, no matter how often I would hit" Check and Save".

    Have you tried the solution recommended in Solution ID 1839795? A sample set of ocean commands is provided that define a means to create a netlist from the command line. From my understanding of your issue, it appears to do what you want - i.e., force the netlist to be re-created. I apologize  if you have seen this already!

    Shawn

    http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=1839795

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Apologies - my mistake. I forgot to mention that you need to change the design() call in the saved OCEAN script. This gets saved as design("/path/to/netlist") but you have to change it to the design("libName" "cellName" "viewName") form instead, in which case it will then netlist for you. Note that if using IC5141 you would then need to use "icfb -nograph" rather than "ocean -nograph" because the ocean executable didn't have netlisting support (that's no longer the case from IC610 onwards though).

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 10 years ago

    Thanks to both of you, great!

    Regarding the design() solution. For some reason, when I use

    design( "top" "top" "ams_tran_simulink" )

    I get

    *WARNING* (DB-270211): dbOpenCellViewByType: Failed to create cellview (top ams_tran_simulink) from lib (top) in 'a' mode because cellview does not exist, or cellview type is not recognized by dbOpenCellViewByType.
    *WARNING* (DB-270211): dbOpenCellViewByType: Failed to open cellview (top ams_tran_simulink) from lib (top) in 'r' mode because cellview does not exist, or cellview type is not recognized by dbOpenCellViewByType.

    I tried everything like opening/closing, locking/unlocking, different parameters and also dbOpenCellViewByType("top" "top" "ams_tran_simulink") in the CIW fails with the same error. I tried all possible parameters I could imagine but no luck. Clearly, library, cell and view exist and match exactly as shown in the library manager. E.g.:

    $ ls top/top/ams_tran_simulink/
    ADE_state.info  connectModules.state  disciplineSelect.state    globalSignals.state  master.tag            modelSetup.state  outputs.stateScripts  runOptInfo.state       simulatorOptions.state  turboOptions.state  waveformSetup_ws.state
    analyses.state  convergence.state     environmentOptions.state  libraryFiles.state   matlabSimulink.state  outputs.state     paramSetup.state      simulationFiles.state  solverInfo.state        variables.state

    Do you have by any chance an idea what could be going wrong?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tom Volden
    Tom Volden over 10 years ago

    The lib/cell/view in the design() command should point to your top level design schematic/config.  It looks like you have incorrectly set it to the ADE state cellview.

    Regards,

    TOM

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 10 years ago
    Thank you!! Indeed, If I use the "config" view indeed it works. (I hope correctly ...)
    • 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