Designing an efficient hardware implication accelerator for SAT solving

  • Authors:
  • John D. Davis;Zhangxi Tan;Fang Yu;Lintao Zhang

  • Affiliations:
  • Microsoft Research Silicon Valley Lab;UC Berkeley;Microsoft Research Silicon Valley Lab;Microsoft Research Silicon Valley Lab

  • Venue:
  • SAT'08 Proceedings of the 11th international conference on Theory and applications of satisfiability testing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.