5/6/2004J.-H. R. Jiang1 Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Hardware and Petri nets Symbolic methods for analysis and verification.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
CS357 Lecture: BDD basics David Dill 1. 2 BDDs (Boolean/binary decision diagrams) BDDs are a very successful representation for Boolean functions. A BDD.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
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.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
Partial Implications, etc.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
Rolf Drechlser’s slides used
EE290A 1 Retiming of AND- INVERTER graphs with latches Juliet Holwill 290A Project 10 May 2005.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Reachability Analysis using AIGs (instead of BDDs?) 290N: The Unknown Component Problem Lecture 23.
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
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.
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.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
ECE 667 Synthesis and Verification of Digital Systems
03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.
State Minimization and Determinization EECS 290A Sequential Logic Synthesis and Verification.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Binary Decision Diagrams (BDDs)
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Conformant Probabilistic Planning via CSPs ICAPS-2003 Nathanael Hyafil & Fahiem Bacchus University of Toronto.
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.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
1 Verification of FSM Equivalence Goal: Verify that two sequential circuit implementations always produce the same sequence of outputs given the same sequence.
Bundle Adjustment A Modern Synthesis Bill Triggs, Philip McLauchlan, Richard Hartley and Andrew Fitzgibbon Presentation by Marios Xanthidis 5 th of No.
Foundations of Constraint Processing, Fall 2004 October 3, 2004Interchangeability in CSPs1 Foundations of Constraint Processing CSCE421/821, Fall 2004:
Manufacture Testing of Digital Circuits
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
1 Alan Mishchenko Research Update June-September 2008.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
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
Alan Mishchenko UC Berkeley
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
LPSAT: A Unified Approach to RTL Satisfiability
Scalable and Scalably-Verifiable Sequential Synthesis
Automated Extraction of Inductive Invariants to Aid Model Checking
Discrete Controller Synthesis
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Recording Synthesis History for Sequential Verification
State Abstraction Techniques for the Verification of Reactive Circuits
Robert Brayton Alan Mishchenko Niklas Een
Robert Brayton Alan Mishchenko Niklas Een
ECE 667 Synthesis and Verification of Digital Systems
10 Design Verification and Test
Presentation transcript:

5/6/2004J.-H. R. Jiang1 Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004

5/6/2004J.-H. R. Jiang 2 Outline Motivations Previous work Our formulation Experimental results Conclusions

5/6/2004J.-H. R. Jiang 3 Outline Motivations Previous work Our formulation Experimental results Conclusions

5/6/2004J.-H. R. Jiang 4 Motivations Logic synthesis of state transition systems Remove “redundant” registers using functional dependency Formal verification of state transition systems Reduce state space and compact BDD representations by removing dependent state variables

5/6/2004J.-H. R. Jiang 5 Outline Motivations Previous work Functional dependency Signal correspondence Our formulation Experimental results Conclusions

5/6/2004J.-H. R. Jiang 6 Previous work “Functional” dependency in state transition systems Problem formulation 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 it can be replaced with a function over other variables Solution – functional deduction Variable x i is redundant if and only if F| x i = 0 Æ F| x i = 1 = false Example F = abc Ç : a : c Minimal independent sets: {a, b}, {b, c} with dependency functions c := a, a := c, respectively

5/6/2004J.-H. R. Jiang 7 Previous work Applications of functional dependency Synthesis Register minimization in hardware synthesis from HDL Verification Minimization of BDDs of reached state sets Embed detection of functional dependency inside reachability analysis as an on-the-fly reduction Weakness Need to perform reachability analysis to derive functional dependency (for applying functional deduction)

5/6/2004J.-H. R. Jiang 8 Unsolved problem How to detect functional dependency without or before computing reached state sets ?

5/6/2004J.-H. R. Jiang 9 Previous work Signal correspondence Problem formulation A signal correspondence C µ s £ s is an equivalence relation (in reachable state subspace) on the set s of state variables ( This definition includes only identical functions, it can be extended to also include complemented functions) An effective solution Compute the equivalence relation by iterative refinement of state variables Valid for an over-approximated reachable space Application of detecting signal correspondence Make sequential equivalence checking more like combinational equivalence checking Detect equivalent state variables

