An FPGA solver for WSAT algorithms

WSAT and its variants are one of the best performing stochastic local search algorithms for the satisfiability (SAT) problem. In this paper, we propose a new FPGA solver for WSAT algorithms. The features of our solver are (1) high parallelism by small size units to evaluate clauses in each instance of the SAT problem, (2) multi-thread execution to achieve high performance, and (3) fast data-downloading for each instance. We implemented the solver for problems up to 256 variables and 1024 clauses on XC2V6000, and it used 45% of slices and live block RAMs. Our implementation shows higher performance over previous SAT solvers on FPGAs.

[1]  Henry Kautz,et al.  Noise Strategies for Local Search , 1994, AAAI 1994.

[2]  Bart Selman,et al.  Evidence for Invariants in Local Search , 1997, AAAI/IAAI.

[3]  Bart Selman,et al.  Noise Strategies for Improving Local Search , 1994, AAAI.

[4]  Philip Heng Wai Leong,et al.  A Runtime Reconfigurable Implementation of the GSAT Algorithm , 1999, FPL.

[5]  Monk-Ping Leong,et al.  A bitstream reconfigurable FPGA implementation of the WSAT algorithm , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[6]  Martin Henz,et al.  Real-time Reconfigurable Hardware WSAT Variants , 2003 .

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