SAT-Based Logic Optimization and Resynthesis

The paper develops a technology-independent optimization and post-mapping resynthesis for combinational logic networks, with emphasis on scalability and optimizing power. The proposed resynthesis (a) is capable of substantial logic restructuring, (b) is customizable to solve a variety of optimization tasks, and (c) has reasonable runtime on large industrial designs. The approach is based on several heterogeneous algorithms, which include structural analysis, random and constrained simulation, and manipulation of Boolean functions using a SAT solver. Structural methods include improved windowing, which focuses on reconvergent logic structures rich in functional flexibilities. It is shown how a mainstream SAT solver can be minimally modified by combining it with an interpolation package, which computes Boolean functions of nodes after resynthesis as a by-product of completed feasibility proofs. Experimental results focusing on the minimization of the number of 6-LUTs after high-effort iterative FPGA mapping with structural choices, demonstrate that the proposed resynthesis, applied to 15 benchmarks reduced area by 6.0% and delay by 2.3% on average. For 5 benchmarks derived from PLA descriptions, the reduction of 5x in area and 20% in depth was obtained, which speaks for the powerful nature of Boolean optimization employed in the proposed resynthesis.

[1]  Yahiko Kambayashi,et al.  The Transduction Method-Design of Logic Networks Based on Permissible Functions , 1989, IEEE Trans. Computers.

[2]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[3]  Jason Cong,et al.  Maximal reduction of lookup-table based FPGAs , 1992, Proceedings EURO-DAC '92: European Design Automation Conference.

[4]  Hamid Savoj,et al.  Don't cares in multi-level network optimization , 1992 .

[5]  Bernd Steinbach,et al.  An algorithm for bi-decomposition of logic functions , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[6]  Jason Cong,et al.  SPFD-based global rewiring , 2002, FPGA '02.

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

[8]  Eugene Goldberg,et al.  Verification of proofs of unsatisfiability for CNF formulas , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[9]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[10]  DAOmap: a depth-optimal area optimization mapping algorithm for FPGA designs , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[11]  Sunil P. Khatri,et al.  A robust algorithm for approximate compatible observability don't care (CODC) computation , 2004, Proceedings. 41st Design Automation Conference, 2004..

[12]  Prabhakar Kudva,et al.  Implicit enumeration of structural changes in circuit optimization , 2004, Proceedings. 41st Design Automation Conference, 2004..

[13]  K. McMillan Don’t-Care Computation using k-clause Approximation , 2005 .

[14]  Robert K. Brayton,et al.  SAT-based complete don't-care computation for network optimization , 2005, Design, Automation and Test in Europe.

[15]  R. Brayton,et al.  Scalable Logic Synthesis using a Simple Circuit Structure , 2006 .

[16]  Robert K. Brayton,et al.  Using simulation and satisfiability to compute flexibilities in Boolean networks , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  R. Brayton,et al.  Improvements to Combinational Equivalence Checking , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[18]  Robert K. Brayton,et al.  DAG-aware AIG rewriting: a fresh look at combinational logic synthesis , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[19]  Qi Zhu,et al.  SAT sweeping with local observability don't-cares , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[20]  Igor L. Markov,et al.  Node Mergers in the Presence of Don't Cares , 2007, 2007 Asia and South Pacific Design Automation Conference.

[21]  Robert K. Brayton,et al.  Automating Logic Rectification by Approximate SPFDs , 2007, 2007 Asia and South Pacific Design Automation Conference.

[22]  Robert K. Brayton,et al.  Combinational and sequential mapping with priority cuts , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[23]  Robert K. Brayton,et al.  Improvements to Technology Mapping for LUT-Based FPGAs , 2007, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[24]  A. Mishchenko,et al.  Scalable exploration of functional dependency by interpolation and incremental SAT solving , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[25]  Igor L. Markov,et al.  Fixing Design Errors with Counterexamples and Resynthesis , 2007, 2007 Asia and South Pacific Design Automation Conference.