• No results found

Efficient Search Algorithms for Reversible Logic Synthesis

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