HW-BCP: A Custom Hardware Accelerator for SAT Suitable for Single Chip Implementation for Large Benchmarks

Boolean Satisfiability (SAT) has broad usage in Electronic Design Automation (EDA), artificial intelligence (AI), and theoretical studies. Further, as an NP-complete problem, acceleration of SAT will also enable acceleration of a wide range of combinatorial problems.We propose a completely new custom hardware design to accelerate SAT. Starting with the well-known fact that Boolean Constraint Propagation (BCP) takes most of the SAT solving time (80-90%), we focus on accelerating BCP. By profiling a widely-used software SAT solver, MiniSAT v2.2.0 (MiniSAT2) [1], we identify opportunities to accelerate BCP via parallelization and elimination of von Neumann overheads, especially data movement. The proposed hardware for BCP (HW-BCP) achieves these goals via a customized combination of content-addressable memory (CAM) cells, SRAM cells, logic circuitry, and optimized interconnects.In 65nm technology, on the largest SAT instances in the SAT Competition 2017 benchmark suite, our HW-BCP dramatically accelerates BCP (4.5ns per BCP in simulations) and hence provides a 62-185x speedup over optimized software implementation running on general purpose processors.Finally, we extrapolate our HW-BCP design to 7nm technology and estimate area and delay. The analysis shows that in 7nm, in a realistic chip size, HW-BCP would be large enough for the largest SAT instances in the benchmark suite.

[1]  Bart Selman,et al.  Domain-Independent Extensions to GSAT : Solving Large StructuredSatis ability , 1993 .

[2]  Xiaobo Sharon Hu,et al.  Efficient Analog Circuits for Boolean Satisfiability , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[3]  Ken Mai,et al.  The future of wires , 2001, Proc. IEEE.

[4]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[5]  K. Pagiamtzis,et al.  Content-addressable memory (CAM) circuits and architectures: a tutorial and survey , 2006, IEEE Journal of Solid-State Circuits.

[6]  Weiping Shi,et al.  Efficient, scalable hardware engine for Boolean satisfiability and unsatisfiable core extraction , 2008, IET Comput. Digit. Tech..

[7]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[8]  Nicola Nicolici,et al.  FPGA acceleration of enhanced boolean constraint propagation for SAT solvers , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[9]  Ashraf Salem,et al.  A reconfigurable, pipelined, conflict directed jumping search SAT solver , 2011, 2011 Design, Automation & Test in Europe.

[10]  Hidehiro Fujiwara,et al.  12.1 A 7nm 256Mb SRAM in high-k metal-gate FinFET technology with write-assist circuitry for low-VMIN applications , 2017, 2017 IEEE International Solid-State Circuits Conference (ISSCC).

[11]  Srinivas Patil,et al.  FPGA-based hardware acceleration for Boolean satisfiability , 2009, TODE.

[12]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[13]  Fu-Hing Ho,et al.  8.2 A Versatile 7nm Adaptive Compute Acceleration Platform Processor , 2020, 2020 IEEE International Solid- State Circuits Conference - (ISSCC).

[14]  Fang Yu,et al.  A practical reconfigurable hardware accelerator for boolean satisfiability solvers , 2008, 2008 45th ACM/IEEE Design Automation Conference.