SAT Sweeping with Local Observability Don’t-Cares Qi Zhu 1 Nathan Kitchen 1 Andreas Kuehlmann 1,2 Alberto Sangiovanni-Vincentelli 1 1 University of California.

Slides:



Advertisements
Similar presentations
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Advertisements

FRAIGs - A Unifying Representation for Logic Synthesis and Verification - Alan Mishchenko, Satrajit Chatterjee, Roland Jiang, Robert Brayton ERL Technical.
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.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Equivalence Checking Using Cuts and Heaps Andreas Kuehlmann Florian Krohm IBM Thomas J. Watson Research Center Presented by: Zhenghua Qi.
Fast Logic Restructuring Using Node Merging and Node Addition and Removal Yung-Chih Chen 陳勇志 Department of Electrical Engineering Chung Yuan Christian.
4/20/2006ELEC7250: Alexander 1 LOGIC SIMULATION AND FAULT DIAGNOSIS BY JINS DAVIS ALEXANDER ELEC 7250 PRESENTATION.
Boolean Functions and their Representations
Equivalence Checking Sean Weaver.
SPFD-Based Wire Removal in a Network of PLAs Sunil P. Khatri* Subarnarekha Sinha* Andreas Kuehlmann** Robert K. Brayton* Alberto Sangiovanni-Vincentelli*
EE290A 1 Retiming of AND- INVERTER graphs with latches Juliet Holwill 290A Project 10 May 2005.
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.
Automated Extraction of Inductive Invariants to Aid Model Checking Mike Case DES/CHESS Seminar EECS Department, UC Berkeley April 10, 2007.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Combining Exact and Metaheuristic Techniques For Learning Extended Finite-State Machines From Test Scenarios and Temporal Properties ICMLA ’14 December.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
Enhancing and Integrating Model Checking Engines Robert Brayton Alan Mishchenko UC Berkeley June 15, 2009.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Cut-Based Inductive Invariant Computation Michael Case 1,2 Alan Mishchenko 1 Robert Brayton 1 Robert Brayton 1 1 UC Berkeley 2 IBM Systems and Technology.
Detecting Errors Using Multi-Cycle Invariance Information Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence,
1 Stephen Jang Kevin Chung Xilinx Inc. Alan Mishchenko Robert Brayton UC Berkeley Power Optimization Toolbox for Logic Synthesis and Mapping.
Verification & Validation By: Amir Masoud Gharehbaghi
1 Alan Mishchenko Research Update June-September 2008.
Fast Synthesis of Clock Gating from Existing Logic Aaron P. Hurst Univ. of California, Berkeley Portions In Collaboration with… Artur Quiring and Andreas.
A Semi-Canonical Form for Sequential Circuits Alan Mishchenko Niklas Een Robert Brayton UC Berkeley Michael Case Pankaj Chauhan Nikhil Sharma Calypto Design.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Enhancing Model Checking Engines for Multi-Output Problem Solving Alan Mishchenko Robert Brayton Berkeley Verification and Synthesis Research Center Department.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Reducing Structural Bias in Technology Mapping
Introduction to Formal Verification
SS 2017 Software Verification Bounded Model Checking, Outlook
Inference and search for the propositional satisfiability problem
Synthesis for Verification
Alan Mishchenko UC Berkeley
Solving Linear Arithmetic with SAT-based MC
Delay Optimization using SOP Balancing
Robert Brayton Alan Mishchenko Niklas Een
Applying Logic Synthesis for Speeding Up SAT
Integrating an AIG Package, Simulator, and SAT Solver
Optimal Redundancy Removal without Fixedpoint Computation
LPSAT: A Unified Approach to RTL Satisfiability
Equivalence Checking By Logic Relaxation
Constrained Bipartite Vertex Cover: The Easy Kernel is Essentially Tight Bart M. P. Jansen June 4th, WORKER 2015, Nordfjordeid, Norway.
Introduction to Formal Verification
Alan Mishchenko University of California, Berkeley
Scalable and Scalably-Verifiable Sequential Synthesis
Improvements to Combinational Equivalence Checking
GLA: Gate-Level Abstraction Revisited
FPGA Glitch Power Analysis and Reduction
Research Status of Equivalence Checking at Zhejiang University
Resolution Proofs for Combinational Equivalence
Integrating an AIG Package, Simulator, and SAT Solver
Improvements in FPGA Technology Mapping
Alan Mishchenko UC Berkeley
Recording Synthesis History for Sequential Verification
Delay Optimization using SOP Balancing
Alan Mishchenko UC Berkeley
Improved Design Debugging using Maximum Satisfiability
Innovative Sequential Synthesis and Verification
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

SAT Sweeping with Local Observability Don’t-Cares Qi Zhu 1 Nathan Kitchen 1 Andreas Kuehlmann 1,2 Alberto Sangiovanni-Vincentelli 1 1 University of California at Berkeley 2 Cadence Berkeley Labs July 25, 2006

Outline Background  AND/INV Graph  SAT Sweeping Improving SAT Sweeping with Observability Don’t-Cares  Motivating Example  Observability and Local Observability  Algorithm Flow  Implementation Experimental Results Conclusions

