Download presentation
Presentation is loading. Please wait.
1
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar : 3 May 2000
2
Outline The Propositional Satisfiability (SAT) problem SAT Applications in EDA Two classical approaches for SAT Recent Advances Solving SAT on Boolean networks Current research & Future directions
3
Outline The Propositional Satisfiability (SAT) problem SAT Applications in EDA Two classical approaches for SAT Recent Advances Solving SAT on Boolean networks Current research & Future directions
4
The Propositional Satisfiability (SAT) problem Given a formula, f : C1C1 C2C2 C3C3 a=b=c=1 (a,b,c) (C 1,C 2,C 3 ) Comprised of a conjunction of clauses Defined over a set of variables, V Each clause is a disjunction of literals of the variables V Example : Does there exist an assignment of Boolean values to the variables, V which sets at least one literal in each clause to ‘1’ ?
5
Outline The Propositional Satisfiability (SAT) problem SAT Applications in EDA Two classical approaches for SAT Recent Advances Solving SAT on Boolean networks Current research & Future directions
6
SAT Applications in EDA Combinational ATPG (stuck-at, bridging, delay faults) Circuit Delay Computation FPGA Routing Logic Synthesis (viz. redundancy removal) Combinational Equivalence checking Processor Verification Bounded Model Checking Functional vector generation Crosstalk Noise Analysis …..
7
Outline The Propositional Satisfiability (SAT) problem SAT Applications in EDA Two classical approaches for SAT Davis-Putnam, 1960 (Resolution) Davis-Logemann-Loveland, 1962 ( Backtracking) Recent Advances Solving SAT on Boolean networks Current research & Future directions
8
Simple Backtracking Algorithm for SAT Is_SAT(f, A) { if Check_SAT(f, A) return SAT if Check_UNSAT(f,A) return UNSAT v = Next_Variable(f, A) if Is_SAT(f, (A,v=0)) return SAT if Is_SAT(f, (A,v=1)) return SAT return UNSAT } f,A v f, (A,v=0)f, (A,v=1) Given : CNF formula f(v 1,v 2,..,v k ), and a total order on the variables v 1,v 2,..,v k
9
Backtracking Contd... Unit Clause Rule : Assign to true the literal in any single literal clauses. Iterated application of this is called Boolean Constraint Propagation (BCP) v v Pure Literal Rule : Set any unate variables in the aaformula to their appropriate polarity
10
Resolution (Davis-Putnam 1960) Resolve out variable
11
Resolution Contd... Given : CNF formula f(v 1,v 2,..,v k ), and a total order on the variables v 1,v 2,..,v k For each variable ‘v’ in sequence of the total order : Resolve out variable ‘v’ and add all generated resolvents to a formula Remove all clauses with variable ‘v’ Iterate, till : þ þ All clauses are resolved out => SAT ý ý Conflicting pair of unit clauses are created => UNSAT
12
Branching Vs Resolution Branching Linear space (memory) requirements. Depth-First search of the solution space. Simplistic though highly redundant. Resolution Worst case exponential space (memory) req. Breadth-First search of the solution space. Simplistic though highly redundant.
13
Outline The Propositional Satisfiability (SAT) problem SAT Applications in EDA Two classical approaches for SAT Recent Advances Non-local implications (SOCRATES, TEGUS) The GRASP algorithm Recursive Learning Solving SAT on Boolean networks Current research & Future directions
14
Recent Advances Non-local implications (SOCRATES,TEGUS) Usually performed as a pre-processing step long implication chains common in SAT on circuits Avoid repeated work in BCP v The GRASP algorithm (Silva & Sakallah, 1996) u Distinguishing feature : Conflict analysis
15
Main Features of GRASP SAT X k-1 xkxkxkxk xkxkxkxk x2x2x2x2 x2x2x2x2 x1x1x1x1 x1x1x1x1 xjxjxjxj xjxjxjxj Failure-driven assertions Non-chronological backtracking Conflict-based equivalence 1 2 3
16
Conflict Analysis: An Example Decision Assignment: Current Assignment:
17
Example Contd: Implication Graph x 2 = 1@6 x 11 = 0@3 x 6 = 1@6 x 5 = 1@6 x 1 = 1@6 x 9 = 0@1 x 4 = 1@6 x 3 = 1@6 x 10 = 0@3 3333 3333 1111 2222 2222 4444 4444 5555 5555 6666 6666
18
Example Contd…. x 7 = 1@6 x 13 = 1@2 x 12 = 1@2 x 8 = 1@6 ```` ```` 9999 9999 9999 7777 7777 8888 x 1 = 0@6 x 9 = 0@1 x 10 = 0@3 x 11 = 0@3 x1x1 5 3 6 Decision Level
19
Recursive Learning Proposed by Kunz & Pradhan as a general technique for Boolean Reasoning on logic circuits. Basic idea : Extract common conclusions by examining all possible scenarios of achieving a given objective, upto a restricted degree (recursion depth). common conclusions all possible scenarios restricted degree ------------------------ ------------------------ ------------------------ ------------------------ ------------------------------------------------ Common Inference !!
20
Recursive Learning on CNF Formulas Assignments:
21
Outline The Propositional Satisfiability (SAT) problem SAT Applications in EDA Two classical approaches for SAT Recent Advances Solving SAT on Boolean networks Current research & Future directions
22
Solving SAT on Boolean networks Observation: Topological circuit information is often crucial to the efficient solution of SAT problems posed on logic circuits. Natural ordering of variables Grouping of variables to reason about Natural partitioning of the problem Proposed Solutions : Solve SAT directly on the network Augment a conventional SAT solver with a circuit layer (Silva et. al.: CGRASP) Extended Implication graph (Tafertshofer et. al.)
23
Current Research Efforts Incremental SAT (Sakallah et. al.) Pre-processing of SAT formulas (Silva et. al.) Dedicated Reconfigurable hardware architecutes (Abramovici et. al., Malik et. al.) Randomized SAT algorithms for EDA applications (Selman & Kautz, Singhal & Burch) Bounded /Directed Resolution
24
Suggested Reading J. Marques-Silva and K. A. Sakallah, “GRASP: A Search Algorithm for Propositional Satisfiability,” in IEEE Transactions on Computers, vol. 48, no. 5. pp 506-51, May 1999 J. Marques-Silva and K. A. Sakallah, “Boolean Satisfiability in Electronic Design Automation,” to appear at DAC 2000. J. Gu, P. W. Purdom, J. Franco, B. W. Wah, “Algorithms for the Satisfiability (SAT) Problem: A Survey,” DIMACS Series in Discrete Mathematics and Computer Science, vol. 35, pp. 19-151, 1997.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.