Abstract
We present an algorithm that progressively generates canonical irredundant Sums Of Products (SOPs) for completely- and incompletely-specified Boolean functions using a satisfiability (SAT) solver. The progressive generation allows for real time monitoring and early termination, as well as for generation of partial SOPs for incremental applications. On the other hand, canonicity brings independence of the original representation and often yields smaller and more regular SOPs that lead to smaller circuits after algebraic factoring. Also, canonicity is key in applications such as constraint solving and random assignment generation, which traditionally rely on methods based on Binary Decision Diagram (BDD). However, in contrast with BDDs, our algorithm can relax canonicity to improve speed and scalability. In general, our method is more scalable for benchmarks with many structurally isomorphic outputs. It also improves the quality of results up to 10%, in terms of the SOP size, compared to a state-of-the-art BDD-based method. Experiments with global circuit restructuring using SAT-based SOPs show that area-delay product can be improved up to 27%, compared to global restructuring using BDD-based SOPs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
L. Amarù, P.E. Gaillardon, A. Burg, G. De Micheli, Data compression via logic synthesis, in Proceedings of the Asia and South Pacific Design Automation Conference, Yokohama (2014), pp. 628–33
Berkeley Logic Synthesis and Verification Group, Berkeley, Calif.: ABC: A system for sequential synthesis and verification, http://www.eecs.berkeley.edu/~alanmi/abc/
R.K. Brayton, G.D. Hachtel, C.T. McMullen, A.L. Sangiovanni Vincentelli, Logic Minimization Algorithms for VLSI Synthesis (Kluwer Academic, Boston, 1984)
K. Chang, V. Bertacco, I.L. Markov, A. Mishchenko, Logic synthesis and circuit customization using extensive external don’t-cares. ACM Trans. Des. Autom. Electron. Syst. 15(3), 1–24 (2010)
C. Condrat, P. Kalla, S. Blair, Logic synthesis for integrated optics, in Proceedings of the 21st ACM Great Lakes Symposium on VLSI, Lausanne (2011), pp. 13–18
O. Coudert, Two-level logic minimization: An overview. Integr. VLSI J. 17(2), 97–140 (1994)
O. Coudert, J.C. Madre, H. Fraisse, H. Touati, Implicit prime cover computation: An overview, in Proceedings of the Synthesis and Simulation Meeting and International Interchange, Nara (1993)
N. Eén, N. Sörensson, An extensible SAT-solver, in Proceedings of the International Conference on Theory and Applications of Satisfiability Testing, vol. 2919 (Springer, Berlin, 2003), pp. 502–18
A. Ghosh, S. Devadas, A.R. Newton, Test generation and verification for highly sequential circuits. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 10(5), 652–67 (1991)
A.F. Gobi, W. Pedrycz, Fuzzy modelling through logic optimization. Int. J. Approx. Reason. 45(3), 488–510 (2007)
J.H.R. Jiang, C.C. Lee, A. Mishchenko, C.Y.R. Huang, To SAT or not to SAT: Scalable exploration of functional dependency. IEEE Trans. Comput. C-59(4), 457–67 (2010)
D.E. Knuth, Fascicle 6: Satisfiability, in The Art of Computer Programming, vol. 19 (Addison-Wesley, Reading, 2015)
V.N. Kravets, Application of a key-value paradigm to logic factoring. Proc. IEEE 103(11), 2076–92 (2015)
R.R. Lee, J.H.R. Jiang, W.L. Hung, Bi-decomposing large Boolean functions via interpolation and satisfiability solving, in Proceedings of the 45th Design Automation Conference, Anaheim, CA (2008), pp. 636–41
H.P. Lin, J.H.R. Jiang, R.R. Lee, To SAT or not to SAT: Ashenhurst decomposition in a large scale, in Proceedings of the International Conference on Computer Aided Design, San Jose, CA (2008), pp. 32–37
E.J. McCluskey, Minimization of Boolean functions. Bell Syst. Tech. J. 35(6), 1417–44 (1956)
K.L. McMillan, Interpolation and SAT-based model checking, in Proceedings of the International Conference on Computer Aided Verification, vol. 2725 (Springer, Berlin, 2003), pp. 1–13
S. Minato, Fast generation of irredundant sum-of-products forms from binary decision diagrams, in Proceedings of Synthesis and Simulation Meeting and International Interchange, Kobe (1992), pp. 64–73
A. Mishchenko, R.K. Brayton, SAT-based complete don’t-care computation for network optimization, in Proceedings of the Design, Automation and Test in Europe Conference and Exhibition, Munich (2005), pp. 412–17
A. Mishchenko, R. Brayton, S. Jang, V.N. Kravets, Delay optimization using SOP balancing, in Proceedings of the International Conference on Computer Aided Design, San Jose, CA (2011), pp. 375–82
A. Morgado, J.P.M. Silva, Good learning and implicit model enumeration, in Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence, Hong Kong (2005), pp. 131–36
A. Nadel, Generating diverse solutions in SAT, in Proceedings of the International Conference on Theory and Applications of Satisfiability Testing, Ann Arbor, MI (2011), pp. 287–301
A. Nadel, V. Ryvchin, Bit-vector optimization, in Proceedings of the 22nd International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Eindhoven (2016), pp. 851–67
A. Petkovska, A. Mishchenko, M. Soeken, G. De Micheli, R. Brayton, P. Ienne, Fast generation of lexicographic satisfiable assignments: Enabling canonicity in SAT-based applications, in Proceedings of the International Conference on Computer Aided Design, Austin, TX (2016)
J. Rajski, J. Vasudevamurthy, The testability-preserving concurrent decomposition and factorization Boolean expressions. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 11(6), 778–93 (1992)
R.L. Rudell, A.L. Sangiovanni-Vincentelli, Multiple-valued minimization for PLA optimization. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 6(5), 727–50 (1987)
S. Sapra, M. Theobald, E.M. Clarke, SAT-based algorithms for logic minimization, in Proceedings of the 21st IEEE International Conference on Computer Design, San Jose, CA (2003), p. 510
The EPFL Combinational Benchmark Suite, Multi-output PLA benchmarks, http://lsi.epfl.ch/benchmarks
G.S. Tseitin, On the complexity of derivation in propositional calculus, in Automation of Reasoning 2: Classical Papers on Computational Logic 1967–1970, Symbolic Computation, ed. by J. Siekmann, G. Wrightson (Springer, Berlin, 1983), pp. 466–83
A.K. Verma, P. Brisk, P. Ienne, Iterative layering: Optimizing arithmetic circuits by structuring the information flow, in Proceedings of the International Conference on Computer Aided Design, San Jose, CA (2009), pp. 797–804
J. Yuan, A. Aziz, C. Pixley, K. Albin, Simplifying Boolean constraint solving for random simulation-vector generation. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 23(3), 412–420 (2004)
Acknowledgements
This work is partly supported by NSF/NSA grant “Enhanced equivalence checking in cryptoanalytic applications” at University of California, Berkeley, and partly by SRC contract 2710.001 “SAT-based Methods for Scalable Synthesis and Verification”.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this chapter
Cite this chapter
Petkovska, A., Mishchenko, A., Novo, D., Owaida, M., Ienne, P. (2018). Progressive Generation of Canonical Irredundant Sums of Products Using a SAT Solver. In: Reis, A., Drechsler, R. (eds) Advanced Logic Synthesis. Springer, Cham. https://doi.org/10.1007/978-3-319-67295-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-67295-3_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-67294-6
Online ISBN: 978-3-319-67295-3
eBook Packages: EngineeringEngineering (R0)