5/6/2004J.-H. R. Jiang 10 Example (219B) s1s s2s2 s3s3 s4s4 s5s5 s 1 =1 s 2 =1 s 3 =1 s 4 =1 s 5 =1 v s 1 = x  v s 4 = x  v v1v1 s 2 =  v s 3 =  v s 5 =  v v2v2 s 1 = x  v 1 s 4 = x  v 1 v1v1 s 2 =  v 1 v 2 ) s 3 =  v 1 v 2 ) s 5 =  v 1 v 2 ) v2v2 Result: {s 1,s 4 } {s 2,s 3,s 5 } Instead of using constraint, use fresh variable for each class

5/6/2004J.-H. R. Jiang 11 Previous work Weakness Signal correspondence is a very limited form of functional dependency

5/6/2004J.-H. R. Jiang 12 Unsolved problem How to characterize a more general form of functional dependency by fixed-point computation?

5/6/2004J.-H. R. Jiang 13 Outline Motivations Previous work Our formulation Observation Combinational dependency Sequential dependency Greatest fixed point Least fixed point Verification Reduction Experimental results Conclusions

5/6/2004J.-H. R. Jiang 14 Our formulation Objective Resolve the unsolved problems (exploiting functional dependency and detecting signal correspondence) in a unified framework Key Conclude functional dependency directly from transition functions of a state transition system. Define combinational dependency Extend to sequential dependency

5/6/2004J.-H. R. Jiang 15 Combinational dependency Given two functions f and g over the same domain C, f functionally depends on g if there exists some function  such that f (·) =  ( g (·) ). A necessary and sufficient condition: f (a)  f (b)  g (a)  g (b), for all a,b  C In such case, we denote g v f Consider multi-valued functions as vectors of Boolean functions

5/6/2004J.-H. R. Jiang 16 Combinational dependency

5/6/2004J.-H. R. Jiang 17 Combinational dependency

5/6/2004J.-H. R. Jiang 18 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 of computing fixed points Greatest fixed-point (gfp); least fixed-point (lfp)

5/6/2004J.-H. R. Jiang 19 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.

5/6/2004J.-H. R. Jiang 20 Sequential dependency (gfp)

5/6/2004J.-H. R. Jiang 21 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.

5/6/2004J.-H. R. Jiang 22 Sequential dependency (lfp)

5/6/2004J.-H. R. Jiang 23 Legitimacy for logic synthesis Dependency may not hold for initial states which have no predecessors Localize conflicting state variables and declare them as independent state variables

5/6/2004J.-H. R. Jiang 24 Verification reduction Reachability analysis on reduced state space Static verification reduction Before a reachability analysis, derive sequential dependency (using lfp or gfp computation). Dynamic (on-the-fly) verification reduction In each iteration of a reachability analysis, derive a minimal set of independent state variables before the image computation. (No need to try to reuse  ’s.) Thus, the image computation is over the reduced state space. Prior work on exploiting functional dependency is not effective because the detection of functional dependency is done after the image computation.

5/6/2004J.-H. R. Jiang 25 Verification reduction

5/6/2004J.-H. R. Jiang 26 Outline Motivations Previous work Our formulation Experimental results Conclusions

5/6/2004J.-H. R. Jiang 27 Experimental results 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

5/6/2004J.-H. R. Jiang 28 Experimental results 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

5/6/2004J.-H. R. Jiang 29 Experimental results 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,

5/6/2004J.-H. R. Jiang 30 Outline Motivations Previous work Our formulation Experimental results Conclusions

5/6/2004J.-H. R. Jiang 31 Conclusions Proposed a computation of functional dependency w/o reachability analysis. Unified two previously independent studies on detecting signal correspondence and exploiting functional dependency. Detecting signal correspondence is a special case of lfp computation of sequential dependency. Previous approach on exploiting functional dependency can be improved with our dynamic reduction. In addition to verification reduction, our results can be used to minimize state transition systems.