Get email delivery of the Cadence blog featured here
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 *** 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:
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.
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).
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