Practical exact synthesis

In this paper, we discuss recent advances in exact synthesis, considering both their efficient implementation and various applications in which they can be employed. We emphasize on solving exact synthesis through Boolean satisfiability (SAT) encodings. Different SAT encodings for exact synthesis are compared, and examined the applications to multi-level logic synthesis, in both area and depth optimization. Another application of SAT based exact synthesis is optimization under many constraints. These constraints can, e.g., be a fixed fanout or delay constraints. Finally, we end our discussion by proposing directions for future research in exact synthesis.

[1]  James M. Crawford,et al.  Experimental Results on the Application of Satisfiability Algorithms to Scheduling Problems , 1994, AAAI.

[2]  Grigory Yaroslavtsev,et al.  Finding Efficient Circuits Using SAT-Solvers , 2009, SAT.

[3]  Saburo Muroga,et al.  Optimal Networks of NOR-OR Gates for Functions of Three Variables , 1972, IEEE Transactions on Computers.

[4]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[5]  Mathias Soeken,et al.  Exact Synthesis of Majority-Inverter Graphs and Its Applications , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Giovanni De Micheli,et al.  Classifying Functions with Exact Synthesis , 2017, 2017 IEEE 47th International Symposium on Multiple-Valued Logic (ISMVL).

[7]  Toshihide Ibaraki,et al.  Design of Optimal Switching Networks by Integer Programming , 1972, IEEE Transactions on Computers.

[8]  Richard M. Karp,et al.  A computer program for the synthesis of combinational switching circuits , 1961, SWCT.

[9]  Claude E. Shannon,et al.  The synthesis of two-terminal switching circuits , 1949, Bell Syst. Tech. J..

[10]  Leo Hellerman,et al.  A Catalog of Three-Variable Or-Invert and And-Invert Logical Circuits , 1963, IEEE Trans. Electron. Comput..

[11]  Eugene L. Lawler,et al.  An Approach to Multilevel Boolean Minimization , 1964, JACM.

[12]  Tomoyasu Nakagawa,et al.  Results of the Synthesis of Optimal Networks of AND and OR Gates for Four-Variable Switching Functions , 1979, IEEE Transactions on Computers.

[13]  R. Drechsler,et al.  Exact Circuit Synthesis , 1998 .

[14]  Donald L. Dietmeyer,et al.  An Algorithm for Synthesis of Multiple-Output Combinational Logic , 1968, IEEE Transactions on Computers.

[15]  Tsutomu Sasao,et al.  Switching Theory for Logic Synthesis , 1999, Springer US.

[16]  Lingli Wang,et al.  Lazy man's logic synthesis , 2012, 2012 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[17]  Edward S. Davidson,et al.  An Algorithm for NAND Decomposition Under Network Constraints , 1969, IEEE Transactions on Computers.

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

[19]  Richard M. Karp,et al.  Minimization Over Boolean Graphs , 1962, IBM J. Res. Dev..

[20]  Karem A. Sakallah,et al.  Optimal Combinational Multi-Level Logic Synthesis , 2009 .

[21]  Valeria Bertacco,et al.  Boolean function representation based on disjoint-support decompositions , 1996, Proceedings International Conference on Computer Design. VLSI in Computers and Processors.

[22]  Giovanni De Micheli,et al.  Exact Synthesis for Logic Synthesis Applications with Complex Constraints , 2017 .

[23]  Robert K. Brayton,et al.  ABC: An Academic Industrial-Strength Verification Tool , 2010, CAV.

[24]  Hung Chi Lai,et al.  Minimization of Logic Networks Under a Generalized Cost Function , 1976, IEEE Transactions on Computers.

[25]  Giovanni De Micheli,et al.  Busy man's synthesis: Combinational delay optimization with SAT , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[26]  R. A. Smith Minimal Three-Variable NOR and NAND Logic Circuits , 1965, IEEE Trans. Electron. Comput..