• 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 alter X-axis units to enable a WavevsWave plot?

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 127
  • Views 8887
  • 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

How to alter X-axis units to enable a WavevsWave plot?

unSkilled
unSkilled over 2 years ago

Virtuoso IC6.1.8-64b.500.27

mmsim 21.10.612

I have these two plots, which contain the same number of points. However, ViVA refuses to plot a WavevsWave as it complains the x-units are not the same (m vs. ms). Is there a way to force it to ignore this and enable the creation of the plot? Checking "allow any unit" helps plotting them in the same window, but not to generate Y-Y plot

I saved them in a file and used abTable() to create my desired waveform, but I wonder if there's a way to make it work directly in the assembler GUI.

  • Cancel
Parents
  • Andrew018
    Andrew018 over 2 years ago

    CONTENT REMOVED BY MODERATOR AS WAS NOT RELEVANT TO TOPIC.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • unSkilled
    unSkilled over 2 years ago in reply to Andrew018

    Hi Andrew,

    I'm not sure we're talking exactly about the same tool. Is VIVADO the same as ViVA?

    I have done the "allow any units" and as I said, it allows them to be plotted in the same window, but not to generate the Y-Y plot. Perhaps am I missing something there? abTable() will work, but for that I need to save the waveform data in a file and call it back. I would like to have the desired waveform made upon simulation finishing and be loaded in the assembler GUI. This is for the purpose of being able to keep using the corner filters defined in the simulation run.

    Finally, the plotDiff() isn't much help here. Also,  I'm not familiar with the syntax you presented above. What's the AC football cases ?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to unSkilled

    Dear unskilled,

    Mr. Andrew Beckett wrote a SKILL function that changes the units of the x component of a waveform to "sec". In your case, my thought is that the function ocnYvsYplot() or its ViVA equivalent relies in the x units being the same in order to create the new waveform consisting of the the two sets of y values.

    If I understand your example, your two x-axis units are "m" and "ms". Hence, I might suggest your use the function abSetXUnits() written by Mr. Beckett to convert the x units of your "pm" signal to seconds prior to invoking the ocnYvsYplot() function. His function may be found at the Forum post at URL:

    https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/23345/ocean-calculator-expressions-and-their-units/1313940#1313940

    If you are using the Calculator to create the expression, there are some instructions in the functions to register the function in the Calculator. Then, you can enter the expression:

    abSetXUnits(pm)

    to change the x-axis units of "pm" to sec.

    I think your resulting expression might look something like this:

    ocnYvsYplot(?wavex abSetXUnits(pm) ?wavey sampled_iload_stb ?titleList '("My Y vs Y plot") ? colorList '(y1))

    You can define this Calculator expression as an output and as long as you have enabled the plotting of signals following a simulation, I believe it will execute the plot.

    Shawn

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to unSkilled
    unSkilled said:
    Finally, the plotDiff() isn't much help here. Also,  I'm not familiar with the syntax you presented above. What's the AC football cases ?

    This was some nonsense post either copied and pasted from elsewhere or generated with something like ChatGPT, followed by a failed attempt to add a spam link. So you can ignore it. 

    Shawn's later suggestion to use my abSetXUnits is likely to help here.The act of allowing any units for plotting doesn't fix the units themselves - it just means that ViVA tolerates plotting them on the same graph; it doesn't affect calculator functions that need waveforms with consistent units.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to unSkilled
    unSkilled said:
    Finally, the plotDiff() isn't much help here. Also,  I'm not familiar with the syntax you presented above. What's the AC football cases ?

    This was some nonsense post either copied and pasted from elsewhere or generated with something like ChatGPT, followed by a failed attempt to add a spam link. So you can ignore it. 

    Shawn's later suggestion to use my abSetXUnits is likely to help here.The act of allowing any units for plotting doesn't fix the units themselves - it just means that ViVA tolerates plotting them on the same graph; it doesn't affect calculator functions that need waveforms with consistent units.

    Andrew

    • 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