Designing an Efficient Hardware Implication Accelerator for SAT Solving
This paper discusses the design of a hardware accelerator for Boolean Constraint Propagation (BCP) using Field Programmable Gate Arrays (FPGA). In particular, we describe the detailed implementation of the inference engine, a key component of the accelerator that performs implications. Unlike previous efforts in FPGA assisted SAT solving, our design uses Block RAM (BRAM) to store instance information. This novel design not only facilitates fast lookup and update, but also avoids synthesizing overhead for each SAT instance. We demonstrate that SAT instances can be easily partitioned into multiple groups that can be processed by multiple inference engines in parallel. By exploiting parallelism in hardware, the BCP accelerator can infer implications in 6 to 17 clock cycles for a new variable assignment. In addition, our design supports dynamic insertion and deletion of learned clauses. Cycle accurate simulation shows that our BCP accelerator is 5~16 times faster than the conventional software based approach for BCP.
Unable to display preview. Download preview PDF.
- 7.de Sousa, J., Marques-Silva, J.P., Abramovici, M.: A Configware/Software Approach to SAT Solving. In: Proc. Ninth IEEE Int’l Symp. Field-Programmable Custom Computing Machines (2001)Google Scholar
- 10.Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: 38th Design Automation Conference, Las Vegas (June 2001)Google Scholar
- 11.Davis, J.D., Tan, Z., Yu, F., Zhang, L.: A Practical Reconfigurable Hardware Accelerator for Boolean Satisfiability Solvers. In: 45th Design Automation Conference, Anaheim (June 2008)Google Scholar
- 12.HyperTransport Technology I/O link, AMD (2001)Google Scholar
- 13.Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. McGraw-Hill, New York (1990)Google Scholar
- 14.Culberson, J.: Graph Coloring Programs, available at http://www.cs.ualberta.ca/~joe/Coloring/Colorsrc/index.html
- 15.Xilinx product specification, Content Addressable Memory V5.1, available at http://www.xilinx.com/ipcenter/catalog/logicore/docs/cam.pdf