An introduction to symbolic simulation
Paul Hoxey from ARM, Clayton McDonald and David Guinther from Synopsys
(12/19/2005 8:30 PM EST)
EE Times
Three methods for testing functional equivalence are currently available to designers — conventional simulation, cone-based equivalence checking, and symbolic simulation. Most designers are familiar with the first two, while symbolic simulation is newer and has only been commercially available for a few years. Each method has its strengths, and the most effective approach depends on the specific application.
Symbolic simulation has been quietly gaining adoption among the world’s leading full-custom memory design teams over the last few years. In symbolic simulation, symbols such as data1, addr7, or w_enable, rather than binary 1s and 0s, are used as input vectors to simulate an RTL or Spice-level circuit. The simulator propagates symbols, rather than binary values, from inputs to outputs. The resulting output equations for the two designs are then compared and verified to be equivalent for all possible input combinations.
The use of symbolic simulation removes the RTL restrictions and circuit limitations inherent with today’s cone-based equivalence checking tools. This production-proven technology offers circuit designers the ability to directly verify the functionality of large complex memories and macro cells without having to re-code their RTL or modify their circuits as with other approaches.
Another key advantage is that designers can verify their RTL vs. Spice models much sooner in the design flow. Today’s symbolic simulation tools automatically create test benches, so designers can begin design verification earlier without waiting until RTL test benches and Spice test vectors are developed.
These new techniques can handle the complex netlists typically found in today’s gigabit memories because one symbolic vector can replace 2n binary vectors, where n is the number of inputs. Huge capacity, coupled with the ability to directly read Verilog RTL and Spice netlists, makes this approach ideal for memory verification applications.
This article outlines the key challenges of memory verification, and goes on to describe how symbolic simulation and its underlying technologies offer advantages for verifying full-custom circuit designs, such as memories and macro-cells. Application examples are provided along with a few examples of the types of problems that are often uncovered by using symbolic simulation early in the design flow.
(12/19/2005 8:30 PM EST)
EE Times
Three methods for testing functional equivalence are currently available to designers — conventional simulation, cone-based equivalence checking, and symbolic simulation. Most designers are familiar with the first two, while symbolic simulation is newer and has only been commercially available for a few years. Each method has its strengths, and the most effective approach depends on the specific application.
Symbolic simulation has been quietly gaining adoption among the world’s leading full-custom memory design teams over the last few years. In symbolic simulation, symbols such as data1, addr7, or w_enable, rather than binary 1s and 0s, are used as input vectors to simulate an RTL or Spice-level circuit. The simulator propagates symbols, rather than binary values, from inputs to outputs. The resulting output equations for the two designs are then compared and verified to be equivalent for all possible input combinations.
The use of symbolic simulation removes the RTL restrictions and circuit limitations inherent with today’s cone-based equivalence checking tools. This production-proven technology offers circuit designers the ability to directly verify the functionality of large complex memories and macro cells without having to re-code their RTL or modify their circuits as with other approaches.
Another key advantage is that designers can verify their RTL vs. Spice models much sooner in the design flow. Today’s symbolic simulation tools automatically create test benches, so designers can begin design verification earlier without waiting until RTL test benches and Spice test vectors are developed.
These new techniques can handle the complex netlists typically found in today’s gigabit memories because one symbolic vector can replace 2n binary vectors, where n is the number of inputs. Huge capacity, coupled with the ability to directly read Verilog RTL and Spice netlists, makes this approach ideal for memory verification applications.
This article outlines the key challenges of memory verification, and goes on to describe how symbolic simulation and its underlying technologies offer advantages for verifying full-custom circuit designs, such as memories and macro-cells. Application examples are provided along with a few examples of the types of problems that are often uncovered by using symbolic simulation early in the design flow.
To read the full article, click here
Related Semiconductor IP
- ReRAM NVM in DB HiTek 130nm BCD
- UFS 5.0 Host Controller IP
- PDM Receiver/PDM-to-PCM Converter
- Voltage and Temperature Sensor with integrated ADC - GlobalFoundries® 22FDX®
- 8MHz / 40MHz Pierce Oscillator - X-FAB XT018-0.18µm
Related Articles
- Time Sensitive Networking: An Introduction to TSN
- An Introduction to Post-Quantum Cryptography Algorithms
- An Introduction to Direct RF Sampling in a World Evolving Towards Chiplets - Part 1
- Symbolic Simulation Formally Verifies ECC
Latest Articles
- An FPGA-Based SoC Architecture with a RISC-V Controller for Energy-Efficient Temporal-Coding Spiking Neural Networks
- Enabling RISC-V Vector Code Generation in MLIR through Custom xDSL Lowerings
- A Scalable Open-Source QEC System with Sub-Microsecond Decoding-Feedback Latency
- SNAP-V: A RISC-V SoC with Configurable Neuromorphic Acceleration for Small-Scale Spiking Neural Networks
- An FPGA Implementation of Displacement Vector Search for Intra Pattern Copy in JPEG XS