A SAT Solver Using Reconfigurable Hardware and Virtual Logic

In this paper, we present the architecture of a new SAT solver using reconfigurable logic and a virtual logic scheme. Our main contributions include new forms of massive fine-grain parallelism, structured design techniques based on iterative logic arrays that reduce compilation times from hours to minutes, and a decomposition technique that creates independent subproblems that may be concurrently solved by unconnected FPGAs. The decomposition technique is the basis of the virtual logic scheme, since it allows solving problems that exceed the hardware capacity. Our architecture is easily scalable. Our results show several orders of magnitude speedup compared with a state-of-the-art software implementation, and also with respect to prior SAT solvers using reconfigurable hardware.

[1]  Inês Lynce,et al.  An Overview of Backtrack Search Satisfiability Algorithms , 2003, Annals of Mathematics and Artificial Intelligence.

[2]  José T. de Sousa,et al.  A virtual logic algorithm for solving satisfiability problems using reconfigurable hardware , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

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

[4]  K.A. Sakallah,et al.  Realistic delay modeling in satisfiability-based timing analysis , 1998, ISCAS '98. Proceedings of the 1998 IEEE International Symposium on Circuits and Systems (Cat. No.98CH36187).

[5]  Saman Adham,et al.  BIST fault diagnosis in scan-based VLSI environments , 1996, Proceedings International Test Conference 1996. Test and Design Validity.

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

[7]  Anant Agarwal,et al.  Virtual wires: overcoming pin limitations in FPGA-based logic emulators , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[8]  Stephen M. Scalera,et al.  The design and implementation of a context switching FPGA , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

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

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

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

[12]  Hideo Fujiwara,et al.  On the Acceleration of Test Generation Algorithms , 1983, IEEE Transactions on Computers.

[13]  Panos M. Pardalos,et al.  Satisfiability problem : theory and applications : DIMACS workshop, March 11-13, 1996 , 1997 .

[14]  Melvin A. Breuer,et al.  Digital systems testing and testable design , 1990 .

[15]  Sharad Malik,et al.  Certified timing verification and the transition delay of a logic circuit , 1992, DAC '92.

[16]  Robert K. Brayton,et al.  Combinational test generation using satisfiability , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[18]  Rob A. Rutenbar,et al.  FPGA routing and routability estimation via Boolean satisfiability , 1997, FPGA '97.

[19]  Steven Trimberger,et al.  A time-multiplexed FPGA , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[20]  William H. Mangione-Smith,et al.  Dynamic circuit generation for solving specific problem instances of Boolean satisfiability , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[21]  Joseph Varghese,et al.  An efficient logic emulation system , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[22]  Jun Gu,et al.  Asynchronous circuit synthesis with Boolean satisfiability , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[23]  Srinivas Devadas,et al.  Optimal layout via Boolean satisfiability , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

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

[25]  Ewald Speckenmeyer,et al.  A fast parallel SAT-solver — efficient workload balancing , 2005, Annals of Mathematics and Artificial Intelligence.

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

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

[28]  James Gateley UltraSPARC™ -I Emulation , 1995, DAC 1995.

[29]  Vishwani D. Agrawal,et al.  A novel VLSI solution to a difficult graph problem , 1991, [1991] Proceedings. Fourth CSI/IEEE International Symposium on VLSI Design.

[30]  M. Abramovici,et al.  A massively-parallel easily-scalable satisfiability solver using reconfigurable hardware , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[31]  Gary Peterson,et al.  UltraSPARC-I , 1995, DAC '95.

[32]  Robert K. Brayton,et al.  Timing analysis and delay-fault test generation using path-recursive functions , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[33]  Mark Shand,et al.  Programmable active memories: reconfigurable systems come of age , 1996, IEEE Trans. Very Large Scale Integr. Syst..

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

[35]  Anant Agarwal,et al.  Solving graph problems with dynamic computation structures , 1996, Other Conferences.

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