Comparing waveform outputs of a simulation run with the outputs of a “golden“ or any other “previous“ run is one of the regular tasks that analog designers perform while tuning their designs to meet the requirements. At times, it requires performing multiple iterations of several tasks, such as running simulations and comparing results, making changes in the comparison criteria, checking whether the expectations are meeting, and if they don’t, making further changes. Waveform comparisons are helpful in some more scenarios. For example, when moving a design from one PDK version to another, you can compare waveforms of signals to ensure that all simulations results are still identical.
You can now compare waveforms in Virtuoso ADE Assembler by using the waveform (wave) specifications, a feature that was introduced in IC6.1.7 ISR4 and ICADV12.3 ISR4.
Wave specifications for signals or expressions are defined just like other specifications we define for scalar outputs. Similarly, their validation can be done simply by checking the “pass” or “fail” status of outputs in the simulation results. So, let’s explore the key features of wave specifications.
Setup in the Outputs Setup Pane
We can set up a wave specification for an output by selecting wave from the drop-down list in the Speccolumn. This is the same place where we define the outputs – the most convenient place. Isn’t it?
Global and Local Comparison Settings
For comparison, we need a reference waveform and a to-be-compared waveform – we call this "compare". We also need to apply the tolerance settings that define the comparison accuracy.
For convenience, you can specify all of these in the global settings to be used by all the wave specifications in your cellview.
In the ADE Assembler window, choose Options - Wave Compare Settings to open the Global Waveform Compare Settings form.
In the example shown above, Interactive.17 is set as a reference history for all the waveforms to be compared. The tolerance settings are defined as 2% relative and 3m absolute tolerance. Once set, these are used as default for all the wave specifications. Now, you can define a wave spec for any signal output by a single click (that is, by choosing wave from the drop-down in the Speccolumn).
Note: To ensure that the reference waveforms for comparison are automatically identified, it is important to check that the reference simulation saved the same signals in the same hierarchy as done in the current simulation.
If you want to compare against a different reference signal or if you want to override the global comparison settings for any specific output, apply local settings selectively for those outputs. Click the edit button in the Spec column of the output for which you applied wave specification to open the Waveform Compare Setup form and configure the comparison settings for that output.
Note the Override Global Tolerance Settings check box in the example shown above.
Validating Results
When the simulations are run, the resulting waveforms are compared to the reference waveforms. If the difference is greater than the tolerance settings, the result status is set as “fail”.
For detailed analysis of failures, plot the waveforms in the Virtuoso Visualization and Analysis XL window and check the bookmarks.
To resolve the failures, you can either tweak the specification settings or make changes in the design as appropriate.
For more information about waveform specifications, see the Using Waveform Specifications in Assembler video on Cadence Online Support. We’re sure you will appreciate the ease and efficiency offered by this new type of specification. Click the video link now or visit Cadence Online Support and search for the video under Video Library.
Note: If you don’t have a Cadence Online Support account, you can play the above videos (mp4) natively in Cadence Help when you are using Virtuoso IC6.1.7/ ICADV12.3 (ISR9 or later). In the Cadence Help Virtuoso Documentation Library, look for video titles under Video Demos.
Related Resources
Virtuoso ADE Assembler User Guide
Note: For more information on Cadence products and services, visit www.cadence.com.
About Virtuoso Video Diary
Virtuoso Video Diary is an online journal that relays information about Virtuoso videos that are available in the Cadence Online Support Video Library. Hundreds of interesting videos on a wide variety of new and exciting Virtuoso features have already been created. Virtuoso Video Diary brings you direct links to these videos and other related material, on regular basis. Click Subscribe to visit the Subscription box at the top of the page in which you can submit your e-mail address to receive notifications about our latest Video Diary posts.
Namrata Malhotra