Title: ELVIS A Scalable, Loadable Custom Programmable Logic Device for Solving Boolean Satisfiability Probl
1ELVIS - A Scalable, Loadable Custom Programmable
Logic Device for Solving Boolean Satisfiability
Problems
- Mark Boyd and Tracy Larrabee
Jack Baskin School of Engineering
University of California Santa Cruz, CA
95064 mjboyd, larrabee_at_cse.ucsc.edu
2Satisfiability
- Satisfiability (SAT) is an important problem
- test pattern generation
- computer aided design
- logic minimization
- formal verification
- Given n bombers (with a limited range) and m
targets to bomb, can we service all the targets?
3Satisfiability
- k-SAT formulas are of the form
- (ABC)(AB)(BC)(ABC)
- n3, of variables
- m4, of clauses
- k3, max of variables per clause
- For k 3, SAT is NP-Hard
- there is no known algorithm which determines the
satisfiability of an arbitrary SAT problem in
polynomial time
4Satisfiability
- The partial truth assignment A1, C1
- (TBT)(FB)(BF)(FBF)
- causes transitive implications
- B0 and B1, a contradiction
5Serial vs. Parallel Design
- Calculating transitive implications is critical
for speedup - GRASP (1996, Silva and Sakallah)
- Previous serial processor approach
- Calculates transitive implications serially
- Other excellent heuristics provide speedup
- Zhong (1998, Martonosi, Ashar, Malik)
- Calculates and broadcasts all direct transitive
implications simultaneously in parallel
6Zhongs Design
- Shows significant speedup over GRASP by using
massive, fine-grained parallelism - Routes a unique implication circuit (IMP) for
each SAT problem instance
7Zhongs Satisfiability
Bit Encoding B B Free 0
0 False 0 1 True 1 0 Contra 1 1
8ELVIS
- Easily Loaded Variable Implication Solver
- Two significant improvements over Zhongs
original approach - ONEACT reduces logic use by factor of k
- Bus Mask avoids NP-hard routing
9ELVIS ONEACT
- One Active Encoder, k-to-1 encoder
- Binary fan-in, ?(k) space complexity
-
10Zhong Hole10
- For the clause (12345678910)
- Space complexity is (k-1)(k), ?(k )
2
11ELVIS Hole10
- ONEACT for (12345678910)
- Space complexity is k2k, ?(k)
- Key Result logic reduced by a factor of k
12ELVIS Design
- Clause Evaluation Circuit (CEC)
13ELVIS Design
- Variable Evaluation Circuit (VEC)
14ELVIS Components Wiring
15ELVIS Layout
- Programmable Logic Device
- 2-level AND-OR, like PLD
- bus mask for routing
- Majority CAM
- bus mask ternary CAM
- fanout to each cache entry
16Hardware Requirements
2
2
n, of variables m, of clauses k, max of
variables per clause
where k is uniform, otherwise
17Latency Characteristics
n, of variables m, of clauses k, max of
variables per clause
18Future Work
- Implementation
- fast prototyping on Xilinx Virtex FPGAs
- heuristic version with priority variables
- SAT-server, accessible to other researchers
- Complete pipelining, ?(1) delay
19Competing Approach vs. ELVIS
- Design a place and route compiler which
- accepts k 3, n m/4
- always terminates in O(nm) time
- improves ELVIS space complexity
- loads new problems in O(m) time
- loads new clauses serially in constant time
- Is this impossible?
20Conclusion
- Purely polynomial design.
- Known timing and area characteristics.
- Loadable in ?(km) cycles, same as the size of the
formula. - IMP design compatible with any FSM.
- Reduces logic by factor of k vs. Zhong