4/21/2005JHJ1 Structure-dependent Sequential Equivalence Checking EE290A UC Berkeley Spring 2005.

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
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.
Address comments to FPGA Area Reduction by Multi-Output Sequential Resynthesis Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1.
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.
Lecture 24 MAS 714 Hartmut Klauck
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
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.
TOWARDS EQUIVALENCE CHECKING BETWEEN TLM and RTL MODELS PRINCIPLES OF SEQUENTIAL EQUIVALENCE VERIFICATION Giray Kömürcü Boğaziçi University CMPE 58Q.
© Anvesh Komuravelli IC3/PDR Overview of IC3/PDR Anvesh Komuravelli Carnegie Mellon University.
6/14/991 Symbolic verification of systems with state machines David L. Dill Jeffrey Su Jens Skakkebaek Computer System Laboratory Stanford University.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
Partial Implications, etc.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Bounded Model Checking EECS 290A Sequential Logic Synthesis and Verification.
Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. On the Optimization Power of Retiming and Resynthesis Transformations Joint work with: Vigyan.
4/19/2005JHJ1 Structure-independent Sequential Equivalence Checking EE290A UC Berkeley Spring 2005.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
Inductively Finding a Reachable State Space Over-Approximation EE 290a Project Presentation Mike Case.
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.
5/6/2004J.-H. R. Jiang1 Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004.
1 Completeness and Complexity of Bounded Model Checking.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Sequential Equivalence Checking.
01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley.
Proof by Deduction. Deductions and Formal Proofs A deduction is a sequence of logic statements, each of which is known or assumed to be true A formal.
Logic Synthesis Primer
ECE 667 Synthesis and Verification of Digital Systems
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.
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Propositional Calculus Math Foundations of Computer Science.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Automatic Abstraction Refinement for GSTE Yan Chen, Yujing He, and Fei Xie Portland State University Jin Yang Intel Nov 13, 2007.
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
Enhancing and Integrating Model Checking Engines Robert Brayton Alan Mishchenko UC Berkeley June 15, 2009.
Incremental formal verification of hardware Hana Chockler Alexander Ivrii Arie Matsliah Shiri Moran Ziv Nevo IBM Research - Haifa.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
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.
Mathematical Preliminaries
1 Verification of FSM Equivalence Goal: Verify that two sequential circuit implementations always produce the same sequence of outputs given the same sequence.
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
1 Alan Mishchenko Research Update June-September 2008.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Hybrid BDD and All-SAT Method for Model Checking
Chih-Fan Lai1, J.-H. Roland Jiang1, and Kuo-Hua Wang2
Hardware Verification
Synthesis for Verification
Interpolating Functions from Large Boolean Relations
Synthesis for Verification
Optimal Redundancy Removal without Fixedpoint Computation
Scalable and Scalably-Verifiable Sequential Synthesis
Research Status of Equivalence Checking at Zhejiang University
Resolution Proofs for Combinational Equivalence
Discrete Controller Synthesis
ESE535: Electronic Design Automation
ECE 352 Digital System Fundamentals
Recording Synthesis History for Sequential Verification
State Abstraction Techniques for the Verification of Reactive Circuits
Robert Brayton Alan Mishchenko Niklas Een
ECE 667 Synthesis and Verification of Digital Systems
10 Design Verification and Test
Presentation transcript:

4/21/2005JHJ1 Structure-dependent Sequential Equivalence Checking EE290A UC Berkeley Spring 2005

2 Outline Introduction Discovering hidden similarities Signal correspondence Functional dependency Relational dependency Reachability analysis under similarities Retiming for verification On-the-fly state re-encoding On-the-fly reduction using functional dependency Design for verifiability C-1-D equivalence Conclusions

3 Outline Introduction Discovering hidden similarities Signal correspondence Functional dependency Relational dependency Reachability analysis under similarities Retiming for verification On-the-fly state re-encoding On-the-fly reduction using functional dependency Design for verifiability C-1-D equivalence Conclusions

4 Introduction Bridge the complexity gap between sequential and combinational equivalence checking Detect hidden similarities  Designs to be checked are often similar in circuit structures If the relation between state encodings is known, equivalence checking can be done combinationally PSPACE-complete to NP-complete  Similarities can be captured by signal correspondence, functional dependency, relational dependency, etc. Take advantage of similarities  Simplify circuit  Simplify reachability analysis

5 Outline Introduction Discovering hidden similarities Signal correspondence Functional dependency Relational dependency Reachability analysis under similarities Retiming for verification On-the-fly state re-encoding On-the-fly reduction using functional dependency Design for verifiability C-1-D equivalence Conclusions

