REVERSIBLE GATES
2.9. Efficient Search Algorithms for Reversible Logic Synthesis
As seen in Table 1.2.1, the goals of my dissertation are to design theory and software to
synthesize larger circuits, for more demanding design requirements, and for more types
of reversible technologies. The ideas are related to efficient search, efficient
representation of search and proving convergence.
Regardless of which reversible gates are employed, and the initial synthesis problem
specification, every synthesis algorithm has to deal with a search problem of certain type
(like a genetic search or a tree-search). In the case of reversible logic synthesis, the search
space of this problem is of an enormous size. It can be compared to solving the Rubik’s
Cube in minimal number of moves (rotations). But the sizes of permutation problems in
52 Rubik’s cube and the permutative circuit design problems are the problems of finding the
given permutation as a composition of a minimal number of “primitive” permutations
that come from a certain “library of elementary permutations”. In case of Rubik’s Cube,
the problem is to find the final cube permutation (the state of the Rubik’s cube) from the
initial permutation. In case of the reversible circuit the problem is to find the circuit
specified as a permutation from the trivial (identity) permutations. The gates from the
library of elementary permutations correspond to rotations of parts of Rubik’s cube. All
these are called the permutation decomposition problems and known to be very difficult
to solve.
In classical logic design, the synthesis problems are reduced to the well-known
“combinatorial” search problems such as the “set covering problem” to find the
minimum-size covering of minterms with prime implicants. Unfortunately, formulated as
stated above, the reversible circuit synthesis (permutation search) problems are less
structured but more constrained than the well-known “combinatorial” search problems
(constraint satisfaction problems) of classical logic design. We have thus to find new
search methods for reversible logic. No research on this topic other than the Agrawal/Jha
papers can be found in the literature.
It is well known that several basic problems in Computer Aided Design of standard logic
53 Background. NP-hard are optimization equivalents of NP-complete problems. NP-complete problems require exponential complexity to find a solution but only polynomial complexity to verify the solution. An example of NP complete problem is the well-known combinatorial problem to find a coloring of a graph (such that every two neighbor nodes of the graph have different colors) with less than k colors or prove that such coloring does not exist. This is a decision problem. The NP hard problem would be to find the coloring of the graph with the minimum number of colors such that every two neighbor nodes of the graph have different colors. This is an optimization problem.
Note that the synthesis problem in reversible circuit synthesis is treated by specialists as
more difficult than the case of synthesis of classical logic circuits.
Why is reversible logic synthesis so difficult?
(1) Because of the permutative nature, there is no possibility of finding a general
nicely decomposable regular structure like AND/OR. Also, no general circuit
decomposition method exists for reversible circuits such as the
Ashenhurst/Curtis decomposition [Perkowski97] that decomposes a circuit to
smaller circuits. At least so far nobody found approaches like these.
(2) In reversible logic, the basic gates are of AND/EXOR type rather than
AND/OR type. Search problems are known to be much more difficult for
54 (3) The Fredkin gate is similar to two combined multiplexers, thus it does not
belong to AND/OR or AND/EXOR logic. Further, the multiplexer based
synthesis methods cannot be easily adapted to Fredkin gates. The conservative
gates that generalize the 3*3 Fredkin gate have similar properties to Fredkin,
as I will show in Chapter 3 of the dissertation. No search methods are known
for such gates.
(Background: A conservative gate preserves the number of “ones” (symbols “1”) between every input vector and its corresponding output vector).
Thus, since search is the most important aspect of reversible synthesis, one can state that,
so far, only the adaptation of the AND/EXOR based synthesis methods have proven to be
successful in synthesis for reversible logic. Also, the methods based on “permutative
group theory”, which are not similar to classical logic synthesis approaches, have been
developed for reversible logic [DeVos00, DeVos01, DeVos02, Yang04, Yang05]. But so
far, these search methods were applied only to small functional specifications. In this
dissertation, I use both AND/EXOR methods and new methods to synthesize both
conservative and non-conservative reversible circuits.
It is already popularly known that the complexity of synthesizing large reversible circuits
55 of bits. Efficient and effective methods of synthesizing reversible circuits are therefore
necessary. The research of previous graduate students at PSU (Dipal Shah, Sazzad
Hossain, Martin Lukac, Anas Al-Rabadi [AlRabadi01b, AlRabadi01a, AlRabadi02a,
AlRabadi02b], Normen Giesecke, Karen Dill [Dill97, Dill97a], Ugur Kalay, Chris
Stedman, Akashdeep Aulakh [Akashdeep05], Eric Curtis, Manjith Kumar, Yen etc) as
well as other researchers world-wide that collaborate with our Portland Quantum Logic
Group (Mozammel Khan, Dong-Hwa Kim, Pawel Kerntopf, Tsutomu Sasao) and other
researchers since 2000 have not been successful in the sense that none of the algorithms
created was clearly better than MMD. In this dissertation such an algorithm, MP, is
created and experimentally analyzed. We built therefore a practical CAD tool for the
synthesis of reversible and permutative binary quantum circuits that can synthesize the
56 Chapter 3: REALIZATION OF REVERSIBLE GATES IN VARIOUS TECHNOLOGIES OTHER THAN QUANTUM CIRCUIT TECHNOLOGY