Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
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.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
Get email delivery of the Cadence blog featured here
While Assertion-Based Verification (ABV) has been around for many years, ABV has largely been a passive exercise. For example, assertions can monitor behavior in a simulation environment, model a formal analysis environment with constraints, or provide targets for formal proofs as checks or covers. This is all very useful and good. However, assertions are passive objects in these cases. This means that in simulation you only get information about the assertion when it "fires." And with Formal, you only get meaningful results or an associated waveform if a proof converges. ... Until now!
There is a new way of using assertions which makes them literally come alive. In short, with this new technology you can turn assertions into active objects that can drive a DUT by generating stimulus automatically. In other words, the behavior captured in assertions can be used as constraints to generate random stimulus. We call this Assertion-Driven Simulation -- "ADS," for short.
The advantage of ADS is that you can start interacting with assertions very quickly and get instant feedback. You can generate meaningful waveforms and start debugging your DUT, your environment, and your assertions -- all before a testbench exists, or the first formal proof is kicked off. Instead you get a sense of the operation of your DUT right away by viewing waveforms. Consider the following example:
Figure 1 above shows stimulus generated by ADS for a DFI2.1 (DDR3 PHY) interface. The waveform snippet shows a read access followed by two write accesses on DFI. This waveform has been generated by just adding 4 DFI assertions to a DUT and pressing a button. It enabled the immediate debugging of the device. Again, no testbench or proof was needed -- the tool automagically derived the stimulus from the assertions and the engineer was good-to-go!
An obvious application for ADS is early in a design project to bring-up a block. Instead of creating some throw away RTL to do a sanity check of the block, with a few assertions designers can get a sense of whether the DUT is on the right track very quickly and effectively using familiar, waveform-oriented debug techniques.
Additionally, there is another, more subtle application of ADS: it's also very beneficial in the setup of complex formal verification environments. The formal verification engineer can use ADS to make sense of all the constraints, the block initialization, and the ABV environment in general. Field experience with ADS by formal users has proven that an ADS flow can be a very beneficial step before moving to full-up formal proofs, preventing many issues that stem from an inaccurate environment setup.
Bottom-line: Assertion-Driven Simulation, a/k/a "ADS" for short, can increase the value you get from assertions significantly (in a real sense, almost for "free") by making them active drivers and enabling low cost stimulus and waveform generation.
P.S. An administrative note about DAC 2011 in San Diego: While the various Incisive Verification-oriented suite presentations and demo pods briefly touch on this topic, for more detailed information on this capability seek out Team Verify members Chris Komar, Tom Anderson, or Joe Hupcey III who will be at the show. Of course, feel free to post a comment below today!