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.

Slides:



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

Efficient Implementation of Property Directed Reachability Niklas Een, Alan Mishchenko, Robert Brayton.
Recording Synthesis History for Sequential Verification Robert Brayton Alan Mishchenko UC Berkeley.
Aaron Bradley University of Colorado, Boulder
© Anvesh Komuravelli IC3/PDR Overview of IC3/PDR Anvesh Komuravelli Carnegie Mellon University.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Inductively Finding a Reachable State Space Over-Approximation EE 290a Project Presentation Mike Case.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
4/21/2005JHJ1 Structure-dependent Sequential Equivalence Checking EE290A UC Berkeley Spring 2005.
Automated Extraction of Inductive Invariants to Aid Model Checking Mike Case DES/CHESS Seminar EECS Department, UC Berkeley April 10, 2007.
Enhancing and Integrating Model Checking Engines Robert Brayton Alan Mishchenko UC Berkeley June 15, 2009.
Scalable and Scalably-Verifiable Sequential Synthesis Alan Mishchenko Mike Case Robert Brayton UC Berkeley.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
ABC: A System for Sequential Synthesis and Verification BVSRC Berkeley Verification and Synthesis Research Center Robert Brayton, Niklas Een, Alan Mishchenko,
The Synergy between Logic Synthesis and Equivalence Checking R. Brayton UC Berkeley Thanks to SRC, NSF, California Micro Program and industrial sponsors,
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
PDR: Property Directed Reachability AKA ic3: SAT-Based Model Checking Without Unrolling Aaron Bradley University of Colorado, Boulder University of Colorado,
Research Roadmap Past – Present – Future Robert Brayton Alan Mishchenko Logic Synthesis and Verification Group UC Berkeley.
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.
Sequential Verification Overview Robert Brayton UC Berkeley.
Enhancing Model Checking Engines for Multi-Output Problem Solving Alan Mishchenko Robert Brayton Berkeley Verification and Synthesis Research Center Department.
Variable-Time-Frame Gate-Level Abstraction Alan Mishchenko Niklas Een Robert Brayton Alan Mishchenko Niklas Een Robert Brayton UC Berkeley UC Berkeley.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
Sequential Equivalence Checking for Clock-Gated Circuits Hamid Savoj Robert Brayton Niklas Een Alan Mishchenko Department of EECS University of California,
Reducing Structural Bias in Technology Mapping
Introduction to Formal Verification
Synthesis for Verification
Alan Mishchenko UC Berkeley
Delay Optimization using SOP Balancing
Enhancing PDR/IC3 with Localization Abstraction
Robert Brayton Alan Mishchenko Niklas Een
New Directions in the Development of ABC
Alan Mishchenko Robert Brayton UC Berkeley
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Magic An Industrial-Strength Logic Optimization, Technology Mapping, and Formal Verification System Alan Mishchenko UC Berkeley.
A Semi-Canonical Form for Sequential AIGs
Applying Logic Synthesis for Speeding Up SAT
Integrating an AIG Package, Simulator, and SAT Solver
Synthesis for Verification
Optimal Redundancy Removal without Fixedpoint Computation
Property Directed Reachability with Word-Level Abstraction
The Synergy between Logic Synthesis and Equivalence Checking
The Synergy between Logic Synthesis and Equivalence Checking
Introduction to Formal Verification
Polynomial Construction for Arithmetic Circuits
SAT-Based Optimization with Don’t-Cares Revisited
Robert Brayton UC Berkeley
Scalable and Scalably-Verifiable Sequential Synthesis
Automated Extraction of Inductive Invariants to Aid Model Checking
Improvements to Combinational Equivalence Checking
GLA: Gate-Level Abstraction Revisited
Integrating Logic Synthesis, Technology Mapping, and Retiming
Resolution Proofs for Combinational Equivalence
Integrating an AIG Package, Simulator, and SAT Solver
Canonical Computation without Canonical Data Structure
Alan Mishchenko UC Berkeley
Recording Synthesis History for Sequential Verification
Delay Optimization using SOP Balancing
Alan Mishchenko UC Berkeley
Magic An Industrial-Strength Logic Optimization, Technology Mapping, and Formal Verification System Alan Mishchenko UC Berkeley.
Innovative Sequential Synthesis and Verification
Robert Brayton Alan Mishchenko Niklas Een
Fast Min-Register Retiming Through Binary Max-Flow
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Alan Mishchenko Robert Brayton UC Berkeley
Presentation transcript:

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 Group, Austin, TX

2 Overview Motivation Motivation Previous work Previous work Inductive invariants Inductive invariants Selecting invariant candidates Selecting invariant candidates Proving inductive invariants Proving inductive invariants Experimental results Experimental results Conclusions and future work Conclusions and future work

3 Motivation Inductive invariants in verification Inductive invariants in verification Prevent spurious counter-examples to induction Prevent spurious counter-examples to induction Speed up SAT and improve SAT-based algorithms Speed up SAT and improve SAT-based algorithms Interpolation, functional dependency, etc Interpolation, functional dependency, etc Inductive invariants in synthesis Inductive invariants in synthesis Represent over-approximation of reachable states Represent over-approximation of reachable states Can be used as care set during logic optimization Can be used as care set during logic optimization

