Home > Community > Blogs > Custom IC Design > things you didn t know about virtuoso viva part 4 and final
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more conveniennt.

Register | Membership benefits
Get email delivery of the Custom IC Design blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

Things You Didn't Know About Virtuoso: ViVA (Part 4 of 4)

Comments(2)Filed under: Custom IC Design, Virtuoso, Virtuoso IC 6.1.3, ViVa-XL, Virtuoso Analog Design Environment, IC 6.1

Today, we're going to take on the somewhat daunting topic of the ViVA Calculator. But first, as usual, a digression.  This time a trip down memory lane, or for most of you, more likely a history lesson...

Back in the days just after man discovered fire, my teacher brought something to class that looked like this.  What an amazing thing!  You could hold it in the palm of your hand and do math problems on it.  Too bad I couldn't afford the $295(!) it would cost to buy one.  I found a quote from the original manual: "Our object in developing the HP-35 was to give you a high precision portable electronic slide rule. We thought you'd like to have something only fictional heroes like James Bond, Walter Mitty or Dick Tracy are supposed to own".  (Funny, I don't recall James Bond doing logarithms all that often...)

Another exotic feature of HP calculators, as most people came to know, was something called RPN, or Reverse Polish Notation, something HP referred to as "the most efficient way known to computer science for evaluating mathematical expressions".  For years it drew a dividing line between HP users and, for example, me.

I never learned to speak Reverse Polish, so when I opened the ViVA Calculator and saw the dreaded "Stack", I quickly averted my eyes and said, "In the interest of time, let's move on to the next part of the demo...".

But despair not, for I have braved the wilds of the ViVA Calculator and found that, armed with a few easy tips, anyone learn how to use it like a pro. 


First, let's talk a bit about how to get data into the Calculator.  After all this calculator is for operating on waveforms, not just crunching numbers, so first we need to get the waveforms in there.  There are several ways to do this:

  • Push from RB (Results Browser): Select a signal name (only one), RMB->Calculator
  • Pull from RB: Select the Wave button in the Calculator, then click on signal name in RB (use Family button to grab parametric sweep data)
  • Push from Graph: Select a trace (only one), Calculator icon
  • Pull from Graph: Select the Wave button in the Calculator, then click on the trace in the graph window (use Family button to grab parametric sweep data)
  • Pull from Schematic (ADE mode): Select appropriate signal type on the Schematic Selection toolbar in the Calculator (vt, idc, etc), then click on the net or terminal in the schematic.  This is probably the most common way of using the Calculator and certainly the most intuitive.

Repeated pushing/pulling of signals into the Calculator will cause previously selected signals to be--you guessed it--pushed onto the stack. So now that you've got all your signals of interest in the Calculator, it's time to take a look at how to work with the buffer and the stack.

Buffer & Stack

First, make sure you can see the stack (View->Show Stack).  Now take a second and hover your mouse over all the icons on the toolbars just above and to the left of the stack area.  These icons are your best friends in working with the buffer and the stack.  My personal favorite is the "Undo" button.  No pressure.  If you make a mistake, just click "undo'. 

Another useful button is the one on the left labeled "Pick selected item and put into buffer".  No popping it to the top of the stack, just "put this thing up there now".  Use those 2 buttons and the occasional Push (green arrow) and Pop and there's no expression you can't build.


The simplest and most powerful feature of the Calculator is the wide selection of built-in functions available for operating on your waveforms.  Setting the cyclic pulldown on the function panel at the bottom of the Calculator to All will display a long list of over a hundred functions for your use.  Just click on the one you need and it will either be immediately applied to the contents of the calculator buffer, or it will display a small form so you can fill in the appropriate arguments for the function.

You probably will only use a handful of these functions on a regular basis, so why not RMB on the ones you use most often and select Favorites to add it to your Favorites list.  Now you can use the cyclic pulldown to display only that reduced list of functions so you don't have to hunt around every time you use them.


There are plenty of times when you'll end up with expressions that a extremely long, wrapping through several lines in the buffer.  Not only can this be pretty unwieldy to work with, but since you went to a lot of work to create those calculations, you'd love to be able to reuse them later.  That's what you can do with Memories.  Simply click on the "M+" button just under the buffer to store whatever is in the buffer as a memory expression.  Use the "ME" icon or select "Memories" in the cyclic pulldown above the Functions area to display all your saved memory expressions. 

The memory expressions can be saved to a file, where it might be easier to edit them.  They can also be read back in from a saved file and sent back to the buffer.



Stacy Whiteman


By ugg on October 13, 2010
dful of these functions on a regular basis, so why not RMB on the ones you use most often and select Favorites to add it to your Favorites list.  Now you can use the cyclic pulldown to display only that reduced list of functions

By Sutirtha Kabir on July 18, 2011
In IC615 and newer versions, if you select multiple signals from the graph or the browser and then click on the Calculator icon, all of these will go to the calculator (this is an enhancement to the push use model). The last signal will stay in the calculator buffer and the others will line up on the stack. This avoids selecting each signal one at a time.
In IC615, there is now a toolbar which displays the Favorites functions. So, it is now even easier to find your most commonly used functions.
Also, since IC 614, the Expression Editor has been introduced, which has all (and more) features than the Memory Editor. The Memory Editor will taken out in IC616. The Expression Editor supports dependent expressions.
IN IC 614, we also introduced the AWD favorite keys app, plot, and erplot. See if you can find these (hint: these are on a toolbar).

Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
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.