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
zxy
“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
zxy
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
zxy 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!