Sequential equivalence checking for RTL models
(06/19/2006 9:00 AM EDT), EE Times
In this paper, we examine the need for formal sequential equivalence checking across pairs of RTL models. We present scenarios that call for modifying the sequential behavior of RTL models while preserving functionality. These primarily have to do with reliably achieving aggressive timing and power goals typical of high performance design.
The advantages of verifying such sequential modifications using formal methods at the block level are identified. Some attention to front end design methodology can vastly improve the efficiency of sequential equivalence checking tools.
1 Introduction
The ability to formally determine functional equivalence between RTL models is seen as a key enabler in physically aware front-end design methodologies that are being practiced in high performance designs. In this paper, we describe sequential equivalence checking (SEC) technology and the usage of such a tool in various a practical design flows.
Commercially available equivalence checking tools today require states in the designs are tested to have one-to-one functional maps. This implies that every flop in one design must have a functionally identical flop in the partner design. As such, these tools are combinational equivalence checkers. They find maximum utility in proving that a gate level implementation of an RTL design is correct. A secondary application is that a gate level ECO can be proven not to have compromised the original functionality of RTL or gate level design.
Pixley has described the concept of sequential hardware equivalence (SHE) in [1]. We define SEC as the process of formally proving functional equivalence of designs that may in general have sequentially different implementations. Examples of sequential differences span the space from retimed pipelines (thus breaking the maps between registers, and rendering combinational equivalence checkers ineffective), differing latencies and throughputs (allowing for checking re-pipelined designs), and even scheduling and resource allocation differences.
These sequential modifications to a design are ways to robustly meet timing, area and power goals in a reliable manner. Traditionally, such modifications are frowned upon in a simulation based verification flows because of the work involved in gaining confidence in their correctness. However, sequential equivalence checking enables designers to comprehensively verify sequential design changes with trivial effort.
In the remainder of this paper, we describe some motivations for performing sequential changes to RTL designs in Section 2. Section 3 discusses some of the methodological aspects concerned with application of sequential equivalence checking to real designs. We describe technical challenges in performing sequential equivalence checking on RTL designs in section 4.
Related Semiconductor IP
- AES GCM IP Core
- High Speed Ethernet Quad 10G to 100G PCS
- High Speed Ethernet Gen-2 Quad 100G PCS IP
- High Speed Ethernet 4/2/1-Lane 100G PCS
- High Speed Ethernet 2/4/8-Lane 200G/400G PCS
Related White Papers
- Sequential equivalence checking supports ESL flow
- Issues lurk behind formal equivalence checking
- Equivalency checking verifies sequential changes
- Verifying large models in RTL simulation
Latest White Papers
- New Realities Demand a New Approach to System Verification and Validation
- How silicon and circuit optimizations help FPGAs offer lower size, power and cost in video bridging applications
- Sustainable Hardware Specialization
- PCIe IP With Enhanced Security For The Automotive Market
- Top 5 Reasons why CPU is the Best Processor for AI Inference