• 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. How to force/specify which variable Assembler uses as "x...

Stats

  • Replies 2
  • Subscribers 134
  • Views 120
  • Members are here 0

How to force/specify which variable Assembler uses as "x-axis variable" for plotting?

AC202503109020
AC202503109020 3 days ago

Hello! I cannot figure out how to force/specify which variable Assembler uses as "x-axis variable" for plotting, when using corners for doing sweeps.

I have prepared the following "toy example" that describes well the problem. I have a maestro view which a single test that does a single-point DC simulation of an NMOS, and calculates the gm from the opPoint results. The gate, drain and bulk voltages of the NMOS are defined by the variables VG, VD and VB, respectively.

I also have 3 corners in my view:

  • "CornerA__fixed_VD" = a "single-point" corner with an explicit value for the VD variable (<---this models a single-point corner used in my real-life application for some sort of calibration condition)
  • "CornerB__sweep_VG" = a sweep of the variable vG (<--- this models an actual sweep of a parameter, as I would normally be interested in doing)
  • "CornerC__sweep_VG_at_explicit_VB" = a sweep of the variable vG too, but this time also with an explicit value for variable VB.

Here are 2 cases, with and without the problem:

  • Case #1: If I run corners A and B together, and use the "Plot all" option from the results, Assembler uses "VG" as the independent variable for plotting, and I get a nice trace for the results of the sweep. 
  • Case #2: However, if I run corners A and C together, and plot as before, Assembler uses "VG" as the independent variable for plotting, and as a result I get a nonsensical plot with the results of the sweep scattered across several traces.

So, how can I force Assembler to plot w.r.t. the "swept" variable "VG" in Case #2, just as it does for Case #1?

Thanks, Adam.

Note1: Please note this is a toy example: I know there are other ways to do sweeps, but the one I describe here is representative of the actual situation I encounter in my real scenario.
Note2: I know about the "Swap Sweep Var" in VIVA, but unfortunately this doesn't solve my problem, as I would need to manually do this each time, which is not practical in my real scenario (Plotting Templates doesn't help either, they seem unable to work with traces created through the "Swap Sweep Var" method).

 

  • Cancel
  • Sign in to reply
Parents
  • Kevin T Buck
    Kevin T Buck 3 days ago

    Swap sweep is not just a VIVA function it is also a calculator/SKILL function so you can enter an expression using swapSweep()

    support.cadence.com/.../techpubDocViewerPage

    support.cadence.com/.../techpubDocViewerPage

    You can also use the 'Send to calculator' option after you generate a waveform from one of the VIVA options to automatically generate the expression you want.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Kevin T Buck
    Kevin T Buck 3 days ago

    Swap sweep is not just a VIVA function it is also a calculator/SKILL function so you can enter an expression using swapSweep()

    support.cadence.com/.../techpubDocViewerPage

    support.cadence.com/.../techpubDocViewerPage

    You can also use the 'Send to calculator' option after you generate a waveform from one of the VIVA options to automatically generate the expression you want.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information