6 Hidden similarities in transition systems Signal correspondence Two points of a sequential circuit are corresponding signals if their valuations are the same (or complement to each other) under any input sequence Functional dependency A signal x functionally depends on a set S of other signals if the valuation of x can be expressed as a function over S under any input sequence Relational dependency Two sets S 1 and S 2 of signals are related if the valuations of one set can be inferred from those of the other

7 Usefulness of similarities Simplify circuits Compact BDD representation Reduce search space for SAT-based verification

8 Similarity - signal correspondence Exact signal correspondence Computationally hard k-inductive signal correspondence Computationally easy for small k Only subset of signal correspondence

9 Signal correspondence Detect equivalent state variables in an over-approximated state space by a least fixed-point computation [van Eijk 95] Example [Kuehlmann] s 1 = x  v 1 v1v1 s 2 =  v 1 v 2 ) s 3 =  v 1 v 2 ) v2v2 s 1 =1 s 2 =1 s 3 =1 v s 1 = x  v v1v1 s 2 =  v s 3 =  v v2v2 Result: {s 1 }, {s 2,s 3 } x s1s s2s2 s3s3

10 Signal correspondence Weakness Signal correspondence is a very limited form of functional dependency  In very few cases, can prove sequential equivalence by signal correspondence Not sufficient to prove equivalence under retiming How to characterize a more general form of functional dependency by a fixed-point computation (w/o reachability analysis)?

11 Similarity - functional dependency Maximum functional dependency Not unique Computationally hard k-inductive functional dependency Computationally easier

12 Functional dependency Assume transition systems are described with transition functions rather than transition relations Conclude functional dependency directly from transition functions Define combinational dependency Extend to sequential dependency

13 Combinational dependency Given two vectors of Boolean functions f and g over the same domain B n, f functionally depends on g if there exists some function  such that f ( · ) =  ( g ( · ) ). f is the vector of (functional) dependents g is the vector of (functional) independents  is the vector of dependency functions (f, g,  ) is the dependency triplet A necessary and sufficient condition: f (a)  f (b)  g (a)  g (b), for all a,b  B n (In other words, g is more distinguishing than f over the domain.) Problem statement Given a vector of functions h, we are asked to partition h into two sub-vectors f and g such that (f, g,  ) forms a dependency triplet with |g| minimized

14 Combinational dependency Search candidates of dependents and independents Lemma. Given two functional vectors f and g, g is more distinguishing than f only if the support set of f is contained by that of g.  A variable x is a support of a functional vector f = (f 1, …,f n ) if there exists i such that f i | x = 0 xnor f i | x = 1 is not a tautology Compute  in f =  (g)

15 Combinational dependency

16 Sequential dependency Extend combinational dependency for state transition systems Find invariant  such that s dep =  (s ind ) and  dep =  (  ind ) where s represents the set of state variable and  represents the set of transition functions. Two approaches to computing fixed points Greatest fixed-point (gfp); least fixed-point (lfp)

17 Backward sequential dependency Greatest fixed-point (gfp) computation Initially, all state variables are distinct. In each iteration, compute the combinational dependency among independent state variables from the previous iteration.

18 Forward sequential dependency Least fixed-point (lfp) computation Initially, select one state var as the representative.  (0) is determined by initial state information. In each iteration of computing functional dependency, try to reuse  ’ s from the previous iteration. If restrict  ’ s to be identity functions, the computation reduces to detecting signal correspondences.

19 Functional dependency Caveat: Dependency may not hold for initial states I which have no predecessor states For verification – use the successor states of I as the new initial state set For logic synthesis – localize conflicting state variables and declare them as independent state variables

20 Functional dependency - experiments Dependency in original FSM CircuitRegSignal CorrespondenceSequential Dependency GfpSequential Dependency Lfp Indp.Iter.MbsecIndp.Iter.MbsecIndp.Iter.Mbsec s298-rt s526n-rt s838-rt s991-rt mult16a-rt tbk-rt s s s s s

21 Functional dependency - experiments Dependency in product FSM CircuitRegSignal CorrespondenceSequential Dependency GfpSequential Dependency Lfp Indp.Iter.MbsecIndp.Iter.MbsecIndp.Iter.Mbsec s s s s s s s526n s s s mult16a tbk

22 Functional dependency - summary Characterize stronger invariants than signal correspondence In principle, can prove sequential equivalence under retiming transformation  However, may not find the right dependency in practice Computationally harder than signal correspondence but still practical Refinement relation instead of equivalence relation

23 Similarity - relational dependency Exact relational dependency Computationally hard Equivalent to reachability analysis Inductive relational dependency How?

