You are on page 1of 17

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
0

trivial encoder
bijection f
trivial decoder

Constructive
procedure

argument

Adds variables

result

?
?

Definitions

Reversible bit-based computation


(e.g., Toffoli 1980)

These restrictions apply to gates & ckts

N bits at input
N bits at output
Every input & output bit-string possible
Bijection
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
yx z

Toffoli gate

y
zxy

CNT gate library

A Reversible Circuit and Truth Table


x

x y z x

y z

0 0 0 0

0 0

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

zxy xy=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,
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 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 dont 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!

You might also like