Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC7950-001) March 9, 2016 Simulation-Based Equivalence Checking.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 71 Lecture 7 Fault Simulation n Problem and motivation n Fault simulation algorithms n Serial n Parallel.
1 Recursive Learning Madhurima Maddela. ELEC /26/052 Decision Tree Traditionally used to branch and bound in the search space to generate test.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Spring 07, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Verification Vishwani D. Agrawal James J. Danaher.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4b1 Design for Testability Theory and Practice Lecture 4b: Fault Simulation n Problem and motivation.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Dec. 19, 2005ATS05: Agrawal and Doshi1 Concurrent Test Generation Auburn University, Department of Electrical and Computer Engineering Auburn, AL 36849,
Concurrent Test Generation Auburn University, Department of Electrical and Computer Engineering Auburn, AL 36849, USA Vishwani D. Agrawal Alok S. Doshi.
Nov. 29, 2005 ELEC Class Presentation 1 Logic Redesign for Low Power ELEC 6970 Project Presentation By Nitin Yogi.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 61 Design for Testability Theory and Practice Lecture 6: Combinational ATPG n ATPG problem n Example.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Sep. 26, 2001Agrawal: Stratified Sampling1 Stratified Sampling for Fault Coverage of VLSI Systems Vishwani D. Agrawal Agere Systems, Murray Hill, NJ
Spring 07, Feb 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Logic Equivalence Vishwani D. Agrawal James J.
Equivalence Checking Sean Weaver.
Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Fault Simulation Vishwani D. Agrawal James J.
Spring 07, Mar 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Timing Verification and Optimization Vishwani D.
Spring 08, Jan 22.. ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Verification Vishwani D. Agrawal James J. Danaher.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Dominance Fault Collapsing of Combinational Circuits By Kalpesh Shetye & Kapil Gore ELEC 7250, Spring 2004.
Chapter 3 Combinational Logic Design
March 6, th Southeastern Symposium on System Theory1 Transition Delay Fault Testing of Microprocessors by Spectral Method Nitin Yogi and Vishwani.
Diagnostic and Detection Fault Collapsing for Multiple Output Circuits Raja K. K. R. Sandireddy and Vishwani D. Agrawal Dept. Of Electrical and Computer.
Spring 08, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Timing Verification and Optimization Vishwani D.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Combinational Logic Design
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
VLSI Testing Lecture 7: Combinational ATPG
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Muralidharan Venkatasubramanian Vishwani D. Agrawal
CS1Q Computer Systems Lecture 6 Simon Gay. Lecture 6CS1Q Computer Systems - Simon Gay2 Algebraic Notation Writing AND, OR, NOT etc. is long-winded and.
Robust Low Power VLSI ECE 7502 S2015 Evaluation of Coverage-Driven Random Verification ECE 7502 – Project Presentation Qing Qin 04/23/2015.
TOPIC : Different levels of Fault model UNIT 2 : Fault Modeling Module 2.1 Modeling Physical fault to logical fault.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
CS1Q Computer Systems Lecture 6 Simon Gay. Lecture 6CS1Q Computer Systems - Simon Gay2 Algebraic Notation Writing AND, OR, NOT etc. is long-winded and.
ELEC 7770 Advanced VLSI Design Spring 2014 Verification Vishwani D. Agrawal James J. Danaher Professor ECE Department, Auburn University Auburn, AL
ELEC 7770 Advanced VLSI Design Spring 2008 Verification Vishwani D. Agrawal James J. Danaher Professor ECE Department, Auburn University Auburn, AL
Properties Incompleteness Evaluation by Functional Verification IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL
Manufacture Testing of Digital Circuits
Silicon Programming--Testing1 Completing a successful project (introduction) Design for testability.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Copyright 2001, Agrawal & BushnellLecture 6:Fault Simulation1 VLSI Testing Lecture 6: Fault Simulation Dr. Vishwani D. Agrawal James J. Danaher Professor.
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
C OMBINATIONAL L OGIC D ESIGN 1 Eng.Maha AlGubali.
Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: Boolean Matching.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
ATPG for Synchronous Sequential Circuits ELEC-7950 Spring 2016 Speaker : Mi Yan Student number : mzy0018.
VLSI Testing Lecture 5: Logic Simulation
VLSI Testing Lecture 5: Logic Simulation
Vishwani D. Agrawal Department of ECE, Auburn University
VLSI Testing Lecture 6: Fault Simulation
VLSI Testing Lecture 6: Fault Simulation
VLSI Testing Lecture 7: Combinational ATPG
ELEC Digital Logic Circuits Fall 2014 Logic Testing (Chapter 12)
ELEC 7770 Advanced VLSI Design Spring 2016 Verification
Vishwani D. Agrawal James J. Danaher Professor
Chapter 3 – Combinational Logic Design
Fault Models, Fault Simulation and Test Generation
VLSI Testing Lecture 7: Combinational ATPG
Chapter 10.3 and 10.4: Combinatorial Circuits
Veeraraghavan Ramamurthy
Presentation transcript:

Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking

Simulation-based equivalence checking Problem statement Importance of this problem Various methods of equivalence checking My method Experiment Results Conclusion 2016/3/9 Huang: ELEC

Problem statement Formal equivalence checking process is a part of electronic design automation (EDA), commonly used during the development of digital integrated circuit. circuit B is the final netlist in design cycle of circuit A (A: initial RTL model). Initial RTL model final netlist A number of transformations and changes Logic synthesis tool and other programs in the process 2016/3/9 Huang: ELEC