24 Improving inductive approaches Inductive characterization of S.C. and F.D. Base case: Init(s)  Prop(s) Inductive case: Prop(s)  Trans(s,t)  Prop(t) (where Prop could be S.C., F.D., or even other properties) Strengthening induction hypothesis Over transition Base case: Init(s 1 )  Trans(s 1,s 2 )  …  Trans(s k-1,s k )  Prop(s 1 )  …  Prop(s k ) Inductive case: Prop(s 1 )  …  Prop(s k )  Trans(s 1,s 2 )  …  Trans(s k,s k+1 )  Prop(s k+1 ) Over property Reachability analysis! P. Bjesse, K. Claessen: SAT-Based Verification without State Space Traversal. FMCAD 2000:

25 Outline Introduction Discovering hidden similarities Signal correspondence Functional dependency Relational dependency Reachability analysis under similarities Retiming for verification On-the-fly state re-encoding On-the-fly reduction using functional dependency Design for verifiability C-1-D equivalence Conclusions

26 Reachability analysis under similarities Compact state space by removing redundancies Available techniques Retiming State re-encoding Variable dependency Functional dependency …

27 Reduction by retiming Use retiming to reduce state variables or ease reachability analysis Allow negative registers (peripheral retiming) Special subset of functional dependency limited to circuit structures No dependency can be discovered between different designs Only static reduction A. Kuehlmann & J. Baumgartner. Transformation-based verification using generalized retiming. CAV 2001.

28 Reduction by incremental re-encoding Transform one FSM to another by incremental re- encoding Two designs must be similar up to a 1-to-1 mapping between equivalent states S. Quer, et al. Verification of similar FSMs by mixing incremental re-encoding, reachability analysis, and combinational check. Formal Methods in System Design, vol. 17, pages , 2000.

29 Reduction by variable dependency Problem formulation [Berthet et al. 90] Given a characteristic function F(x 1,x 2, …, x n ), compute a minimal set of irredundant (independent) variables  Variable x i is redundant if its valuation can be inferred by a function over other variables Solution - functional deduction [Brown 03] Variable x i is redundant in F if and only if F| x i = 0  F| x i = 1 = false  Example F = abc   a  c {a, b} is a minimal independent set with  c = a a dependency function Embed variable dependency in reachability analysis Weakness: detect dependency after every image computation of a reachability analysis

30 Reduction by functional dependency Static reduction Compute functional dependency (with gfp and/or lfp) before a reachability analysis Dynamic reduction Compute functional dependency before every image computation of a reachability analysis

31 Reduction by functional dependency - experiments On-the-fly reduction CircuitIter.Reach. Analysis w/o Dep. ReductionReach. Analysis w Dep. Reduction Peak (bdd nodes) Reached (bdd nodes) MbsecPeak (bdd nodes) Reached (bdd nodes) Mbsec s ,819,30116,158, ,843,83710,746, s ,527,781248, ,0068, s53782N/A >2GN/A1,151,439113, s ,842,8899,961, ,667,0766,356, ,663,7491,701, ,830,6021,338,

32 Outline Introduction Discovering hidden similarities Signal correspondence Functional dependency Relational dependency Reachability analysis under similarities Retiming for verification On-the-fly state re-encoding On-the-fly reduction using functional dependency Design for verifiability C-1-D equivalence Conclusions

33 Design for verifiability Complete-1-distinguishability If any state of a specification FSM M 1 can be distinguished from others with a length-1 input sequence, then its corresponding equivalence class of an implementation FSM M 2 can be found using a mapping induced by 1-equivalence between the states of the two FSMs.  Expose a subset of registers as pseudo-primary outputs to enforce the C-1-D property One-step equivalence checking (solely depends on output functions if reachable states are known) P. Ashar, A. Gupta, S. Malik: Using complete-1-distinguishability for FSM equivalence checking. ICCAD 1996:

34 Design for verifiability Boundary-preserving retiming and resynthesis Protect some signals intact under RnR transformation  E.g. expose the signals as pseudo-primary outputs Corresponding signals exist for combinational equivalence checking

35 Outline Introduction Discovering hidden similarities Signal correspondence Functional dependency Relational dependency Reachability analysis under similarities Retiming for verification On-the-fly state re-encoding On-the-fly reduction using functional dependency Design for verifiability C-1-D equivalence Conclusions

36 Conclusions Bridging the gap between sequential and combinational EC by exploiting hidden similarities Extract similarities:  Generalization from signal correspondence to functional dependency  How about from functional to relational dependency? Accelerate reachability analysis:  Using similarities to compact state space, simplify BDD representation, and prune search space for SAT