• 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. preferred way to sweep temperature in ADEXL

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 21037
  • 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

preferred way to sweep temperature in ADEXL

danmc91
danmc91 over 9 years ago

What is the preferred way to sweep temperature in ADEXL?  One case I'm looking at is my basic test is a transient simulation and I want to repeat at many temperatures and plot a scalar value from each temperature point versus temperature.

I can put a temperature range into each process corner I've defined in the Corners.

I can put 'temperature' in the global variables.

But what if I have 2 tests.  One is to be run at a single temprature and the other at multiple temperatures?  If I use the corners approach, then I'd have to define corners with and without temperature variation and then I have no ideal how I could put a calcVal() into a design variable in the 2nd sim.  If I use the global approach, even with overriding for one test I still seem to get multiple runs.  By that I mean, suppose my temperature sweep was 10 points and I have 2 tests.  I expect 11 sims (one test at a single temp and 10 for the test which sweeps).  Instead I get 20.

Also I can't seem to control the order of tests being run which messes up calcVal() if a calibration sim tries to run after the sim that needs calibration.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Dan,

    I just did it this way, and it works OK:

    1. Add temperature as a global variable (just give it a single value)
    2. Do RMB->Backannotate To Test->All over this variable. This will add the variable "temperature" to all tests (normally you don't need to do this, but this is to allow me to disable the sweep for some of the tests).
    3. Enter your sweep for the global variable - e.g. "-40 27 125" or whatever you want.
    4. Then go to the variables in the test you don't want to be swept, and in the list of variables for that test, hit the checkbox next to "temperature". Now that test won't be swept (call this "test1").

    If I do this, and use the "Run Preview" tab, I can see I will get 4 simulations - and when I run the simulation, I get the 4 simulations run.

    Now, if I want to do the calcVal, let's assume my second test has a variable "vdd" which I want to be the result of "regSupply" output from the first (non-swept) test (this is a made up example). I'll set my global variable vdd to be calcVal("regSupply" "test1"). If vdd was a variable in the first test (test1) too, I need to check it in the local variables to stop it being calcVal("regSupply" "test1") for test1, otherwise there's a circular dependency (ADE XL will tell you).

    Having done this, everything works - no need to worry about simulation order, because ADE XL figures out the dependency graph and runs the simulations in the order to meet that dependency graph. The swept points of test2 all get the unswept results of test1.

    Regards,

    Andrew.

    • 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