• 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. Maestro: Use Simulation sweep variable in output equati...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 126
  • Views 19838
  • 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

Maestro: Use Simulation sweep variable in output equation

HoWei
HoWei over 5 years ago

Hi,

this question was asked often in the forum (in different ways), but I did not yet find a definitive answer for this:

I am using Assembler to perform simulations.

I am doing a DC sweep on variable "Vgs". The variable is swept by the DC simulation from 0 to 1.0 - not via the tests DesignVariable.

The test DesignDariable is set to "0.99".

Now I want to use the swept variable in output equations via VAR("vgs") - but this gives me a constant of 0.99, and not the expected swept values.

Why is that and how can I access the swept variable ?

Of course I can do the sweep using the DesignVariable "vgs 0:0.1:1", but this creates 11 simulations, that take much longer.

The actual circuit is complex and I want to save simulation time.

I am using IC6.1.7.1400.500.

Please let me know what the best way is to access the sweep variable values.

  • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 5 years ago

    I would guess that the xval function (with an arbitrary signal as argument) will do what you want.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • HoWei
    HoWei over 5 years ago in reply to Frank Wiedmann

    Well, the variable is not a signal, its a variable that is used as a parameter in a schematic instance.

    But I'll give it a try ...

    Can you tell, how you are doing sweeps in Maestro ?

    Are you always sweeping via DesignVariables instead of AnalysisVariables ?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 5 years ago in reply to HoWei

    The xval function gives you the x-axis value of the result, which I guess is what you want.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to Frank Wiedmann

    As Frank said, it doesn't matter what you are sweeping or how you are sweeping - the xval function gives you the x-axis versus itself for any waveform. So if you use xval(VS("/blah")) it will give the sweep variable for the DC sweep.

    Whether you use a Design Variable sweep or a sweep in an analysis (presumably that's what you mean by "AnalysisVariables", a term I've never heard before) rather depends on precisely what you want to do - so I don't think it's something that can be generically answered.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • HoWei
    HoWei over 5 years ago in reply to Andrew Beckett

    Guys - you once again made my day !

    Thats exactly what I was looking for !

    Thanks a lot  ;-)))

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 5 years ago in reply to HoWei

    Dear HoWei,

    Please allow me to add a comment/question and a possible suggestion....

    HoWei said:

    I am doing a DC sweep on variable "Vgs". The variable is swept by the DC simulation from 0 to 1.0 - not via the tests DesignVariable.

    The test DesignDariable is set to "0.99".

    Now I want to use the swept variable in output equations via VAR("vgs") - but this gives me a constant of 0.99, and not the expected swept values.

    Why is that and how can I access the swept variable ?

    By any chance, do you have the Design variable "vgs" in your test defined as a Global variable (i.e., checked as a Global variable)?  If so, have you tried removing the check mark adjacent "vgs". With it unchecked as a Global variable, it seems as if Maestro will look in the test editor for its current value. With it checked, as you noted in your observation, the value will be fixed at 0.99.

    Just a thought,

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • HoWei
    HoWei over 5 years ago in reply to ShawnLogan

    Hi Shawn, 

    nice idea - I tested it and what happens is:

    Once unchecked the Global "vgs" it enables the DesignVariable "vgs" and the behaviour isthe same as before - only 0.99 is available via VAR("/vgs") in the output

    On more question aside the problem: what does the checkbox next to the DesignVariable do ?

    If I check it or not, I do not see any difference.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to HoWei

    The checkbox for design variables only makes sense if you have the global variable enabled.

    If you have the global variable unchecked, then the local (design variable) value is always used (and the checkbox is unnecessary and has no effect)

    If you have the global variable checked, then normally the local (design variable) value is not used (there's a strikethrough through the design variable); if you check the design variable you can then enable the design variable value for that specific test whilst leaving the other tests to use the global variable.

    I wouldn't have expected Shawn's suggestion to help in this case because the sweep is being done inside the analysis, and so the design/global value (which is what VAR() retrieves) is not what you want.

    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