• 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. Cadence SKILL/Ocean loading and saving dc operating point...

Stats

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

Cadence SKILL/Ocean loading and saving dc operating point in dc sweep simulation

MatthewT
MatthewT over 10 years ago

Hi,

I looked into web and cadence manuals, but I cannot find the answer to my question. I think I saw it some time ago on our forum here, but I cannot find it right now.

I'm running dc simulation:

analysis('dc ?dev "/voltage_dc_source"  ?param "dc"  ?start "value_low" ?stop "value_high"  ?step "1m" )
envOption(
          'analysisOrder  list("dc")
); envOption
run()


I would like to have faster convergence. I found following commands:
- write
- writefinal
- readns

I can run .tran simulation with "?writefinal" attribute pointing to the file where .op of the circuit will be saved and then load it for dc simulation:

analysis('tran ?stop "500n" ?writefinal "tran.fc")
envOption(
    'analysisOrder  list("tran")
); envOption
run()

(...)

analysis('dc ?dev "/voltage_dc_source"  ?param "dc"  ?start "value_low" ?stop "value_high"  ?step "1m" ?readns "tran.fc" )
envOption(
    'analysisOrder  list("dc")
); envOption
run()    


however in such a case, every dc simulation uses the same input tran.fc file. The question is, is it possible to:
1. run 1st dc sweep
2. save calculated dc operating point
3. start 2nd sweep
4. load dc operating point from the 1st sweep
5. run 2nd sweep
6. save dc operating point of 2nd sweep
7. and so on ...

?

  • Cancel
Parents
  • skillUser
    skillUser over 10 years ago

    Hi,

    It looks as though you want to run a certain number of DC operating point analyses (I'm not sure if this is fixed or could be variable) but you might want to run your steps in a loop (for, foreach, while) something like the following:

    ;; initial DC op run first, before this loop
    for(i 1 3
      analysis('tran ?stop "500n" ?writefinal sprintf(nil "tran%d.fc" i))
      envOption('analysisOrder  list("tran")); envOption
      run()
    
      (...)
    
      analysis('dc ?dev "/voltage_dc_source"  ?param "dc"  ?start "value_low" ?stop "value_high"  ?step "1m"
        ?readns sprintf(nil "tran%d.fc" i))
      envOption('analysisOrder  list("dc")); envOption
      run()
    ); end of for loop
    

    The file name is generated depending on which iteration you are on.

    Hopefully this is helpful to you.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • skillUser
    skillUser over 10 years ago

    Hi,

    It looks as though you want to run a certain number of DC operating point analyses (I'm not sure if this is fixed or could be variable) but you might want to run your steps in a loop (for, foreach, while) something like the following:

    ;; initial DC op run first, before this loop
    for(i 1 3
      analysis('tran ?stop "500n" ?writefinal sprintf(nil "tran%d.fc" i))
      envOption('analysisOrder  list("tran")); envOption
      run()
    
      (...)
    
      analysis('dc ?dev "/voltage_dc_source"  ?param "dc"  ?start "value_low" ?stop "value_high"  ?step "1m"
        ?readns sprintf(nil "tran%d.fc" i))
      envOption('analysisOrder  list("dc")); envOption
      run()
    ); end of for loop
    

    The file name is generated depending on which iteration you are on.

    Hopefully this is helpful to you.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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