Using configurable computing to accelerate Boolean satisfiability

The issues of software compute time and complexity are very important in current computer-aided design (CAD) tools. As field-programmable gate array (FPGA) speeds and densities increase, the opportunity for effective hardware accelerators built from FPGA technology has opened up. This paper describes and evaluates a formula-specific method for implementing Boolean satisfiability solver circuits in configurable hardware. That is, using a template generator, we create circuits specific to the problem instance to be solved. This approach yields impressive runtime speedups of up to several hundred times compared to the software approaches. The high performance comes from realizing fine-grained parallelism inherent in the clause evaluation and implication and from direct mapping of Boolean relations into logic gates. Our implementation uses a commercially available hardware system for proof of concept. This system yields more than 100 times run-time speedup on many problems, even though the clock rate of the hardware is 100 times slower than that of the workstation running the software solver. While the time to compile the solver circuit to configurable hardware can he quite long on current platforms (20-40 min per chip), this paper discusses new approaches to overcome this compilation overhead. More broadly, we view this work as a case study in the burgeoning domain of high performance configurable computing. Our approach realizes large amount of fine-grained parallelism, and has broad applications in the very large scale integration CAD area.

[1]  Makoto Yokoo,et al.  Solving Satisfiability Problems on FPGAs , 1996, FPL.

[2]  Prabhakar Goel,et al.  An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits , 1981, IEEE Transactions on Computers.

[3]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[4]  Anant Agarwal,et al.  Logic emulation with virtual wires , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[6]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

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

[8]  Vaughn Betz,et al.  A fast routability-driven router for FPGAs , 1998, FPGA '98.

[9]  P.M. Athanas,et al.  Real-Time Image Processing on a Custom Computing Platform , 1995, Computer.

[10]  Richard J. Carter,et al.  Teramac configurable custom computer , 1995, Optics East.

[11]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Exceptionally Hard SAT Instances , 1996, CP.

[12]  Joseph Varghese,et al.  An efficient logic emulation system , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[13]  Vishwani D. Agrawal,et al.  A transitive closure algorithm for test generation , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Daniel G. Saab,et al.  Satisfiability on reconfigurable hardware , 1997, FPL.

[15]  Daniel P. Lopresti,et al.  Building and using a highly parallel programmable logic array , 1991, Computer.

[16]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Stephan W. Gehring,et al.  Fast integrated tools for circuit design with FPGAs , 1998, FPGA '98.