Representation of Boolean functions Consists of AND nodes and complement edges AND/INV Graph (AIG) V1V1 V2V2 V3V3 V4V4 V5V5 x1x1 x2x2 x3x3 321 )(xxxF  )( 4 vf )( 5 vf Pros: Better memory efficiency than BDD-like reps Cons: Non-canonical Redundant

SAT Sweeping Simplification of AIGs can exponentially improve Boolean reasoning [Kuehlmann97]. Several techniques have been developed to simplify circuit graphs [Brand93, Kunz93, Goldberg01, Lu03]. SAT sweeping [Kuehlmann04] is fast and robust since it combines:  Random simulation  SAT queries  Structural hashing

SAT Sweeping Example V1V1 V2V2 V3V3 V4V4 V5V5 V6V6 V8V8 V9V9 x1x1 x2x2 x3x3 random simulation refine classification pick two vertices in same class; do SAT query merge vertices update simulation vec. any class size>1? N Y SAT UNSAT end V1V1 V3V3 V6V6 V7V7 V2V2 V5V5 V4V4 Use SAT solver to check the equivalence of v 6 and v 7. Use SAT solver to check the equivalence of v 2 and v 5. v 7 can be merged onto v 6 since f(v 7 )=f(v 6 ). V7V

Outline Background  AND/INV Graph  SAT Sweeping Improving SAT Sweeping with Observability Don’t-Cares  Motivating Example  Observability and Local Observability  Algorithm Flow  Implementation Experimental Results Conclusions

V5V5 Motivating Example V2V2 V1V1 V3V3 V4V4 V6V6 V8V8 x1x1 x2x2 x3x3 V7V x1x1 x 2 x V4V V5V5 x1x1 x 2 x x1x1 x 2 x V6V6 V6V6 V5V5 V4V4 ?  ?

Observability Observability for AIGs without reconverging paths: Full observability computation is VERY expensive! v v’ other(v’, v) … … otherwise vvotherf  )),'(( vobs)'(( Ovif      1 vobs)( vFOv   )(' )

k levels of observability: obs(v, k) Criterion for merging vertices under local observability: Local Observability V … … … k=0k=1k=2 0),()()(  kvobsvfuf k ≥ circuit depth

Equivalence-class refinement cannot be used since the merging criterion is not an equivalence relation. Search for merging candidates of each vertex individually.  Build a dictionary of simulation vectors to find candidates efficiently. V5V5 V2V2 V1V1 V3V3 V4V4 V6V6 V8V8 x1x1 x2x2 x3x3 V7V7 V6V6 Algorithm  ?

Mask simulation vectors with observability vectors. Compare simulation vectors and observability vectors to filter candidates. Check the merging criterion with SAT solver. Algorithm w v v’ … … other(v’,v) OBS(v’,1)=[1101] OBS(v,2)=[0100] F(w)=[0110]  0),(  kvOBS)()(  vFuF  otherwise(    [  )),((vvotherF  )1,(kvOBS ),(kv   )(vFOv  0 if]11111kOv  )

update simulation vec.and candidates Algorithm Flow random simulation; compute obs vec. find merging candidates from dictionary pick candidate vertex and do SAT query merge vertices candidates exist? N Y UNSAT SAT for each vertex V5V5 V1V1 V2V2 V5V5 V1V1 V2V2 V3V3 V4V4 V6V6 V8V8 x1x1 x2x2 x3x3 V7V Dictionary V4V4 V6V6 V1V1 V2V2 ? 1-level observability

Dictionary Implementation Use a binary trie.  Simulation vectors of vertices are stored in leaf nodes. bit 4 bit F(v 4 )=0101 F(v 3 )=1110 F(v 5 )=0100 F(v 2 )=0110

OBS(v 1, k) = F(v 1 ) = F(v 5 )=0100 F(v 4 )=0101 Dictionary Implementation Search for merging candidates along the trie using simulation vectors and observability vectors. F(v 3 )=1110 F(v 2 )=0110 candidates for v 1 are v 4, v 5 bit 4 bit

Reconverging Structure V1V1 V2V2 V3V3 V6V6 V4V4 V5V5 x1x1 x2x2 x3x x1x1 x 2 x V2V x1x1 x 2 x x1x1 x 2 x V4V4 V4V4 Can v 2 be merged to constant 1 if k=2? The controlling value at v 4 changes! Reconverging structure causes the problem. We use a conservative approximation of observability to avoid this problem.

Outline Background  AND/INV Graph  SAT Sweeping Improving SAT Sweeping with Observability Don’t-Cares  Motivating Example  Observability and Local Observability  Algorithm Flow  Implementation Experimental Results Conclusions

Percentage of Vertices Merged k (levels of observability) No ODCs Experimental Results 15 designs from IWLS 2005 benchmark set (synthesized from OpenCores repository) Size from 200 to 48K AND vertices in AIG (200 to 30K Gates) Basic SAT sweeping Runtime Relative to Basic SSW k (levels of observability) No ODCs

Experimental Results Our approximation of observability is tight. Compared with exact local observability: k=2 : 0.1% fewer vertices merged on average k=5 : 0.5% fewer vertices merged on average Application to bounded model checking  Simplified unrolled frames; compared local-ODC-based SAT sweeping with basic SAT sweeping Algorithm Average reduction of vertices in each frame (%) Basic ODC

Conclusions ODC-based SAT sweeping simplifies AIGs significantly more than basic version  5.4X more vertices merged with 3 levels of observability than with basic SAT sweeping (4.4X runtime) Greatest benefits from few levels of observability  Captures 90% of mergers with 3 levels of observability Broadly applicable for Boolean reasoning  Synthesis (combinational and sequential)  Verification (bounded model checking, equivalence checking) Available at ODC-based SAT sweeping is simple and inexpensive, and greatly speeds up Boolean reasoning.

Acknowledgments Steve Teig, Andy Caldwell for initiating the project idea Ellen Sentovich, Christoph Albrecht for valuable discussion

Thank you!