Part 1: Logic Representation, Manipulation and Optimization
5.6 Discussion and Future Work
Two-level logic representation and satisfiability are two linked problems that have been widely studied in the past years. Nevertheless, the research in this field is still active. New approaches are continuously discovered and embedded in tools [11, 24], to push further the horizons of logic applications. The proposed MNF has the potential to enhance two-level logic representation and related SAT problems.
We demonstrated that any CNF or DNF can be translated in linear time into an MNF. However, in its unrestricted form, MNF leads to SAT problems as difficult as with CNF. Restricted versions of MNF exist, whose satisfiability can be decided in polynomial time. Advanced logic manipulation techniques capable to transform a general MNF into a restricted MNF can
significantly simplify the MNF-SAT problem. Also, direct MNF construction from general logic circuits is of interest.
Regarding the MNF representation properties, it is still unclear whether a canonical form exists for MNF, as it does for CNF (product of maxterms) and DNF (sum of minterms). The discovery of a canonical MNF can reveal new promising features of majority logic.
In the context of MNF-SAT algorithms, a detailed study for MNF oriented deduce and resolve techniques is required. In this way, a complete MNF-SAT solver can be developed and its efficiency tested.
In summary, our next efforts are focused on (i) logic manipulation techniques for MNF, (ii) canonical MNF representation, (iii) MNF-oriented deduce and resolve techniques and (iv) development of an MNF-SAT tool.
5.7 Summary
We presented, in this chapter, an alternative two-level logic representation form based solely on majority and complementation operators. We called it Majority Normal Form (MNF). MNF is universal and potentially more compact than its CNF and DNF counterparts. Indeed, MNF includes both CNF and DNF representations. We studied the problem of MNF-SATisfiability (MNF-SAT) and we proved that it belongs to the NP-complete complexity class, as its CNF-SAT counterpart. However, we showed practical restrictions on MNF formula whose satisfiability can be decided in polynomial time. We have finally proposed a simple core procedure to solve MNF-SAT, based on the intrinsic functionality of two-level majority logic. The theory and techniques developed in this chapter set the basis for future research on MNF-SAT solving.
[1] L. Amaru, P.-E. Gaillardon, G. De Micheli, BDS-MAJ: A BDD-based logic synthesis tool
exploiting majority logic decomposition, Proc. DAC, 2013.
[2] L. Amaru, P.-E. Gaillardon, G. De Micheli, Majority Inverter Graphs, Proc. DAC, 2014. [3] G. Yang, W. N.N. Hung, X. Song, M. Perkowski, Majority-based reversible logic gates, Theo-
retical Computer Science, 2005.
[4] H. Pospesel, Introduction to Logic: Propositional Logic, Pearson, 1999. [5] T. Sasao, Switching Theory for Logic Synthesis, Springer, 1999.
[6] S. Cook, The Complexity of Theorem-Proving Procedures, Proc. ACM Symposium on Theory of Computing, 1971.
[7] A. Biere, M. Heule, H. van Maaren and T. Walsh Handbook of Satisfiability, IOS Press, 2009. [8] M. Krause, P. Pudlak, On the computational power of depth-2 circuits with threshold and
modulo gates, Theor. Comput. Sci., 174, pp. 137-156, 1997.
[9] AA. Sherstov, Separating AC 0 from depth-2 majority circuits, Proc. STOC, 2007.
[10] N. Een, N. Sorensson, MiniSat - A SAT Solver with Conflict-Clause Minimization, SAT 2005.
[11] N. Een, A. Mishchenko, N. Sorensson, Applying Logic Synthesis for Speeding Up SAT, SAT 2007.
[12] R.E. Bryant, Graph-based algorithms for Boolean function manipulation, IEEE Transac- tions on Computers, C-35: 677-691, 1986.
[13] H. R. Lewis, Satisfiability problems for propositional calculi, Mathematical Systems The- ory 13 (1979), pp. 45-53.
[14] M.R. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-
[15] K. Bernstein et al., Device and Architecture Outlook for Beyond CMOS Switches, Proceed- ings of the IEEE, 98(12): 2169-2184, 2010.
[16] K. J. Chen, et al., InP-based high-performance logic elements using resonant-tunneling
devices, IEEE Electr. Dev. Lett., 17(3): 127-129, 1996.
[17] P. D. Tougaw, C. S. Lent, Logical devices implemented using quantum cellular automata, J. Applied Physics, 75(3): 1811-1817, 1994.
[18] M. De Marchi et al., Polarity control in Double-Gate, Gate-All-Around Vertically Stacked
Silicon Nanowire FETs, Proc. IEDM, 2012.
[19] R. Impagliazzo, A Satisfiability Algorithm for Sparse Depth Two Threshold Circuits, Arxiv 2013.
Checking of Reversible Circuits
Reversible circuits implement invertible logic functions. They are of great interest to cryp- tography, coding theory, interconnect design, computer graphics, quantum computing, and many other fields. As for conventional circuits, checking the combinational equivalence of two reversible circuits is an important but difficult (coNP-complete) problem. In this chapter, we present a new approach for solving this problem significantly faster than the state-of-the- art. For this purpose, we exploit inherent characteristics of reversible computation, namely bi-directional (invertible) execution and the XOR-richness of reversible circuits. Bi-directional execution allows us to create an identity miter out of two reversible circuits to be verified, which naturally encodes the equivalence checking problem in the reversible domain. Then, the abundant presence of XOR operations in the identity miter enables an efficient problem mapping into XOR-CNF satisfiability. The resulting XOR-CNF formulas are eventually more compact than pure CNF formulas and potentially easier to solve. As previously anticipated, experimental results show that our equivalence checking methodology is more than one order of magnitude faster, on average, than the state-of-the-art solution based on established CNF-formulation and standard SAT solvers.
6.1 Introduction
Reversible computing is a non-conventional computing style where all logic processing is conducted through bijective, i.e., invertible, Boolean functions. Reversible circuits implement invertible Boolean functions at the logic level and are represented as cascades of reversible gates. In conventional technologies, reversible circuits find application in cryptography [1], coding theory [2], interconnect design [3], computer graphics [4] and many other fields where the logic invertibility is a key asset. In emerging technologies, such as quantum computing [5], reversible circuits are one of the primitive computational building blocks.
Whether they are finally realized in conventional or emerging technologies, the design of reversible circuits faces two major conceptual challenges: synthesis and verification [6]. Syn- thesis maps a target Boolean function into the reversible logic domain while minimizing the
number of additional information bits and primitive gates [7, 8]. Verification checks if the final reversible circuit conforms to the original specification [9].
In this chapter, we focus on reversible circuit verification and, in particular, on combina- tional equivalence checking. The problem of combinational equivalence checking consists of determining whether two given reversible circuits are functionally equivalent or not. As for conventional circuits, this is a difficult (coNP-complete) problem [10]. We present a new approach for solving this problem significantly faster than the state-of-the-art verification approaches [9].
For this purpose, our methodology exploits, for the first time, inherent characteristics of re- versible computation, i.e., its invertible execution and the XOR-richness of reversible circuits. This stands in contrast to previously proposed solutions such as introduced in [9] which only adapted established verification schemes for conventional circuits but ignored the potential of the reversible computing paradigm. Our proposed methodology consists of the following steps. First, we create an identity miter by cascading one circuit with the inverse of the other. If the two reversible circuits are functionally equivalent, then the resulting cascade realizes the identity function. Next, we encode the problem of checking whether the resulting circuit indeed realizes the identity into a mixed XOR-CNF satisfiability problem. The possibility to ex- press natively XOR operations, frequently appearing in reversible circuits, reduces significantly the number of variables and clauses as compared to a pure CNF formulation. Finally, we solve the XOR-CNF satisfiability problem using CryptoMiniSat [11], a MiniSat-based solver handling XORs through Gaussian elimination [12]. Experimental results show that, on average, the proposed methodology is more than one order of magnitude faster than the state-of-the-art reversible circuit checker based on the established CNF-formulation and MiniSat solver [9]. Besides that, the proposed approach also provides potential for improving combinational equivalence checking of conventional circuits.
The remainder of this chapter is organized as follows. Section 6.2 provides the background on reversible circuits and on Boolean satisfiability. Section 6.3 presents the proposed methodol- ogy for equivalence checking of reversible circuits. Section 6.4 describes the setup applied for our experimental evaluation and summarizes the obtained results. Section 6.5 discusses the future research directions – in particular for combinational equivalence checking of conven- tional circuits. Section 6.6 concludes the chapter.