![Page 1: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/1.jpg)
QuteSatA Robust Circuit-Based SAT Solver
for Complex Circuit StructureChung-Yang (Ric) Huang
National Taiwan University
To appear: DATE 200702/10/2007
![Page 2: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/2.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Fact Sheet (Background)Boolean Satisfiability (SAT)
Given a Boolean networkF: Bn B,
find an input assignment A: { x1 = a1, x2 = a2,... , xn = an | ai ∈ B }
such that F = 1.First proven NP complete problem (Cook 1971)
Well researched problems in AI, OR, EDA...Widely used in many EDA areas
Verification, Testing, Logic optimization, Physical implementation, etc
![Page 3: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/3.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Yet Another SAT engine?Yaya, but with two missions...
1. Generalized for general constraint satisfiability and optimization problems
2. Specialized for EDA specific applications
GraspTegus
zChaff MiniSat
NimoSATO
Nemesis
![Page 4: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/4.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Large vs. Little EnginesMuch of the focus in automated deduction has been on finding uniform procedures for large classes of theorems
For example, the resolution method is a simple, sound and complete inference procedure for first-order logicResolution-based methods have had signicant successes solving open problems in diverse branches of mathematics
However, big engines are not always predictable enough for serious applications --- they do a poor job of “exploiting domain knowledge”
The little engines ideology is based on composing small theory-specific engines.
“Little Engines of Proof”, Lec Notes, Dr. Shankar, SRI et. al.
![Page 5: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/5.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Examples of Little EnginesPropositional satisability solversBinary Decision DiagramsCongruence Closure for Equality PropagationReal and Integer linear arithmetic solversDecision procedures for lists, arrays, bit-vectors.Presburger arithmeticMonadic Second Order Logic
“Little Engines of Proof”, Lec Notes, Dr. Shankar, SRI et. al.
![Page 6: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/6.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Large vs. Little Engines
Little Engines
Tuned for specific
problems
Uniformity of data structure and interface
Large Engines
QuteSattarget
Sharing between engines
Flexibility for new algorithms
![Page 7: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/7.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
What to expect in this talk...
Background: Fact sheet, large vs. little enginesReview: CNF-based SAT
2-literal watch for Boolean Constraint Propagation (BCP)Antecedent clause for efficient conflict-driven learning
Proposed: QuteSat (Circuit SAT)Generic watch schemeImplicit implication graph
Experimental resultsFuture work
![Page 8: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/8.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Conjunctive Normal Form (CNF) SATMost modern Boolean SAT solvers are in CNF
Product of sum (PoS) format
1. Efficient Boolean Constraint Propagation (BCP)2. Conflict-driven learning with non-chronological
backtracking3. Decision variable heuristics4. Clause database reduction
The simpler, the better.
(a+b+c)(a’+b’+c)(a’+b+c’)(a+b’+c’)
Variables Literals Clauses
![Page 9: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/9.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
From CNF to Circuit SATHowever, most of the EDA problems are not naturally in CNF format
Operators (∧∨¬⊕±×≥...) ∧(¬∨)Loss of implicability
Structural info (direction, locality,...) N/ACan we implement SAT on circuit structure?(This is not new e.g. ATPG)
Pros: flexibility, structural infoCons: complex implementation, slower BCP
![Page 10: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/10.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
BCP in CNF SATBoolean implication
e.g. (a1 = 1) && (a2 = 0) && ... (an-1 = 1) (an = 1)
BCP algorithms1. while (ai gets a value), check if only one ‘x’ is left
O(n2)
2. Count num of ‘x’O(n), but overhead in maintaining ‘x’ count
3. Watch 2 literals in a clause. Only when watched literal changes, then we check the clause
Amortized O(C)
(a1 + a2 + ... + an-1 + an)
value: x 0 x 1
![Page 11: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/11.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Can circuit SAT do 2-watch?
Watch 2 fanins?What’s the watch value?How about gate output?How about OR, NOR, NAND,.. gates?How about XOR, MUX, ... complex gates?
0
0
111
1
110
0
110
0 1
111Forward Backward
1
111
0
0
110
omni-directional implications
![Page 12: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/12.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
A Closer Look
0
0 1
1 1 1 1 1 1
1
1 1 0
0
1 1 0
0
( ai + f ) ( a1 + a2 + ... + an + f )
Different implications on circuit-based SAT actually map to the same implication on CNF SAT
![Page 13: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/13.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Direct vs. Indirect Implications
1. Direct implicationCorresponding n 2-literal clauses in CNF SATSingle implication source
No need to watch
0
0 1
11 1
![Page 14: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/14.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Direct Implication
1. Single source for each implication2. Only depends on netlist structure; has
nothing to do with the proving process (e.g. decisions, etc)
3. Should never encounter “CONFLICT”during the proof process
![Page 15: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/15.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Direct Implication
ab c
_0DirImps: { b, ... }_1DirImps: { ... } _0DirImps: { ... }
_1DirImps: { a, c, ... }
Construct a “direct implication graph” in the preprocessing step
Apply direct implications whenever a gate is implied to a value
_0DirImps: { b, ... }_1DirImps: { ... }
![Page 16: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/16.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Direct vs. Indirect Implications
1. Direct implicationCorresponding n 2-literal clauses in CNF SATSingle implication source
No need to watch2. Indirect implication
Corresponding to the same (n+1)-literal clauseOnly the last implied pin has different value
2 watches: among all fanins and the gate itself
0
0 1
11 1 11 1
1
11 0
0
11 0
0
![Page 17: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/17.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Indirect Implication (AND gate)
Select 2 pins (fanins or the gate itself) in a gate to watch
Almost the same as CNF SATFor each gate, a list of watching gates
When a gate gets a value, perform direct implication and/or update watch for the gates on the watching list
a c
b
watching-0: { a }watching-1: { }
watching-0: { }watching-1: { a, b }
watching-0: { }watching-1: { }
watched pins
![Page 18: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/18.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Watch Scheme for XOR Gaten-input XOR gate
2n (n+1)-literal clausese.g. (a + b + f) (a + b + f) (a + b + f) (a + b + f)
Implication occurs only when n variables become “known”2-watch; watch-known
a c
b
watching-0: { a }watching-1: { }watching-known: { }
watching-0: { }watching-1: { b }watching-known: { a }
watching-0: { }watching-1: { }watching-known: { }
![Page 19: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/19.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Watch Scheme for MUX Gate
2-watch; watch-known?No. If watching { f, s }, when { a=1, b=1 }, we miss the implication { f=1 }
3-watch; watch known!!Compared: CNF (6 clauses; 12 watch literals)
(¬f + a + b)(f + ¬a + ¬b)(a = b) (f = a)
(¬s + f + ¬b)(¬s + ¬f + b)s (f = b)
(s + f + ¬a)(s + ¬f + a)¬s (f = a)
CNF clausesImplication
MUX function: f = ¬s ∧ a + s ∧ b
![Page 20: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/20.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Watch Scheme for PB GatesPB Constraint:
C0p0 + C1p1 + ... + Cn-1p1 ≥ Cn , where Ci ∈ Z+, pi∈Be.g. 4x1 + 3x2 + 2x3 + x4 >= 3
How many watches?2-watch? All-watch?Note:min #watches depends on the value assignmentsDynamic #watches? Too complicated....
Our approach∀ combinations of assignments triggering implications
max (min (#watches) )
![Page 21: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/21.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Generic Watch Scheme1. Watch candidate set
Output and input pins of the gate2. Watched value ‘v’ for each pin
If ‘v’ on this pin may eventually lead to an indirect implication on other pin(s), then ‘v’ is the watched value of this pin
3. Find a minimum subset of watched candidates(a) Assigning watched values on all the variables of the subset will
produce an indirect implication (b) Removing any of these assignments will void the implication
Let ‘k’ be the size of this subset.
4. We will need (n – k + 1) watched pointers.
![Page 22: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/22.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Generic Watch Scheme
5. Update of the watched pointerCalled only when there is a watched-value assignment on the watched pinOther cases:
Whenever there are assignments on the non-watched pinsNon-watched value assignments on the watched pinsDo nothing
![Page 23: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/23.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
CNF vs. Circuit SAT
BCP
Conflict Analysis
Branch on a Variable
conflict
No Sol.∅
learnedOK
Sol. Found
all variables assigned
successful
CNF SAT Circuit SAT
2-literal watch scheme
Topological scheduling
Antecedent ptr+ UIP cut
Imp Graph + UIP cut
Influence-guided + restart
Influence & structure-guided
+ restart
![Page 24: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/24.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
CNF vs. Circuit SAT
BCP
Conflict Analysis
Branch on a Variable
conflict
No Sol.∅
learnedOK
Sol. Found
all variables assigned
successful
2-literal watch scheme
Generic watch scheme
Antecedent ptr+ UIP cut
Imp Graph + UIP cut
Circuit SAT
Influence & structure-guided
+ restart
CNF SAT
Influence-guided + restart
![Page 25: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/25.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Conflict-Driven Learning
(a + c + d)
(a + c + d’)(a + c’ + d)
(a + c’ + d’)
(a’ + b + c)
(b’ + c’ + d)(a’ + b + c’)
(a’ + b’ + c)
a0
b0
c0
Conflict!d=1
c=0
(a + c + d)a=0
d=0(a + c + d’)
Implication Graph
Conflict source
(a + c) Learned clause
⇐ Backtrack
![Page 26: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/26.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Conflict-Driven Learning
Does CNF SAT record the imp graph?No!!
Clauses:(a’+b+c)(a+c+d)(a+c+d’)(a+c’+d)(a+c’+d’)(b’+c’+d)(a’+b+c’)(a’+b’+c)
d=1
c=0
(a + c + d)a=0
variables: a b c d
antecedent clause
![Page 27: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/27.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Can circuit SAT do “antecedent gate”?
GateClause
Gate + valueLiteral
GateVariable
Circuit SATCNF SAT
111
1g
Who “is” g’s antecedent gate?
g11
0
0
![Page 28: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/28.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Implicit Implication GraphIf the implication type is “DIRECT”, then the antecedent pointer is the single implication source.If the implication type is “INDIRECT”, then the implication sources are the watched candidates of the antecedent gate that are
(a) non-watched variables, and (b) watched variables with watched values, excluding
the implied pin.
![Page 29: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/29.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Implicit Implication Graph Example
f0
0g
Imp type: DIRECTAntecedent: f
impSrc: { f }
g
g1
0
0
fab
1
Imp type: INDIRECTAntecedent: f
impSrc: { f, a, b}
g
![Page 30: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/30.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Implicit Implication Graph Example
PB gate C: 4x1 + 3x2 + 2x3 + x4 >= 3Implication order: { x1 = 0, x2 = 0 }
Watched pins: { x2, x3, x4 }
Indirect implications: “x3 = 1”, “x4 = 1”
Imp type: INDIRECTAntecedent: C
impSrc: { x1, x2 }
x3 Imp type: INDIRECTAntecedent: C
impSrc: { x1, x2 }
x4
![Page 31: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/31.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
CNF vs. Circuit SAT
BCP
Conflict Analysis
Branch on a Variable
conflict
No Sol.∅
learnedOK
Sol. Found
all variables assigned
successful
2-literal watch scheme
Generic watch scheme
Antecedent ptr+ UIP cut
Implicit Imp Graph
+ UIP cut
Circuit SAT
Influence & structure-guided
+ restart
CNF SAT
Influence-guided + restart
![Page 32: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/32.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Experimental Results
N/RN/R1.392.691.69ave rank
2.1776.63185>3600>3600B20
14.454.4666>3600737B17
2.3715.983.0168.8116B15
0.7820.833.948.4629.8S38584
0.453.1430.985.5936.2S38417
0.160.6721.529.2425.4S35932
0.050.3922.57.553.71C7552
0.010.386.497.208.36C3540
NIMOQuteSAT -JminiSatzChaffQuteSAT
with circuit infowithout circuit infoTime:seconds
Table 1. Equivalence checking (EC) experiments
![Page 33: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/33.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Our Contributions
1. A generic watch scheme that can seamlessly work on all kinds of circuit gates (simple or complex gates)
2. An implicit implication graph that enables efficient conflict-driven learning
3. Careful engineering work to implement most of the advanced SAT algorithm on the circuit data structure
![Page 34: A Robust Circuit-Based SAT Solver for Complex Circuit Structurecadlab.cs.ucla.edu/icsoc/protected-dir/IC-DFN_Agenda_Feb_2007/... · QuteSat A Robust Circuit-Based SAT Solver for Complex](https://reader031.vdocuments.net/reader031/viewer/2022030503/5aaf8db57f8b9a6b308d73b1/html5/thumbnails/34.jpg)
02/10/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644
Future WorkMore experiments!! Make sure the robustness of our engine for Boolean SATMission is not yet completed...
1. Generalized for general constraint satisfiability and optimization problems
2. Specialized for EDA specific applications
(PB, ILP, SMT, ...)