Equivalence checking Prof Shobha Vasudevan ECE 598SV.

Slides:



Advertisements
Similar presentations
Copyright © 2009,Intel Corporation. All rights reserved. Auto ECO Flow Development For Functional ECO Using Efficient Error Rectification Method Based.
Advertisements

1 Title Page Implicit and Explicit Reachable State Space Exploration Of Esterel Logical Circuits Advisor :
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Introduction to Formal Equivalence Verification (FEV)
ECE-777 System Level Design and Automation Hardware/Software Co-design
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
Verification of Hybrid Systems An Assessment of Current Techniques Holly Bowen.
TOWARDS EQUIVALENCE CHECKING BETWEEN TLM and RTL MODELS PRINCIPLES OF SEQUENTIAL EQUIVALENCE VERIFICATION Giray Kömürcü Boğaziçi University CMPE 58Q.
6/14/991 Symbolic verification of systems with state machines David L. Dill Jeffrey Su Jens Skakkebaek Computer System Laboratory Stanford University.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Department of Electrical and Computer Engineering M.A. Basith, T. Ahmad, A. Rossi *, M. Ciesielski ECE Dept. Univ. Massachusetts, Amherst * Univ. Bretagne.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Equivalence Checking Using Cuts and Heaps Andreas Kuehlmann Florian Krohm IBM Thomas J. Watson Research Center Presented by: Zhenghua Qi.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. Using Combinational Verification for Sequential Circuits Joint work with: Vigyan Singhal, Cadence.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Verilog Code Generation for an ASIP Design Environment Nathan Kitchen Vinay Krishnan Mentor: Scott Weber (MESCAL) EE 244/249 Joint Project Fall 2002.
Engineering Models and Circuit Realization of Quantum State Machines.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Sequential Equivalence Checking.
Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Overview Part 1 – Design Procedure 3-1 Design Procedure
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
The Verification Gap Verification determines whether a design satisfies its requirements (a.k.a. its specification): Does it satisfy its functional requirements?
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
04/06/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing (In separate file) 9.2: Optimization - Part 1 9.3: Optimization.
ECE-C662 Lecture 2 Prawat Nagvajara
Curtis A. Nelson 1 Technology Mapping of Timed Circuits Curtis A. Nelson University of Utah September 23, 2002.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Combinational Logic Design. 2 Combinational Circuits A combinational logic circuit has: ♦ A set of m Boolean inputs, ♦ A set of n Boolean outputs ♦ n.
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
FEV And Netlists Erik Seligman CS 510, Lecture 5, January 2009.
Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
C OMBINATIONAL L OGIC D ESIGN 1 Eng.Maha AlGubali.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
Introduction to Formal Verification
ASIC Design Methodology
Asynchronous Interface Specification, Analysis and Synthesis
Hardware Verification
Synthesis for Verification
Overview Part 1 – Design Procedure Beginning Hierarchical Design
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
New Directions in the Development of ABC
  State Encoding مرتضي صاحب الزماني.
IAY 0800 Digitaalsüsteemide disain
Introduction to Formal Verification
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Chapter 3 – Combinational Logic Design
Scalable and Scalably-Verifiable Sequential Synthesis
Research Status of Equivalence Checking at Zhejiang University
THE ECE 554 XILINX DESIGN PROCESS
Alan Mishchenko UC Berkeley
State Abstraction Techniques for the Verification of Reactive Circuits
Robert Brayton Alan Mishchenko Niklas Een
ECE 352 Digital System Fundamentals
THE ECE 554 XILINX DESIGN PROCESS
ECE 667 Synthesis and Verification of Digital Systems
10 Design Verification and Test
Presentation transcript:

Equivalence checking Prof Shobha Vasudevan ECE 598SV

Equivalence checking Checking whether two models of a design are functionally equivalentugs in Involves a golden and a revised target model Objective is to find bugs in target model wrt to golden model Crucial step in transformation based design flow RTL to gate-level Automatic (logic synthesis tools) Manual Hybrid Specification (C model) to RTL Manual Automatic (high level synthesis tools)

Differences between models Logic synthesis tools to translate control portions Manual translation for datapath Sources of errors Implementation of synthesis tools, misinterpretations of RTL by designers etc Optimizations to improve design parameters like timing, area or power Gate level designs can undergo a lot of optimizations Gate to gate equivalence checking Unoptimized is golden model and refined design is target model Formal equivalence verification is the industry wide practice for RTL to gate equivalence Gate to gate equivalence checking

Combinational equivalence checking Applied transformations affect circuit’s combinational logic Two level/multi level minimization of logic Timing optimization Technology mapping Mainstream in today’s design flows Current CEC tools can handle very complex designs

Sequential equivalence checking Transformations that do not preserve correspondence between memory elements in both models Retiming State minimization State encoding Sequential redundancy removal Redundancy addition and removal Checking equivalence requires exploration of the designs’ state space State space explosion!! Lot of research, but application still not widespread… Designers avoid sequential optimizations despite their value

Sequential equivalence checking Theoretically exponential complexity Practically heuristics are very useful Symbolic traversal, induction and structural approaches are useful In this course Basic FSM to FSM equivalence checking Reachability analysis Symbolic simulation Different notions of what sequential equivalence means

Are the two circuits equivalent?

Erroneous circuit

Design constraints can affect equivalence

Why constraints matter Good synthesis tools take advantage of specified constraints Assume constants to reduce size/scope Don’t synthesize masked out RTL Allow out of band constraint specifications in control files Equivalence checking tools must recognize constraints Otherwise will get spurious matches Practical challenges in constraints Could be in wrapper RTL Inside analog blackbox Could be due to software/external specifications

State negation

Clock gating

Don’t care cases

Often result from underspecified RTL Synthesis has freedom to choose values Don’t cares come in golden models Don’t cares in netlist only shows an error Should be no asymmetry in two don’t cares of two models RTL could match two different netlists Verifying netlists against each other could produce error Due to asymmetric don’t cares

Hierarchical equivalence checking

Cut-points in equivalence checking Verification by decomposing design into smaller parts Used when combinational cone is tool large Divide logic at points other than states Map cutpoints similar to mapping flops Verify circuit between cutpoints

Adding cutpoints needs scrutiny of internal signals

Case splitting What if some inputs activate/deactivate a lot of logic? Can distinguish some input values of the same variables These can be individual cases or instances of the problem Instead of treating all values as equal Constrain an appropriate variable to 1 or 0 and compare twice In general, constrain n variables and compare 2 n times Convert problem in space to problem in “time” Memory per iteration is more of an issue than number of iterations

Example of case splitting

Retiming: Why we need sequential equivalence

Combinational equivalence checking BDD- based algorithms SAT based algorithms ATPG based algorithms