Problem statement In theory In practice Initial RTL model final netlist logically equivalent Logic synthesis tool and other programs in the process Programs bugs, manual changes, errors logically different Initial RTL modelfinal netlist a verification step is needed 2016/3/9 Huang: ELEC

Importance of this problem Historically, one way to check the equivalence was to re-simulate, using the final netlist, and the test cases that were developed for verifying the correctness of the RTL. This process is called gate level logic simulation. However, the problem with this is that the quality of the check is only as good as the quality of the test cases. Also, gate-level simulation of many test cases are notoriously slow to execute, which is a major problem as the size of digital designs continues to grow exponentially.exponentially An alternative way to solve this is to formally prove that the RTL code and the netlist synthesized from it have exactly the same behavior in all (relevant) cases. This process is called formal equivalence checking and is a problem that is studied under the broader area of formal verification.formal verification 2016/3/9 Huang: ELEC

An alternative way Formal equivalence checking to formally prove that the RTL code and the netlist synthesized from it have exactly the same behavior in all (relevant) cases. 2016/3/9 Huang: ELEC

Methods of equivalence checking ROBDDs (Reduced Ordered Binary Decision Diagram) Two circuits are functionally identical if they have isomorphic ROBDDs 2016/3/9 Huang: ELEC

Methods of equivalence checking ROBDDs (Reduced Ordered Binary Decision Diagram) Two identical circuits may not have identical OBDDs even when same variable ordering is used. ROBDD complexity depends on variable ordering; finding a good variable order is a complex problem. Even with best variable order, ROBDD can be too complex for large combination functions. 2016/3/9 Huang: ELEC

Methods of equivalence checking Boolean satisfiability Suppose we have circuits C1 and C2; C2 is an optimized version of C1. SAT means (F1 and ¬F2) or (¬F1 and F2) = true, where F1 and F2 are outputs of C1 and C2. If we can find the input variable to satisfy the above formula, then C1 and C2 are not logically equivalent. However, SAT is proven to be an NP-complete problem. 2016/3/9 Huang: ELEC

My method - simulation based equivalence checking ATPG Approach (Miter). First, redundant stuck-at-0 faults cause equivalence of the output. Its tests can be used to check non-equivalence, if the faults are detectable. 2016/3/9 Huang: ELEC

My method - Example The test effect is based on the number of combined test vectors applied. Rationale: Most design errors can be modeled as single stuck- at or probably as multiple stuck-at faults. Example: C1 C2 2016/3/9 Huang: ELEC

My method - application Two circuits implement the same Boolean function of four variables: If we use Miter to test the two circuits supplied with combined test vectors of C1 and C2 shown as shaded minterms in Karnaugh maps, then the output z is always 0 as expected. 2016/3/9 Huang: ELEC

My method - limitation However, we change C2 by replacing the first exclusive-OR gate by an OR gate. We get circuit C2’. C2’ 2016/3/9 Huang: ELEC

My method - limitations We still use Miter to check the equivalence of C1 and C2’. Using combined test vectors of C1 and C2’ in shaded areas, the output z will still remain 0 for all vectors. Actually the two circuits are functionally different. 2016/3/9 Huang: ELEC

Experiment (1) A basic VHDL of a 16-bit adder. (2) Leonardo area-optimized adderdelay-optimized adder 2016/3/9 Huang: ELEC

Experiment Miter used in this experiment 2016/3/9 Huang: ELEC

Experiment Information of two circuits Delay-optimized circuit Area-optimized circuit Number of Inputs/outputs32/17 Number of gates Critical path delay4.20ns6.04ns 2016/3/9 Huang: ELEC

Experiment (3) ATPG to generate test vectors for 100% faults coverage. Area-optimized circuit Delay-optimized circuit 2016/3/9 Huang: ELEC

Experiment (4) the test patterns generated Area-optimized circuit 2016/3/9 Huang: ELEC

Experiment the test patterns generated Delay-optimized circuit 2016/3/9 Huang: ELEC

Experiment (4) use the combinational test vectors to simulate the Miter circuit to check the logical equivalence of the two optimized circuits. 2016/3/9 Huang: ELEC

Experiment – simulation result 2016/3/9 Huang: ELEC

Experiment – non-equivalent circuits (5) replace a single gate near primary inputs of delay- optimized circuit. 2016/3/9 Huang: ELEC

Experiment – simulated miter output 2016/3/9 Huang: ELEC

Experiment (6) replace a single gate in the middle of the delay-optimized circuit. 2016/3/9 Huang: ELEC

Experiment – simulated miter output 2016/3/9 Huang: ELEC

Conclusion The simulation-based equivalence checking with ATPG vectors, often employed in the industry, mostly works. But there are limitations as the example shows. The method can be improved by using fault simulation of faults at primary inputs of the miter. When simulation shows non-equivalence, fault simulation can be used to help identify design errors. 2016/3/9 Huang: ELEC

References 2016/3/9 Huang: ELEC Equivalence Checking Problem: S.-Y. Hwang and K.-T. Cheng, Formal Equivalence Checking and Design Debugging, Springer, Formal Verification: E. M. Clarke, Jr., O. Grumberg, and D. A. Peled, Model Checking, MIT Press, ROBDD: R. E. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation,” IEEE Trans. Computers, vol. C-35, no. 8, pp , August SAT: S. Eggersglüß and R. Drechsler, High Quality Test Pattern Generation and Boolean Satisfiability, Springer, Miter Heuristic: V. D. Agrawal, “Choice of Tests for Logic Verification and Equivalence Checking and the Use of Fault Simulation,” Proc. 13th International Conf. VLSI Design, January 2000, pp