FPGA-based hardware acceleration for Boolean satisfiability

We present an FPGA-based hardware solution to the Boolean satisfiability (SAT) problem, with the main goals of scalability and speedup. In our approach the traversal of the implication graph as well as conflict clause generation are performed in hardware, in parallel. The experimental results and their analysis, along with the performance models are discussed. We show that an order of magnitude improvement in runtime can be obtained over MiniSAT (the best-in-class software based approach) by using a Virtex-4 (XC4VFX140) FPGA device. The resulting system can handle instances with as many as 10K variables and 280K clauses.

[1]  Andreas Dandalis,et al.  A Parallel Pipelined SAT Solver for FPGAs , 2000, FPL.

[2]  Makoto Yokoo,et al.  Solving satisfiability problems using reconfigurable computing , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[3]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[4]  M. Watheq El-Kharashi,et al.  A Shift Register based Clause Evaluator for Reconfigurable SAT Solver , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[5]  P KhatriSunil,et al.  FPGA-based hardware acceleration for Boolean satisfiability , 2009 .

[6]  Iouliia Skliarova,et al.  Reconfigurable hardware SAT solvers: a survey of systems , 2003, IEEE Transactions on Computers.

[7]  Sharad Malik,et al.  Solving Boolean Satisfiability with Dynamic Hardware Configurations , 1998, FPL.

[8]  Marco Platzner,et al.  Acceleration of Satisfiability Algorithms by Reconfigurable Hardware , 1998, FPL.

[9]  Marco Platzner,et al.  Dynamic circuit generation for Boolean satisfiability in an object-oriented design environment , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[10]  Ashraf Salem,et al.  FPGA-Based SAT Solver , 2006, 2006 Canadian Conference on Electrical and Computer Engineering.

[11]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[12]  Jose L Nunez-Yanez,et al.  Design, Automation and Test in Europe, DATE Conference 2000 , 2000 .

[13]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[14]  Weiping Shi,et al.  Efficient, scalable hardware engine for Boolean satisfiability and unsatisfiable core extraction , 2008, IET Comput. Digit. Tech..

[15]  Daniel G. Saab,et al.  A massively-parallel easily-scalable satisfiability solver using reconfigurable hardware , 1999, DAC '99.

[16]  Sharad Malik,et al.  Accelerating Boolean satisfiability with configurable hardware , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[17]  Hai Zhou,et al.  Parallel CAD: Algorithm Design and Programming Special Section Call for Papers TODAES: ACM Transactions on Design Automation of Electronic Systems , 2010 .

[18]  Sharad Malik,et al.  Matching architecture to application via configurable processors: a case study with boolean satisfiability problem , 2001, Proceedings 2001 IEEE International Conference on Computer Design: VLSI in Computers and Processors. ICCD 2001.

[19]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[20]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..

[21]  Jun Gu,et al.  Algorithms for the satisfiability (SAT) problem: A survey , 1996, Satisfiability Problem: Theory and Applications.

[22]  Daniel G. Saab,et al.  Parallel and scalable architecture for solving SATisfiability on reconfigurable FPGA , 2000, Proceedings of the IEEE 2000 Custom Integrated Circuits Conference (Cat. No.00CH37044).

[23]  Iouliia Skliarova,et al.  A software/reconfigurable hardware SAT solver , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.