Transcript Document
Introduction to Reversible Ckts
Igor Markov
University of Michigan
Electrical Engineering & Computer Science
Outline
Historical motivation
Arbitrary computations via reversible
Rev. ckts: basic definitions & examples
Recent implementations in CMOS
Reversible synthesis & other EDA tasks
Novel motivations for reversible circuits
Inherently reversible computations
Quantum circuits
Historical Motivation
Every lost bit causes an energy loss
C. Bennett, 1973, IBM J. of R & D
~ the kinetic energy of one molecule in air
Idea: try to avoid those energy costs
Adiabatic circuits
Asymptotically energy lossless (Time ∞ )
S. Younis and T. Knight, 1994,
Workshop on Low Power Design
Implementing Arbitrary
Computations via Reversible
Toffoli 1980, Theorem 4.1:
Any finite function can be written
as a product of
trivial encoder
bijection f
trivial decoder
Constructive
procedure
argument
Adds variables
0
0
result
f
?
?
Definitions
Reversible bit-based computation
(e.g., Toffoli 1980)
N bits at input
N bits at output
Every input & output bit-string possible
Bijection
These restrictions apply to gates & ckts
Additional restriction: no fanout
Acyclic comb. circuits interesting enough
NOT gate
Examples
k-CNOT gate, a.k.a. generalized Toffoli
(k+1)-inputs and (k+1)-outputs
Values on the first k inputs are unchanged
Last input is negated iff the first k are all 1s
x
x
y
CNOT gate
x y
y x z
Toffoli gate
x
y
zxy
“CNT” gate library
A Reversible Circuit and Truth Table
x
X’
x y z x
y z
0 0 0 0
0 0
y
0 0 1 0
0 1
zxy
0 1 0 0
1 1
0 1 1 0
1 0
1 0 0 1
0 0
1 0 1 1
0 1
1 1 0 1
1 1
1 1 1 1
1 0
x’
x
zxy x’y=z y
Equiv. to a CNOT gate
Proof by exhaustive
simulation
Proof by symbolic
arguments
Implementations in CMOS
B. Desoete and
A. De Vos
“A reversible
carry-look-ahead
adder using
control gates”,
Integration, the
VLSI Journal,
Reversible 4-bit adder
vol. 33 (2002),
384 transistors
pp. 89-104
no power rails
Identities for Reversible Ckts
Temporary Storage / Garbage Bits
How Much Temporary Storage
Do We Need ?
Toffoli (MIT TR, 1980)
Odd permutations require
at least 1 line of temporary storage
Shende et al., ICCAD `02
Even permutations need no temp storage
Odd permutations need 1 line and no more
Constructive synthesis procedure
(not implemented)
Comb. Synthesis Formulations
Straightforward
Given a full truth table, find a circuit
Shende et al. show an optimal procedure
(all 3-line circuits synthesized in mins)
With don’t cares
The function of one output bit is restricted
Iwama et al. (DAC `02): heuristic,
transformation-based synthesis,
may use many lines of temp. storage
Other EDA Tasks
Fault testing in reversible circuits
K. Patel et al. (VTS `02): reversible
circuits require very few test vectors
Equivalence checking
Difficulties with empirical validation
Circuit / gate costs ?
Circuit benchmarks ?
New Motivation:
Inherently Reversible Applications
Information is re-coded,
but none is lost or added
Digital signal processing
Cryptography
Communications
Computer graphics
Micro-processor instructions for
Bit-permutations
Butterfly operation from FFT
New Motivation: Quantum Ckts
Not related to low power
Quantum circuits operate
on linear combinations of bit-strings
E.g., (|0>+|1>)/2, (|00>+i|11>)/2
Linear: are expressed by matrices
Reversibility implied
by quantum mechanics
A conventional reversible gate,
can be extended by linearity,
e.g., a quantum inverter is just
01
10
Classical Versus Quantum Ckts
Circuit identities for conventional
reversible gates (e.g., CNOT and Toffoli)
do not change in the quantum context
Conventional techniques applicable
when there are no purely quantum gates
“Conventional subroutines” of q. programs
Purely quantum gates required in apps
Open problem: synthesis with
purely quantum gates
Thank you!