Equivalence Checking Using Cuts and Heaps Andreas Kuehlmann Florian Krohm IBM Thomas J. Watson Research Center Presented by: Zhenghua Qi.

Slides:



Advertisements
Similar presentations
Solving Systems Using Substitution or Elimination Circuit #1 Solve each system using substitution or elimination.
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Appendix: Other ATPG algorithms 1. TOPS – Dominators Kirkland and Mercer (1987) n Dominator of g – all paths from g to PO must pass through the dominator.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Weizmann Institute Deciding equality formulas by small domain instantiations O. Shtrichman The Weizmann Institute Joint work with A.Pnueli, Y.Rodeh, M.Siegel.
Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
ECE 667 Synthesis and Verification of Digital Systems
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
Boolean Functions and their Representations
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
Equivalence Checking Sean Weaver.
“IBM Research Report A faster Exponential-Time Algorithm for Max 2-Sat, Max Cut, and Max k- Cut”, Alexander D. Scott, Gregory B. Sorkin, IBM Research Division.
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
Rewiring – Review, Quantitative Analysis and Applications Matthew Tang Wai Chung CUHK CSE MPhil 10/11/2003.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
A452 – Programming project – Mark Scheme
1 CSC 6001 VLSI CAD (Physical Design) January
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Propositional Calculus Math Foundations of Computer Science.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Digital Systems Presented by Prof Tim Johnson
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Binary Decision Diagrams (BDDs)
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Black-box Testing.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Linear Algebra. Circuits The circuits in computers and other input devices have inputs, each of which is either a 0 or 1, the output is also 0s and 1s.
Integrating high-level constructs into programming languages Language extensions to make programming more productive Underspecified programs –give assertions,
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
BDDs1 Binary Tree Representation The recursive Shannon expansion corresponds to a binary tree Example: Each path from the root to a leaf corresponds to.
CO5023 Building Circuits from Truth Tables. Build the following… Let’s say we want a circuit which acts as described by the following truth table: We.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Lecture 5 More Boolean Algebra A B. Overview °Expressing Boolean functions °Relationships between algebraic equations, symbols, and truth tables °Simplification.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
Reducing Structural Bias in Technology Mapping
Hardware Verification
The Analysis of Cyclic Circuits with Boolean Satisfiability
Propositional Calculus: Boolean Algebra and Simplification
LPSAT: A Unified Approach to RTL Satisfiability
SAT-Based Area Recovery in Technology Mapping
Canonical Computation without Canonical Data Structure
Binary Decision Diagrams
Canonical Computation Without Canonical Data Structure
Sungho Kang Yonsei University
Research Status of Equivalence Checking at Zhejiang University
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
SAT-based Methods: Logic Synthesis and Technology Mapping
Agenda Lecture Content: Combinatorial Circuits Boolean Algebras
Presentation transcript:

Equivalence Checking Using Cuts and Heaps Andreas Kuehlmann Florian Krohm IBM Thomas J. Watson Research Center Presented by: Zhenghua Qi

2 Previous approaches —BDD Equivalence checking in combinational verification BDD based approaches The functions of the two circuits to be compared are converted into canonical forms which are then structurally compared. The functions of the two circuits to be compared are converted into canonical forms which are then structurally compared. –Advantages : Efficient –Disadvantages: Exponential memory complexity

3 Previous approaches —Cutpoint Cutpoint-based verification Three phases: –Choose cut-points –The overall verification task is partitioned along these cutpoints into a set of smaller verification problems which are solved independently –Eliminate false negatives PI PO

4 Previous approaches —False Negatives False Negatives: Two functions are equivalent, but the verification algorithm declares them as different. Two functions are equivalent, but the verification algorithm declares them as different. Methods to handle false negatives –Based on re-substitution –Based on cut frontiers –Based on ATPG (Automatic Test Pattern Generation) technique F f2f2 f1f1 z x y G g2g2 g1g1 z x y Let f 1 (x)=g 1 (x)  x –if f 2 (z,y)  g 2 (z,y),  z,y then f 2 (f 1 (x),y)  g 2 (f 1 (x),y)  F  G –if f 2 (z,y)  g 2 (z,y),  z,y  f 2 (f 1 (x),y)  g 2 (f 1 (x),y)  F  G

5 Presented Approach The verification technique presented in this paper, utilizes BDDs, circuit graph hashing, cutpoint guessing and false negative elimination. Differences from previous approaches: –The processing of BDDs is prioritized by their size and limited to an upper bound –The BDD construction is not stopped at cutpoints.

6 Verification Overview Implemented as a Boolean reasoning engine. Construct circuit graph Identify equivalent parts using hash table F G Compute BDDs Identify equal functions Mark potential cutpoints Inject new BDDs using cutpoints Check false negatives Equal/Not EqualUndecided Boolean functions

7 Basic Algorithm for Equivalence Checking Basic procedure –Construct circuit model using two- input AND gates and inverters. –Perform actual comparison

8 Circuit graph manipulation—example (a) Two functionally identical circuits (b) Original graph for both circuits (c) BDDs are computed for vertices 1, 2, 3, 4, 5

9 Circuit graph manipulation—example (a) Two functionally identical circuits (d) BDD is computed for 6 which causes 6 and 2 to merge (e) Forward hashing causes 7 and 8 to merge and solves the verification problem

10 Advanced Algorithm Using Cut Frontiers All vertices that have been merged are now used as cutpoints to inject new BDD variables onto the heap All cutpoints with identical cut levels are assigned to a cut frontier

11 Elimination of False Negatives Cutpoint variables need to be resubstituted by their driving functions The elimination process is controlled by a heap –Initialize heap with all BDDs –Take the BDD with smallest size, re- substitute its topmost cut variable

12 Practical Experiments Number of functionally equivalent vertices versus total number of vertices in typical circuit graphs Validate the assumptions that many industrial circuits are structurally similar The technique was measured for a number of IBM internal circuits

13 Practical Experiments Verification performance for selected circuits

14 Conclusions The paper presents a new method to perform functional comparison of combinational circuits using BDDs, circuit graph hashing, cutpoint guessing and false negative elimination. The presented approach performs efficiently for a wide variety of designs with some degree of structural similarity.