Home > Community > Blogs > Mixed-Signal Design > behavioral model validation with amsdmv
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the Mixed-Signal 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: *

Behavioral Model Validation with amsDmv

Comments(0)Filed under: mixed-signal, mixed signal, Virtuoso, AMS, model validation, analog behavoral, amsDmv, behavioral models

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


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.