170 likes | 182 Views
This introduction provides historical motivation for reversible circuits, discusses arbitrary computations using reversible circuits, explores recent implementations in CMOS technology, and delves into reversible synthesis and other EDA tasks.
E N D
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 0 0 f ? ? result argument
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 “CNT” gate library Toffoli gate x x CNOT gate y y x x z zxy yx y
A Reversible Circuit and Truth Table x X’ x’ x y zxyx’y=zy zxy • Equiv. to a CNOT gate • Proof by exhaustivesimulation • Proof by symbolic arguments
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
How Much Temporary StorageDo We Need ? • Toffoli (MIT TR, 1980) • Odd permutations requireat 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 operateon 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 1 1 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 applicablewhen there are no purely quantum gates • “Conventional subroutines” of q. programs • Purely quantum gates required in apps • Open problem: synthesis withpurely quantum gates