• 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 - input.scs copy

Stats

  • Locked Locked
  • Replies 14
  • Subscribers 126
  • Views 5774
  • 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 - input.scs copy

jugemu1234
jugemu1234 over 15 years ago

Hi there,

 What I do not like about ocean scripting simulation is that no netlist nor model info would be stored in psf/ folder. netlist/ folder where those info are housed will be automatically overwritten by new simulation. So it is as default impossible to look back old netlist or model environment as far as I know. 

 Therefore I think it would be pretty better to have copy procedure of netlist/input.scs prior to running next simulation. But unfortunately I do not know how to just copy certain file to designated location in ocean script. 

Could you suggest me to do this?

Best regards,

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    In IC613 you have OCEAN XL which can do this - it uses ADE XL's history mechanism, so you can see the setup from previous runs, including the netlists.

    I think in standard OCEAN scripts (in IC5141 or IC613) you can probably do this:

    envSetVal("asimenv.misc" "numberOfSavedRuns" 'int 5)

    which will auto-save the simulation results (and netlists) for the last five runs. It does this in ADE, and I believe it would also affect OCEAN (although I have not tried it - bit busy today).

    Regards,

    Andrew. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • aplumb
    aplumb over 15 years ago
    Another options is to use the 'Distributed' simulation infrastructure. Then you can explicitly assign job names to each iteration, plus you can enable suffixing (with a number) so previous runs for the same job name don't get clobbered.

    Andrew.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jugemu1234
    jugemu1234 over 15 years ago

     Hi

     Unfortunately mine is still IC5 series. I tried  envSetVal("asimenv.misc" "numberOfSavedRuns" 'int 5) option in my script and it surely copied 5 previous psf folder but not netlist nor input.scs.

    Is there any other way to copy netlist every single simulation?

     Thanks,

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jugemu1234
    jugemu1234 over 15 years ago

     Hi aplumb,

     Thanks for your info. 

    Quite unfortunate but error message came up as followed when I tried via GUI ADE.

    ------------------------------

    LBS_CLUSTER_MASTER is not set. Checking DP for LSF setup....

    ERROR (209): The DP environment variables are not set.
    To use the LBS mode, set LBS_CLUSTER_MASTER to the name of the cluster
    master host. To use the LSF mode, set LBS_BASE_SYSTEM to LBS_LSF 

    ------------------------------

    It sounds I need to talk with admin guy but is there any other way to avoid such a painful time?

    Thanks,

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

    Really? I just tried this in IC5141:

    envSetVal("asimenv.misc" "numberOfSavedRuns" 'int 5)
    simulator( 'spectre )
    design(  "./simulation/ampTest/spectre/schematic/netlist/netlist")
    path( "./Models" )
    modelFile(
        '("myModels.scs" "")
    )
    analysis('ac ?start "100"  ?stop "150M"  ?dec "20"  )
    analysis('tran ?stop "3u"  )
    analysis('sens ?analyses_list list("dcOp")  ?net list("/out")  )
    analysis('dc ?saveOppoint t  )
    desVar(   "CAP" .8p     )
    temp( 27 )
    run()
    selectResult( 'tran )
    plot(getData("/vin") getData("/out") )
    selectResult( 'ac )
    plot(getData("/vin") getData("/out") )
    

    And after the simulation, I got a "1" directory, which as you can see has the input.scs in it

    andrewb_31> ls -lG {1,schematic}/netlist/input.scs
    -rw-r--r-- 1 andrewb 2280 Sep 23 11:08 1/netlist/input.scs
    -rw-r--r-- 1 andrewb 2280 Sep 23 11:08 schematic/netlist/input.scs

    So it appears to work for me!

    As for the distributed processing option, well, you need to set up distributed processing. It won't work without any setup - I suggest you read the manual on this! <ICinstDir>/doc/distproc/distproc.pdf

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • aplumb
    aplumb over 15 years ago
    Quick'n'dirty approach:

    #!/bin/csh
    echo `hostname`"_queue 1" > ./queueConfig.`hostname`
    echo `hostname`" 2" >> ./queueConfig.`hostname`
    $CDSHOME/tools/bin/cdsqmgr ./queueConfig.`hostname`
    echo "LBS Queue Master is `hostname`:"
    echo " setenv LBS_CLUSTER_MASTER `hostname`"

    Copy, paste and enter the "setenv LBS_CLUSTER_MASTER `hostname`" into your terminal, then launch your icfb session.

    Bring up ADE and confirm that `hostname`_queue shows up in the Job Monitor. Since most people run on multi-core machines, I set the number of jobs that can be launched to '2' in the above shell script; adjust as you see fit.

    Andrew.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jugemu1234
    jugemu1234 over 15 years ago

    Hi Andrew, 

    Yes there is numbered folder as you mentioned, but no "netlist" folder in it apparantly as you can see here.

    tklin13..> pwd
    /MydfII/simulation/sim_osc2_gmbias/spectre/schematic/org/32
    tklin13..> lt
    total 7
    drwxrwsr-x    3 aaaaaaaa eng  512 Sep 23 23:55 ./
    drwxrwsr-x    2 aaaaaaaa eng  512 Sep 24 00:06 psf/
    drwxrwsr-x  137 aaaaaaaa eng 5120 Sep 24 00:06 ../

    I think I am close to complete but something ( or some environmental setting) is missing.  

    Thanks very much.

     

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

    I wonder if this is because your directory hierarchy has the extra "org" directory in it? Normally the directory structure would be:

    /MydfII/simulation/sim_osc2_gmbias/spectre/schematic - containing netlist and psf dirs

    and then the new numbered dir would be:

    /MydfII/simulation/sim_osc2_gmbias/spectre/32 - containing netlist and psf dirs

    i.e. it copies the "view" directory.

    It may be that the non-ADE-like directory structure is confusing things?

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jugemu1234
    jugemu1234 over 15 years ago

     Hi Andrew,

     It seems not.

    I also tried without "org" but no luck. Similarly only psf folder was generated. I have no clue with this.

    Thanks,

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

     I'm not explicitly answering your question, but if you were willing to run your simulation entirely within Ocean, you can send the simulation results wherever you like with:

      design("LibName" "CellName" "viewname" "r")
      netlist_dir =strcat(envGetVal("asimenv.startup" "projectDir") "/" "CellName" "/spectre/" "ViewName" "/netlist")
      res_dir = strcat(envGetVal("asimenv.startup" "projectDir") "/" "CellName" "/spectre/" "ViewName")
      netlistDir(netlist_dir) 
      resultsDir(res_dir) ; set the results directory for the run


    With this method, you can have a different results directory for each simulation type.  You're still stuck with having to explicitly save/move your results if you want to save them from run to run, but you don't have all of your simulations going into one directory.

     

    • 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