amsDmv (Analog Mixed Signal Design and Model Validation) is an application integrated in the Cadence Virtuoso GUI flow and it can also be invoked from command line with some feature limitations. amsDmv can be used to compare the simulation restults and design interface (pins) from the DUT with those from the reference design. Therefore users can use amsDmv to validate behavioral models with original transistor level models, and to make sure the new model behavior matches the original design. The following problems can be resolved by using amsDmv:
- Behavioral models are created and initially
validated by the designer against the original transistor level design
- The design and the model continues to evolve and
change
- Designers don’t have time to continually
validate models
- Issues such as pin list mismatches or behavioral
variations can occur
- Using the original (out of sync) model could
result in errors or worse, incorrect model behavior hiding design flaws
- Continual model validation is mandatory during
the design creation and model validation process, but this can take time and
expertise
amsDmv is mainly targeted at analog/mixed-signal
models. To solve the problems described above, the tool must meet some basic
requirements. Such as:
1) The validation process must be easy to set up. It should require a minimal threshold for designers to use it, reuse existing testbenches and simulation setups, and be accessible from known working environments such as Virtuoso.
2) The validation process must be fully automated.
amsDmv meets the above requirements and therefore is useful to designers in validation process. amsDmv is not a replacement for accurate modeling
or a detailed manual model validation process. It complements the modeling and
model validation process by adding a sanity check in regression mode.
This sanity check will notify the user if there are potential problems with the
model (or the reference).
This integrated model
validation solution supports:
- Validation of analog and digital waveform
signals saved from simulations
- Validation of measured values: Gain, power,
delay, noise, etc.
- Validation of pin/module interfaces of the
design and model
It supports a GUI based setup and an exported
command line regression run to fulfil these requirements. The run output provides
straightforward pass/fail output, reports, and extended debugging capabilities
(waveform zoom, etc.).
Manual waveform comparison/debugging in the
analog domain often leads to complex and incomplete answers. While this
provides useful information for a discussion, it is not useful for a regression
based methodology. Therefore, amsDmv provides a very clear pass or fail answer within
the validation process. If in doubt, it might be useful to use conservative
settings – resulting in tighter tolerances. This will give the analog designer
the opportunity to double check questionable validation results.
The amsDmv tool flow looks like the following:

It is the user’s
responsibility to provide the design, the model, a testbench and a simulation
setup – such as an ADE state. In most cases this information should already be
available.
amsDmv will perform the
simulation for the reference and compare setup. This results in two sets of
waveforms and measured results data. All of this data will be processed in the
validation engine using user defined tolerances. The final result is a
pass/fail output and additional data for debugging, such as reports and log files.
The interface check is not
based on simulation data but works directly on the provided design (DUT) and model
data.
As you might have noticed,
the validation process for waveforms and measured results is independent of the
simulation and the input data. This enables amsDmv to operate completely
independent of the modeling language being used. You can use Verilog-AMS, VHDL
AMS, SystemC, or any other language in addition to wreal models. It also
provides you the flexibility to not only carry out design versus model (bottom-up)
checking but also model vs. design (top-down), model versus model, design
versus design, simulator version A versus simulator version B checking.
amsDmv provides an easy to use model validation environment with a
GUI based setup and a command line script export for regression run. The output
is straightforward pass/fail information. In addition a lot of detailed
information is provided in the GUI and in the report files on the command line
to help the user debug potential problems.
The validations include analog and digital waveform signals,
measured results, and pin/module design/model interface checks.
amsDmv was released in the IC614 stream, however, it can be used
together with IC 5.1.41 (set up special env variables and pointing to amsDmv installation in IC614) and on the command line (some features may not be available, see our detailed documentation and tutorials).
amsDmv can be started from the Virtuoso CIW window, as shown below.

The following is amsDmv GUI, where users can set up DUT and reference design simulations, measurements, start simulations, compare waveforms,measurement results and pin definitions, also can see final report (pass/fail).
In the shown waveform tab, user can specify relative/absolute tolerance,debug failing areas, using ViVA or SimVision.
By default SimVision is used for waveform viewing when any digital waveform signals are loaded.
Wavescan/Viva are the default when only analog waveform signals are found.
.The preferred waveform viewer can be selected in the Preferences dialog.

There are some advanced features available in recent release, including preload filter for large waveform database, signal alias for defining equivalent signal names, signal selection tab to narrow down the listed/compared signals, A2D/D2A conversion for comparing the equivalent signals from different domains. Those are new features we developed based on customer feedback and these new features further improved the usability of amsDmv.
Xiuya Li