SAT-Sweeping Enhanced for Logic Synthesis

SAT-sweeping is a powerful method for simplifying logic networks. It consists of merging gates that are proven equivalent (up to complementation) by running simulation and SAT solving in synergy. SAT-sweeping is used in both verification and synthesis applications within EDA. In this paper, we focus on the development of a highly efficient, synthesis-oriented, SAT-sweeping engine. We introduce a new algorithm to guide initial simulation, which strongly reduces the number of false candidates for merge, thus increasing the computational efficiency of the sweeper. We revisit the SAT-sweeping flow in light of practical considerations for synthesis, with the aim of proving all valid merges and ensuring fast execution. Experimental results confirm remarkable speedup deriving from our methodology, up to 10× for large combinational networks, and better QoR as compared to previous SAT-sweeping implementation. Embedded in a commercial synthesis flow, our proposes SAT-sweeper enables area and power savings of 1.98% and 1.81%, respectively, with neutral timing at negligible runtime overhead, over 36 testcases.

[1]  Masahiro Fujita Toward Unification of Synthesis and Verification in Topologically Constrained Logic Design , 2015, Proceedings of the IEEE.

[2]  Daniel Brand Verification of large synthesized designs , 1993, ICCAD.

[3]  Jie-Hong Roland Jiang,et al.  A robust functional ECO engine by SAT proof minimization and interpolation techniques , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[4]  Jan Schmidt,et al.  SAT-Based Generation of Optimum Function Implementations with XOR Gates , 2017, 2017 Euromicro Conference on Digital System Design (DSD).

[5]  R. Brayton,et al.  FRAIGs: A Unifying Representation for Logic Synthesis and Verification , 2005 .

[6]  Ruchir Puri,et al.  DeltaSyn: An efficient logic difference optimizer for ECO synthesis , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[7]  Robert K. Brayton,et al.  Symmetry detection for large Boolean functions using circuit representation, simulation, and satisfiability , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

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

[9]  Yan Zhang,et al.  A Study of Sweeping Algorithms in the Context of Model Checking , 2011, DIFTS@FMCAD.

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

[11]  Malay K. Ganai,et al.  Robust Boolean reasoning for equivalence checking and functional property verification , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Robert K. Brayton,et al.  Enabling exact delay synthesis , 2017, 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[13]  Michael S. Hsiao,et al.  Novel SAT-based invariant-directed low-power synthesis , 2015, Sixteenth International Symposium on Quality Electronic Design.

[14]  Alan Mishchenko,et al.  Applying Logic Synthesis for Speeding Up SAT , 2007, SAT.

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

[16]  Miroslav N. Velev,et al.  Efficient translation of Boolean formulas to CNF in formal verification of microprocessors , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[17]  Mathias Soeken,et al.  SAT Based Exact Synthesis using DAG Topology Families , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).

[18]  Robert K. Brayton,et al.  Merging nodes under sequential observability , 2008, 2008 45th ACM/IEEE Design Automation Conference.