Presentation is loading. Please wait.

Presentation is loading. Please wait.

Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University.

Similar presentations


Presentation on theme: "Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University."— Presentation transcript:

1 Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University of Massachusetts Amherst, USA Supported by Avery Design Systems, Inc., USA

2 2 The SAT Problem – in Our Context a b c d u v w Output requirements: u=1, v=1, w=1 SAT assignments: a, b, c, d = ? Given: output value requirements for a circuit Compute: satisfying assignments at the inputs

3 3 Application to Functional Verification Given an RTL specification of a circuit Module Input ports, output ports, internal signals Begin description..... If (condition) then Assign signal = function( ); End if;..... End module Expand The underlying logic Solve SAT for expanded logic + re-simulate Simulate the design (user directed, pseudo-random, targeted vectors) Code coverage ?

4 4 Solving SAT Using BDDs: BDD-SAT Build BDDs for each output Build the product BDD (AND of output BDDs) Result: set of all satisfying assignments If the set is empty, infeasible SAT instance Boolean logic

5 5 How Does BDD-SAT Work Product BDD = set of all satisfying solutions 0 1 Product BDD ab ab’c a b c Every path root --> 1 is a SAT solution Pick any path (prod. term) Limitation: BDD may be too large

6 6 Our Focus How to solve the SAT problem without building the product BDD? Assume individual BDD can be built Why is the intermediate product too large? Intermediate computations contain regions of empty solution space Discard regions of empty solution space from further exploration

7 7 Unate Functions in SAT f x i f x i f x f x Neithernorcontain x f x f x x + f = f x  Positive unate: f x SAT ( f ) = SAT ( ) x f x Simplification: Look for solution in f x

8 8 Unateness Consistency f g = x g x f x + f x g x SAT(f g) = x SAT( ) g x f x f x f x g x g x f x g x g x f x If all functions consistently unate in x

9 9 Unate Recursive Paradigm For SAT f g = x g x f x + f x g x x SAT (f g) = x SAT( ) + SAT( ) x f x g x f x g x Perhaps the co-factors are unate What if no consistently unate variables ? consider two functions f, g, both unate in x use Shannon expansion recursively

10 10 Conclusions and Future Work Exploiting the unate recursive paradigm to solve SAT, using BDDs Developed two algorithms: B-SAT & Inc-USAT BSAT: efficiently controls the BDD size, but slow for infeasible SAT instances Inc-USAT: incomplete search, finds easy solutions quickly, cannot prove infeasibility unequivocally Both B-SAT & Inc-USAT are inefficient for infeasible SAT instances Future work: incorporation of “learning” techniques


Download ppt "Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University."

Similar presentations


Ads by Google