Introduction to Reversible Ckts
description
Transcript of Introduction to Reversible Ckts
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 writtenas a product of trivial encoder bijection f trivial decoder
Constructiveprocedure Adds variables
00
f
??
argument
result
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
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
“CNT” gate library
NOT gate
CNOT gate
Toffoli gate
zxy
y
xx
y
zx
y
xyx
A Reversible Circuit and Truth Table
x y z x y z
0 0 0 0 0 0
0 0 1 0 0 1
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
Equiv. to a CNOT gate Proof by exhaustive
simulation Proof by symbolic
arguments
zxy
yX’ x’ x
zxy x’y=z y
x
Implementations in CMOS
B. Desoete and A. De Vos“A reversible carry-look-aheadadder using control gates”,Integration, the VLSI Journal,vol. 33 (2002),pp. 89-104
Reversible 4-bit adder 384 transistors no power rails
Identities for Reversible Ckts
Temporary Storage / Garbage Bits
How Much Temporary StorageDo 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
0 11 0
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!