4 Preventing Spurious C-Examples Spurious c-examples are Achilles' heel of induction Spurious c-examples are Achilles' heel of induction Remedy: Induction strengthening Remedy: Induction strengthening For example, property P  Q may be provable by induction, even if properties P and Q are not For example, property P  Q may be provable by induction, even if properties P and Q are not Q Q P  Q complete state space P P P P unreachable reachable

5 Previous Work on Induction Strengthening Van Eijk’s approach (TCAD’00) Van Eijk’s approach (TCAD’00) Use candidate equivalences Use candidate equivalences If not enough, add dangling nodes (nodes after retiming) If not enough, add dangling nodes (nodes after retiming) Mike Case’s approach (FMCAD’07) Mike Case’s approach (FMCAD’07) Use implications that cover counter-examples Use implications that cover counter-examples Aaron Bradley’s approach (FMCAD’07) Aaron Bradley’s approach (FMCAD’07) Use minimal clauses derive from counter-examples Use minimal clauses derive from counter-examples Proposed approach Proposed approach Create properties based on groups of signals in the network Create properties based on groups of signals in the network

6 Inductive Invariants If property P is hard to prove, the goal is to find a new property Q that strengthens P If property P is hard to prove, the goal is to find a new property Q that strengthens P Q is an inductive invariant Q is an inductive invariant n P Q Y X

7 Selecting Invariant Candidates Perform two rounds of simulation: Perform two rounds of simulation: Combinational (C) Combinational (C) Random primary inputs and register outputs Random primary inputs and register outputs Sequential (S) Sequential (S) Random primary inputs and reachable states at register outputs Random primary inputs and reachable states at register outputs Collect combinations in Y-space of n appearing in C but not in S Collect combinations in Y-space of n appearing in C but not in S These are likely due to unreachable states These are likely due to unreachable states Consider one combination, say, (0110) Consider one combination, say, (0110) Q(y) = y1  y2  y3  y4 Q(y) = y1  y2  y3  y4 Q(y) is likely true only in unreachable states Q(y) is likely true only in unreachable states Its complement is a candidate inductive invariant Its complement is a candidate inductive invariant Q(y) = y1  y2  y3  y4 Q(y) = y1  y2  y3  y4 n P Q Y X

8 a b c d g f Cuts of a Cut Assignments Appears in Comb. Sim. Appears in Seq. Sim. Candidate Seq. Invariant Candidate Seq. Invariant {b, c} bc bcb+c … {e, f, g} efge+f+g efg efg … abcdefg Combinational Simulation Dataabcdefg Sequential Simulation Data e Example of Candidate Invariants

9 Proving Inductive Invariants Collecting candidate inductive invariants Collecting candidate inductive invariants Constants (1-clauses) Constants (1-clauses) Implications (2-clauses) Implications (2-clauses) Values of signals at n-cuts (n-clauses) Values of signals at n-cuts (n-clauses) Values of signals at n randomly selected nodes (n-clauses) Values of signals at n randomly selected nodes (n-clauses) Proving inductive invariants Proving inductive invariants Use k-step induction Use k-step induction Check invariants in the initialized k-frames Check invariants in the initialized k-frames Assume invariants true in the uninitialized k-frames, and prove them in the k+1 st frame Assume invariants true in the uninitialized k-frames, and prove them in the k+1 st frame

10 Experiment Overview Implemented invariant computation in ABC and in IBM’s SixthSense tool Implemented invariant computation in ABC and in IBM’s SixthSense tool Used in synthesis Used in synthesis Lead to 1-3% improvement in AIG nodes Lead to 1-3% improvement in AIG nodes Overall results are marginal Overall results are marginal Used in verification Used in verification Observe strengthening on some properties Observe strengthening on some properties Overall results are not impressive Overall results are not impressive Used to improve several algorithms Used to improve several algorithms Interpolation, functional dependency, etc Interpolation, functional dependency, etc Overall results are promising Overall results are promising

11 Experimental Results

12 Conclusions Developed a new method for expressing candidate invariants using n-clauses Developed a new method for expressing candidate invariants using n-clauses Created a scalable hierarchical approach to proving the candidate invariants, which trades off computational effort for the number and expressiveness of invariants generated Created a scalable hierarchical approach to proving the candidate invariants, which trades off computational effort for the number and expressiveness of invariants generated Performed initial experiments to evaluate the usefulness of inductive invariants Performed initial experiments to evaluate the usefulness of inductive invariants

13 Future Work Run further experiments and finetune using industrial benchmarks Run further experiments and finetune using industrial benchmarks Integrate the induction strengthening engine into equivalence checkers and model checkers Integrate the induction strengthening engine into equivalence checkers and model checkers Use the computed invariant clause sets as don’t-cares for circuit restructuring in technology-dependent synthesis Use the computed invariant clause sets as don’t-cares for circuit restructuring in technology-dependent synthesis