• 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. per-test config variables in ADE XL

Stats

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

per-test config variables in ADE XL

jeremyh
jeremyh over 6 years ago

I have two different blocks whose active view I need to vary in different ways and I'm hoping to find some guidance in the best way to do it. The first is an opamp in the circuit being tested.  I want to compare the performance of two variations on the schematic, say schematic and schem2.  I am using a config sweep variable to do this and it works well.

There is also a stimulus component in the test bench that has a voltage source and some passive elements.  I want to be able to set that as a sin wave for some test and a pulse for others.  I also want to vary the passive network involved (e.g. AC-coupled in one test and DC-coupled in another).  My stimulus cell has several schematic views (sch_sin, sch_step, etc.).  I had accomplished this by editing the switch view list in each test.

So I can imagine a couple of options, in decreasing order of preference.

1) Set a config variable for both and sweep it as a global variable for the opamp and specify the stimulus view locally to each test.  This is what I would like to do, since it seems cleanest and least error-prone, but I do not see a way to add config variables to an individual test.  Is there any way to do this?

2) Set a global config variable for the opamp and edit the switch view list for all of the tests.  This is basically what I described above, except that it doesn't work.  The switch view list seems to disappear from the environment dialog when I create a config variable. It's also a little more cumbersome than (1), but it would work fine.

3) Delete the config sweep variable and control both cells through the switch view list.  This is awkward because I would need to remember to edit each test if I want to change the opamp from schematic to schem2.  It also seems error-prone, because the view name intended for the opamp also affects how other cells are netlisted.

Is there a way to do 1 or 2?  Is there an option I'm not seeing? 

Thanks for your help,

Jeremy

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    Hi Jeremy,

    Some answers:

    1. Config sweeps can only be set up on global variables (even in ADE Assembler), and so this can't be done - you can't change the value locally (as far as I know).
    2. The reason for this is because when you use a config sweep you have to be using a config view rather than controlling the views with a switch view list. It's the act of using a config view that prevents the switch view list - because the view switching is controlled by the config and it would be competing with the switch view list otherwise. So this can't be done either.
    3. One possibility is to parameterise the switch view list - put in (say) VAR("PRIORITY") in the switch view list and then you can set the variable PRIORITY to the view you wish to pick (you may need to have different variables for the two tests). You have to set the value of the variable PRIORITY to "schematic" or "schem2" or whatever (with quotes) - but this should work. Of course, you can't use a config view if you use this approach. This way you don't need to edit each test to change the view used.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    Hi Jeremy,

    Some answers:

    1. Config sweeps can only be set up on global variables (even in ADE Assembler), and so this can't be done - you can't change the value locally (as far as I know).
    2. The reason for this is because when you use a config sweep you have to be using a config view rather than controlling the views with a switch view list. It's the act of using a config view that prevents the switch view list - because the view switching is controlled by the config and it would be competing with the switch view list otherwise. So this can't be done either.
    3. One possibility is to parameterise the switch view list - put in (say) VAR("PRIORITY") in the switch view list and then you can set the variable PRIORITY to the view you wish to pick (you may need to have different variables for the two tests). You have to set the value of the variable PRIORITY to "schematic" or "schem2" or whatever (with quotes) - but this should work. Of course, you can't use a config view if you use this approach. This way you don't need to edit each test to change the view used.

    Regards,

    Andrew.

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

    Thanks Andrew!  I can confirm that it works to use two variables for the view in the switch view list and to use one as a global and one as a test-local variable.  It makes sense that you can't have a config sweep and a switch view list.  I still think a test-local config variable would be cleaner, but this accomplishes what I need.

    Thanks,
    Jeremy

    • 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