310 likes | 336 Views
Functional Dependency for Verification Reduction & Logic Minimization. EE290N, Spring 2004. Outline. Motivations Previous work Our formulation Experimental results Conclusions. Outline. Motivations Previous work Our formulation Experimental results Conclusions. Motivations.
E N D
Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004 J.-H. R. Jiang
Outline • Motivations • Previous work • Our formulation • Experimental results • Conclusions J.-H. R. Jiang
Outline • Motivations • Previous work • Our formulation • Experimental results • Conclusions J.-H. R. Jiang
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 J.-H. R. Jiang
Outline • Motivations • Previous work • Functional dependency • Signal correspondence • Our formulation • Experimental results • Conclusions J.-H. R. Jiang
Previous work • “Functional” dependency in state transition systems • Problem formulation • Given a characteristic function F(x1,x2, …, xn), compute a minimal set of irredundant (independent) variables • Variable xi is redundant if it can be replaced with a function over other variables • Solution – functional deduction • Variable xi is redundant if and only if F|xi = 0 Æ F|xi = 1 = false • Example • F = abc Ç:a:c Minimal independent sets: {a, b}, {b, c} with dependency functions c := a, a := c, respectively J.-H. R. Jiang
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) J.-H. R. Jiang
Unsolved problem • How to detect functional dependency without or before computing reached state sets ? J.-H. R. Jiang
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 J.-H. R. Jiang
s2=1 s1=1 s4=1 s3=1 s5=1 v s2= Øv s1= x Å v s4= x Å v s3= Øv v1 s5= Øv v2 s2= Ø(v1v2) s1= x Å v1 s4= x Å v1 s3= Ø(v1v2) v1 s5= Ø(v1v2) v2 Example (219B) Instead of using constraint, use fresh variable for each class s1 s3 s2 1 1 1 s4 s5 1 1 Result: {s1,s4} {s2,s3,s5} J.-H. R. Jiang
Previous work • Weakness • Signal correspondence is a very limited form of functional dependency J.-H. R. Jiang
Unsolved problem • How to characterize a more general form of functional dependency by fixed-point computation? J.-H. R. Jiang
Outline • Motivations • Previous work • Our formulation • Observation • Combinational dependency • Sequential dependency • Greatest fixed point • Least fixed point • Verification Reduction • Experimental results • Conclusions J.-H. R. Jiang
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 J.-H. R. Jiang
Combinational dependency • Given two functions f and g over the same domain C, ffunctionally 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 gvf • Consider multi-valued functions as vectors of Boolean functions J.-H. R. Jiang
Combinational dependency J.-H. R. Jiang
Combinational dependency J.-H. R. Jiang
Sequential dependency • Extend combinational dependency for state transition systems • Find invariant such that sdep= (sind) 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) J.-H. R. Jiang
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. J.-H. R. Jiang
Sequential dependency (gfp) J.-H. R. Jiang
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. J.-H. R. Jiang
Sequential dependency (lfp) J.-H. R. Jiang
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 J.-H. R. Jiang
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. J.-H. R. Jiang
Verification reduction J.-H. R. Jiang
Outline • Motivations • Previous work • Our formulation • Experimental results • Conclusions J.-H. R. Jiang
Experimental results • Dependency in original FSM J.-H. R. Jiang
Experimental results • Dependency in product FSM J.-H. R. Jiang
Experimental results • On-the-fly reduction J.-H. R. Jiang
Outline • Motivations • Previous work • Our formulation • Experimental results • Conclusions J.-H. R. Jiang
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. J.-H. R. Jiang