Title: EHSAT: An Efficient RTL Satisfiability Solver Using an Extended DPLL Procedure
1EHSAT An Efficient RTL Satisfiability Solver
Using an Extended DPLL Procedure
- Shujun Deng, Jinian Bian, Weimin WuXiaoqing
Yang, Yanni Zhao - Department of Computer Science and Technology
- Tsinghua University
- Beijing, China
- June 6, 2007
2Outline
- Introduction
- EHSAT
- Preliminaries
- Decision Strategy
- Constraint Propagation
- Conflict-based Learning
- Experimental Results
- Summary
3Introduction
- RTL verification
- Bugs focus on RTL
- Higher abstraction level
- Catching more bugs earlier in the design cycle
takes precedence in industrial practice - Avoiding state-explosion
- Formal verification
- Theorem proving Not fully automatic
- Model checking
- Based on BDD State explosion
- Based on SAT Frequently applied
- Our solution RTL model checking based on hybrid
SATsolver which contains not only Boolean
variables butalso word variables - Higher abstraction level
- More efficient
State explosion
4Classic SAT algorithm
- DPLL Procedure
- status preprocess()
- if(status!UNKNOWN) return status
- while(1)
- decide_next_branch()
- while(1)
- status deduce()
- if (status CONFLICT)
- blevel analyze_conflict()
- if (blevel 0)
- return UNSATISFIABLE
- else backtrack(blevel)
- else if (status SATISFIABLE)
- return SATISFIABLE
- else
- break
-
5Hybrid SAT solving
- HSAT Fallah et al. (DAC98)
- 3-SAT LP
- LPSAT Zeng et al. (DATE01)
- LP
- RACE Iyer (ITC03)
- Word ATPG
- HDPLL Parthasarathy et al. (DAC04, DAC05)
- Structural SAT Bit-vector Arithmetic (DAC04)
- Structural SAT Predicate Learning (DAC05)
- SMT (Satisfiability Modulo Theory) Solvers
- Yices SRI International
- UCLID CMU
- EHSAT
- How to use efficient SAT solving techniques on
RTL? - VSIDS, Two-literal-watching, Conflict-based
learning
6Outline
- Introduction
- EHSAT
- Preliminaries
- Decision Strategy
- Constraint Propagation
- Conflict-based Learning
- Experimental Results
- Summary
7Basic concepts
- Hybrid literal the positive or negative form of
either a Boolean variable or a bit in word
variable. - Hybrid clause a logic disjunction of one or more
hybrid literals. - Hybrid SAT given a problem withsome constraints
for Boolean andword variables, find an
assignmentto these variables that makes the
constraints hold!
out XOR(cmpe0, cmpe1)cmpe0 CMP3 (stato1,
"4")cmpe1 CMP3 (stato2, "4")stato1
MUXW3 (s1, " 4" , " 0 ")stato2 MUXW3 (s2,
" 4" , " 0 ") Solution out 1, cmpe0 1,
cmpe1 0, stato1 4, stato2 0, s1 0, s2 1
8Overview of EHSAT
- Branch-and-bound procedure
- An extended DPLL procedure
- Decisions
- VSIDS Heuristic
- Boolean variables
- Word variable bits
- Constraint propagation
- Hybrid two-literal-watching scheme
- Interval reasoning
- Learning strategy
- 1BUIP (First Bit Unique Implication Point)
Learning
9EHSAT framework
- Extended DPLL procedure
- decide() decision making
- hcp() constraint propagation
- First_Bit_UIP() 1BUIP(First Bit Unique
Implication Point) Learning - backtrack() backtrack to a proposed level
10Decision making
- Variable State Independent Decaying Sum (VSIDS)
- Recent conflicted literals have higher priority
- Heuristic
- Priority
- Boolean variables on the interface
- Ordinary Boolean variables
- Word-level variable bits
- Implementation
- Counting appearance
- Short clause (two literals) 2
- Multiplexer, Comparators 2
- Others 1
- Two queues Boolean is prior to word
11Hybrid two-literal-watching scheme
- Like two-literal-watching scheme in zChaff
- But fitting for hybrid clause database
12Predicate-based interval reasoning
- Predicate-based interval reasoning
- If a predicate is
- c LT (X, Y)
- and c 1
- X 64, 255
- Y 0, 127
- Then the interval of X can be changed to64,
126 and that of Y to 65, 127 usinginterval
arithmetic operations
13A circuit and implication graph
- Initial Assignment h 1
- Implication graph(The process of constraint
propagation)
14Conflict-based learning
- Find out the real reason of a conflict.
- 1BUIP Only the UIPs with bit implication
(Boolean variable or bit implication for word
variables) can be added to the learning clauses. - The difference between 1BUIP and 1UIP is shown in
the figure. - The added clause in this example is
h?f?c?F1?e?g
15Outline
- Introduction
- EHSAT
- Preliminaries
- Decision Strategy
- Constraint Propagation
- Conflict-based Learning
- Experimental Results
- Summary
16Experimental results of EHSAT
17Experimental result analysis
- EHSAT outperforms HDPLL one or two orders
- HDPLL only makes decisions on Boolean variables
while EHSAT makes on both - Constraint propagation in HDPLL is incomplete,
and an Omega library which performs
fourier-motzkin elimination is used to check the
consistence - Yices could only succeed on some small cases
- Ignoring constraint information in circuits
- The run-time for GLPK increases quicker than
EHSAT - Translating Boolean constraints to word-level
increases complexity - The comparison between EHSAT and EHSAT confirms
that making decisions on all the variables using
VSIDS strategy is more efficient than that only
making decisions on ports for hybrid SAT solving
18Outline
- Introduction
- EHSAT
- Preliminaries
- Decision Strategy
- Constraint Propagation
- Conflict-based Learning
- Experimental Results
- Summary
19Summary
- Efficient SAT techniques can be tuned to RTL
- Decision making
- VSIDS
- Heuristic
- Constraint propagation
- Hybrid two-literal-watching
- Predicate-based interval reasoning
- Conflict-based learning strategies
- 1BUIP
- Further improvement
- Modeling issues