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 Adds variables 0000 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 x x y z x y x yxyx
A Reversible Circuit and Truth Table xyzxyz Equiv. to a CNOT gate Proof by exhaustive simulation Proof by symbolic arguments zxy y X’X’x’x zxy x’y=z y x
Implementations in CMOS B. Desoete and A. De Vos “A reversible carry-look-ahead adder using control gates”, Integration, the VLSI Journal, vol. 33 (2002), pp Reversible 4-bit adder 384 transistors 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
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!
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 Purely quantum synthesis: “An Arbitrary Two-qubit Computation in 23 Elem. Gates” DAC `03, to appear in Phys. Review A