Professional Documents
Culture Documents
A
AB
B
A 0 A 1
Fredkin Gate
Fredkin Gate is a fundamental concept in
reversible and quantum computing.
computing
Every Boolean function can be build
from 3 * 3 Fredkin gates:
P = A,
Q = if A then C else B,
R = if A then B else C.
Useful Notation for Fredkin Gate
C C C
C
P CP+CQ P
CP+CQ
Q CP+CQ Q
CP+CQ
A A A A A A
0 AB B A+B 0 A
B 1 1 A
A 4-input Fredkin gate
X X 0 0
A AX+CX A A
B BX+AX B B
C CX+BX
C C
1 1 A A
A C B A+B
B A 0 AB
C B 1 A
Reversible logic:
Garbage
C
1
sum
0
In this gate the input signals P and Q are routed to the
same or exchanged output ports depending on the value
of control signal C
3 garbage bits
Switch Gate
Switch Gate Inverse Switch Gate
CP CP
P C C P
C CP CP C
CP
P
C CP C
Interaction Gate
Inverse interaction
Interaction Gate
Gate
AB AB
A A
AB AB
B AB AB B
AB AB
CP+ CQ
CP+ CQ
Types of reversible logic
Reversible Switch
Interaction Conservative
Double rail
Toffoli
inverter Sasao/Kinoshita
Margolus
Fredkin gates
inverter
Kerntopf
Feynman
D F1
Feynman
Fredkin
A GARBAGE BIT 1
Toffoli
B
C
2 outputs
Feynman
GARBAGE BIT 2
2 garbages F2
width = 4
delay = 4
a b
Constants
0 and 1
F is universal in 2
arguments, a and b
MIN(A,B) MAX(A,B) = A + B
Min/max Max/min
gate gate
MAX(A,B) MIN(A,B) = A*B
Complex Gate
Let us define a gate by the following equations:
P = 1 A B C AB
Q = 1 AB B C BC
R = 1 A B AC
When C = 1 then P = A+B, Q = A*B, R = B, so
operators AND/OR/NOT are realized on outputs P and
Q with C as the controlling input value.
When C = 0 then P = (A+B), Q = A+B, R = (A B).
Unate interval Single Index
Regular inputs
symmetric
functions
symmetric
functionsregular,simple
Structure for
Regular EXOR EXOR
Symmetric symmetric level level
structure
Functions regular regular outputs
2 S 3(A,B,C)
11 3
S 2(A,B,C)
10 1 2 Indices of symmetric binary functions of 3 variables
Example for four variables, EXOR level added
D MAX(A,B,C,D) = A+B+C+D =
S 1,2,,3,4(A,B,C)
C MAX(A,B,C) =
(A+B)+C = S
A Max/M
MAX(A,B)
=A+B Max/M 1,2,3(A,B,C) Max/M
in gate in gate S 1(A,B,C,D)
in gate
B MIN(A,B)
MIN(A,B)
C(A+B)
=A*B
S 4(A,B,C,D)
D MAX(A,B,C,D) = A+B+C+D =
S 1,2,,3,4(A,B,C)
C MAX(A,B,C) = S 1(A,B,C,D)
(A+B)+C = S
A Max/M
MAX(A,B)
=A+B Max/M 1,2,3(A,B,C) Max/M
in gate in gate S 2,3,4(A,B,C,D)
in gate
B MIN(A,B)
MIN(A,B)
C(A+B)
=A*B
S 3(A,B,C)
S 3,4(A,B,C,D)
Max/M
in gate S 3(A,B,C,D)
S 4(A,B,C,D)
RPGA
Kerntopf
Feynman
cascade-universal
gates
Toffoli gate
Cascade-universal gates (contd)
If we consider depth n = 4 as too deep a cascade (too much
silicon surface area/delay), we can construct a larger library.
If we choose an p = 2 library, there are four equivalent
optimal combinations:
r14 together with r18,
r14 together with r41,
r44 together with r48 , and
r44 together with r50 .
Now we have n = 3, with expectation value 101/52 = 1.94.
Enlarging the library to p = 3 yields n = 2 and average
cascade depth 99/52 = 1.90.
Minimal number of constant inputs
An arbitrary Boolean function of n variables can be
implemented using Fredkin gates by a circuit with three
constant inputs
(Tsutomu Sasao, Kozo Kinoshita, Conservative Logic Elements
and Their Universality, IEEE Trans. on Computers, 1979 - based
on the paper by Bernard Elspas, Harald S. Stone Decomposition
of group functions and the synthesis of multirail cascades, IEEE
Symposium on Switching and Automata Theory, 1967).
3 constants F