Control gates as building blocks for reversible computers

Similar documents
Reversible computer hardware

A COMPARISON OF LOGICAL EFFICIENCY

Calculating with the square root of NOT

A NEW DESIGN TECHNIQUE OF REVERSIBLE GATES USING PASS TRANSISTOR LOGIC

Circuit for Revisable Quantum Multiplier Implementation of Adders with Reversible Logic 1 KONDADASULA VEDA NAGA SAI SRI, 2 M.

On Universality of Ternary Reversible Logic Gates

FPGA IMPLEMENTATION OF BASIC ADDER CIRCUITS USING REVERSIBLE LOGIC GATES

A NEW DESIGN TECHNIQUE OF REVERSIBLE BCD ADDER BASED ON NMOS WITH PASS TRANSISTOR GATES

BCD Adder Design using New Reversible Logic for Low Power Applications

Design of Digital Adder Using Reversible Logic

Performance Enhancement of Reversible Binary to Gray Code Converter Circuit using Feynman gate

Reversible Circuit Using Reversible Gate

DESIGN AND ANALYSIS OF A FULL ADDER USING VARIOUS REVERSIBLE GATES

PERFORMANCE ANALYSIS OF CLA CIRCUITS USING SAL AND REVERSIBLE LOGIC GATES FOR ULTRA LOW POWER APPLICATIONS

High Speed Time Efficient Reversible ALU Based Logic Gate Structure on Vertex Family

Design and Implementation of Carry Adders Using Adiabatic and Reversible Logic Gates

OPTIMAL DESIGN AND SYNTHESIS OF FAULT TOLERANT PARALLEL ADDER/SUBTRACTOR USING REVERSIBLE LOGIC GATES. India. Andhra Pradesh India,

Carry Look Ahead Adders

ENERGY EFFICIENT DESIGN OF REVERSIBLE POS AND SOP USING URG

VHDL DESIGN AND IMPLEMENTATION OF C.P.U BY REVERSIBLE LOGIC GATES

Realization of 2:4 reversible decoder and its applications

Design of Reversible Code Converters Using Verilog HDL

Implementation of Reversible ALU using Kogge-Stone Adder

Online Testable Reversible Circuits using reversible gate

A Novel Design for carry skip adder using purity preserving reversible logic gates

Carry Bypass & Carry Select Adder Using Reversible Logic Gates

Department of ECE, Vignan Institute of Technology & Management,Berhampur(Odisha), India

Chapter 2 (Lect 2) Canonical and Standard Forms. Standard Form. Other Logic Operators Logic Gates. Sum of Minterms Product of Maxterms

CS 226: Digital Logic Design

Floating Point Representation and Digital Logic. Lecture 11 CS301

Chapter 2 Boolean Algebra and Logic Gates

Optimization of reversible sequential circuits

Scalable Systolic Structure to Realize Arbitrary Reversible Symmetric Functions

Design of a Novel Reversible ALU using an Enhanced Carry Look-Ahead Adder

Reversible ALU Implementation using Kogge-Stone Adder

Adders - Subtractors

Design of Reversible Synchronous Sequential Circuits

Literature Review on Multiplier Accumulation Unit by Using Hybrid Adder

Transistor Implementation of Reversible Comparator Circuit Using Low Power Technique

Logic Theory in Designing of Digital Circuit & Microprocessor

Design of High-speed low power Reversible Logic BCD Adder Using HNG gate

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

DESIGN AND IMPLEMENTATION OF EFFICIENT HIGH SPEED VEDIC MULTIPLIER USING REVERSIBLE GATES

Midterm Exam Two is scheduled on April 8 in class. On March 27 I will help you prepare Midterm Exam Two.

FULL ADDER/ SUBTRACTOR USING REVERSIBLE LOGIC

Every time has a value associated with it, not just some times. A variable can take on any value within a range

DESIGN OF OPTIMAL CARRY SKIP ADDER AND CARRY SKIP BCD ADDER USING REVERSIBLE LOGIC GATES

Conference on Advances in Communication and Control Systems 2013 (CAC2S 2013)

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

EC-121 Digital Logic Design

Design and Implementation of REA for Single Precision Floating Point Multiplier Using Reversible Logic

Chap 2. Combinational Logic Circuits

DESIGN OF PARITY PRESERVING LOGIC BASED FAULT TOLERANT REVERSIBLE ARITHMETIC LOGIC UNIT

Regularity and Symmetry as a Base for Efficient Realization of Reversible Logic Circuits

Analysis of Multiplier Circuit Using Reversible Logic

Chapter 2 Combinational Logic Circuits

A Technology Based Complexity Model for Reversible Cuccaro Ripple-Carry Adder

Implementation of Optimized Reversible Sequential and Combinational Circuits for VLSI Applications

Basic Logic Gate Realization using Quantum Dot Cellular Automata based Reversible Universal Gate

Design of Efficient Adder Circuits Using PROPOSED PARITY PRESERVING GATE (PPPG)

Intro To Digital Logic

Power Minimization of Full Adder Using Reversible Logic

EECS Variable Logic Functions

ISSN Vol.03, Issue.03, June-2015, Pages:

Novel Reversible Gate Based Circuit Design and Simulation Using Deep Submicron Technologies

Boolean Algebra and logic gates

PERFORMANCE IMPROVEMENT OF REVERSIBLE LOGIC ADDER

Chapter 2: Switching Algebra and Logic Circuits

DESIGN OF A COMPACT REVERSIBLE READ- ONLY-MEMORY WITH MOS TRANSISTORS

Design and Implementation of Reversible Binary Comparator N.SATHISH 1, T.GANDA PRASAD 2

Implementation of Reversible Control and Full Adder Unit Using HNG Reversible Logic Gate

Implementation of Boolean Logic by Digital Circuits

Systems I: Computer Organization and Architecture

Design of an Online Testable Ternary Circuit from the Truth Table

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

Lecture 7: Logic design. Combinational logic circuits

A NEW APPROACH TO DESIGN BCD ADDER AND CARRY SKIPBCD ADDER

Computer organization

Combinational Logic. Review of Combinational Logic 1

Design and Optimization of Asynchronous counter using Reversible Logic

Design of Reversible Comparators with Priority Encoding Using Verilog HDL

Binary addition by hand. Adding two bits

ADVANCES in NATURAL and APPLIED SCIENCES

ROM-BASED COMPUTATION: QUANTUM VERSUS CLASSICAL

Graphical Method of Reversible Circuits Synthesis

A More Effective Realization Of BCD Adder By Using A New Reversible Logic BBCDC

Logic. Combinational. inputs. outputs. the result. system can

CHAPTER1: Digital Logic Circuits Combination Circuits

Low Power and High Speed BCD Adder using Reversible Gates

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

CMSC 313 Lecture 18 Midterm Exam returned Assign Homework 3 Circuits for Addition Digital Logic Components Programmable Logic Arrays

Downloaded from

Quantum Cost efficient Reversible Multiplier

Combinational Logic Design

Design and Implementation of Combinational Circuits using Reversible Gates

CS/COE0447: Computer Organization

MOSIS REPORT. Spring MOSIS Report 1. MOSIS Report 2. MOSIS Report 3

Design of a compact reversible binary coded decimal adder circuit

Realization of programmable logic array using compact reversible logic gates 1

EFFICIENT APPROACH FOR DESIGNING LOW POWER REVERSIBLE DECODER/ENCODER WITH LOW QUANTUM COST

Transcription:

Control gates as building blocks for reversible computers A. De Vos 1, B. Desoete 2, F. Janiak 3, and A. Nogawski 3 1 Universiteit Gent and Imec v.z.w., B-9000 Gent, Belgium 2 Universiteit Gent, B-9000 Gent, Belgium 3 Politechnika Lódzka, PL-90-924 Lódź, Poland Abstract. In principle, any reversible logic circuit can be built by using a single building block (having three logic inputs and three logic outputs). We demonstrate that, for a flexible design, it is more advantageous to use a broad class of reversible gates, called control gates. They form a generalization of Feynman s three gates (i.e. the NOT, the CONTROLLED NOT, and the CONTROLLED CONTROLLED NOT). As an illustration, two reversible 4-bit carry-look-ahead adders in 0.8 µm c-mos have been built. 1 Introduction Classical computing machines using logically irreversible gates unavoidably generate heat. This is due to the fact that each loss of one bit of information is accompanied by an increase of the environment s entropy by an amount k log(2), where k is Boltzmann s constant. This means that an amount of thermal energy equal to kt log(2) is transferred to the environment (at temperature T ). According to Landauer s principle [1] [2] [3], it is possible to construct a computer that dissipates an arbitrarily small amount of heat. A necessary condition is that no information is thrown away. Therefore, logical reversibility is a necessary (although not sufficient) condition for physical reversibility. Fredkin and Toffoli [4] [5] have shown that a logically reversible basic building block should have three binary inputs (say A, B, and C) and three binary outputs (say P, Q, and R). An arbitrary boolean function can be implemented using exclusively such gate. Storme et al. [6] have shown that not less than 38,976 different logic gates (all with three inputs and three outputs) are candidates to play the role of universal reversible building block. Instead of working with a single block, one can equally well use a set of building blocks. Feynman [7] [8] has proposed the use of three fundamental gates (See Table 1): the NOT gate, the CONTROLLED NOT gate, and the CONTROLLED CONTROLLED NOT gate. In the present paper, we develop a design strategy that uses even more than three building units. We call the new reversible units control gates.

Control gates for reversible computers 9.2.2 Table 1. Feynman s three basic truth tables: (a) NOT, (b) CONTROLLED NOT, (c) CONTROLLED CONTROLLED NOT A P 0 1 1 0 (a) AB P Q 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 (b) ABC P QR 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 2 Simple control gates (c) 2.1 Definition A gate with k inputs (A 1, A 2,..., A k ) and k outputs (P 1, P 2,..., P k ), satisfying P i = A i for all i {1, 2,..., k 1} P k = f(a 1, A 2,..., A k 1 ) XOR A k, with f an arbitrary boolean function of k 1 boolean arguments, is called a simple control gate. The number k is called the width of the gate. The logic inputs A 1, A 2,..., A k 1 are named the controlling bits, whereas the input A k is the controlled bit. Finally, the function f is called the control function. 2.2 Properties We first demonstrate that any simple control gate is reversible. For this purpose, we cascade two identical simple control gates, yielding P k = [ f(a 1, A 2,..., A k 1 ) XOR f(a 1, A 2,..., A k 1 ) ] XOR A k, and thus P i = A i for all i, because of the two boolean identities X XOR X = 0 and 0 XOR Y = Y. The result is thus the k-bit follower. In other words: any simple control gate is its own inverse, and thus is necessarily reversible. Cascading two arbitrary simple control gates (one with control function f and one with control function f ) results in a new simple control gate, with control function f XOR f. Therefore the simple control gates of width k together with the operation cascading form a group. The group has 2 2k 1 elements. It is abelian, because of the boolean identity X XOR Y = Y XOR X. We note that the NOT gate is a simple control gate with k = 1 and f a function with zero arguments: f(.) = 1; the CONTROLLED NOT is a simple control gate with k = 2 and f(a 1 ) = A 1 ; the CONTROLLED CONTROLLED NOT is a simple control gate with k = 3 and f(a 1, A 2 ) = A 1 AND A 2.

9.2.3 A. De Vos et al. 2.3 Implementation The function is equivalent with P k = f(a 1, A 2,..., A k 1 ) XOR A k P k = NOT A k if f(a 1, A 2,..., A k 1 ) = 1 A k if NOT f(a 1, A 2,..., A k 1 ) = 1 and thus can be built into a square geometry, provided we use dual line electronics, i.e. any signal X is accompanied by its counterpart NOT X. Fig. 1 shows P k is connected to A k if f = 0 but is connected to A k (short notation for NOT A k ) if f = 1. Because a boolean function f(a 1, A 2,..., A k 1 ) can always be written either as an OR of ANDs (often referred to as sum of minterms ) or as an AND of ORs (often referred to as product of maxterms ), we can implement P k = f(a 1, A 2,..., A k 1 ) XOR A k in the square, using either four parallel connections of series connections of switches or four series connections of parallel connections of switches or a combination of both. Each switch is composed of one n-mos transistor in parallel with one p-mos transistor (forming together a transmission gate). This leads to a reversible electronic implementation in dual-line pass-transistor logic: so-called r-mos technology [9]. Such logic is naturally suited for adiabatic addressing [10] [11] [12]. All energy supplied to the outputs P k and P k comes from the inputs A k and A k, i.e. not from separate power lines. Fig. 1. Implementation of the function f XOR A k, with the help of four switches

Control gates for reversible computers 9.2.4 Table 2. Truth table: (a) original (irreversible) table, (b) reversible version A B C D P Q R S A B C S 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 (a) 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 (b) As an example, suppose we have to implement truth Table 2a: a function S(A, B, C) of three arguments. The appropriate control gate has a total of k = 4 inputs, k 1 = 3 of which are control bits (A, B, C) controlling the k th = 4 th input bit D. We extend Table 2a into Table 2b, where we have P = A, Q = B, R = C, and where the fourth output bit S satisfies S = ((A AND B AND C) OR (A AND B AND C ) OR (A AND B AND C)) XOR D, indeed realizing (after presetting D = 0) truth Table 2a. Fig. 2a displays an optimized implementation of the example, making use of S = ((A OR C) AND B) XOR D, needing only 12 switches. An alternative approach makes use of standard cells, where the particular function f(a, B, C), to be XORed with D, is hardwired by the vias between the Metal1 and Metal2 layers of the chip. These vias are displayed as small black squares in Fig. 2b. The programmable gate however needs 2 k+1 4 = 28 switches.

9.2.5 A. De Vos et al. Fig. 2. Implementation of boolean Table 2 using (a) 12 switches, (b) 28 switches

Control gates for reversible computers 9.2.6 3 Control gates 3.1 Definition When we cascade k simple control gates (one of width k, one of width k 1,..., and one of width 1), in the way of Fig. 3, we have a new gate of width k. Because each output is only one boolean function f away from the inputs, its logic depth is only 1. We call such gates control gates, as each output P i is either equal to the controlled bit A i or to its inverse A i, depending on the value of its i 1 controlling inputs A 1, A 2,..., A i 1. Fig. 3. Decomposition of a control gate into simple control gates We thus come to the definition of a control gate: a logic gate with k inputs (A 1, A 2,..., A k ) and k outputs (P 1, P 2,..., P k ), satisfying P i = f i (A 1, A 2,..., A i 1 ) XOR A i for all i {1, 2,..., k}, with f i arbitrary boolean functions of (i 1) arguments, is called a control gate. Note that a control gate with width k has (k 1) controlling bits (A 1, A 2,..., A k 1 ) as well as (k 1) controlled bits (A 2, A 3,..., A k ). We remark that the above definition is somewhat more general than the preliminary definition presented at Patmos 2000 [12].

9.2.7 A. De Vos et al. 3.2 Properties As any control gate is composed of simple control gates and any simple control gate is reversible, the control gate is thus also reversible. The inverse of a simple control gate is equal to itself. This is not the case with an arbitrary control gate. The inverse of the control gate of Fig. 3 consists of first putting the simple control gate f 1, then the simple control gate f 2, etc. Now the cascading of two simple control gates of different width is not commutative. Thus an arbitrary control gate and its reverse are not necessarily equal, the simple building blocks appearing in opposite order. Two control gates (one with control functions f i and one with control func- ), when cascaded, form a new control gate, with control functions tions f i f i (A 1, A 2,..., A i 1 ) = f i (A 1, A 2,..., A i 1 ) XOR f i ( f 1(.) XOR A 1, f 2(A 1 ) XOR A 2,..., f i 1(A 1, A 2,..., A i 2 ) XOR A i 1 ). Thus, the control gates of width k, together with the cascading operation, form a group. This group has 2 2k 1 elements and is solvable, but not abelian. 4 Carry-look-ahead adder To demonstrate the flexibility of using control gates, we present here, as an example, a 4-bit carry-look-ahead adder, as an alternative to the classical, i.e. ripple adder. An n-bit ripple adder consists of 2n gates of type CONTROLLED NOT and 2n gates of the CONTROLLED CONTROLLED NOT type [12]. Its logic depth increases with increasing n. In order to make the calculation less deep, and thus faster, we replace the ripple adder by a carry-look-ahead adder. For the carry-look-ahead (or c.l.a.) [13], we first need to implement the calculation of the n generator bits G i and the n propagator bits P i from the n addend bits A i and the n augend bits B i : G i = A i AND B i P i = A i XOR B i. Next we need to calculate the n carry-out bits C i from the single carry-in bit C 0, the n generator bits, and the n propagator bits. In its simplest form, the 4-bit carry-look-ahead adder implements the following equations: C 1 = G 0 OR (P 0 AND C 0 ) C 2 = G 1 OR (P 1 AND (G 0 OR (P 0 AND C 0 ))) C 3 = G 2 OR (P 2 AND (G 1 OR (P 1 AND (G 0 OR (P 0 AND C 0 ))))) C 4 = G 3 OR (P 3 AND (G 2 OR (P 2 AND (G 1 OR (P 1 AND (G 0 OR (P 0 AND C 0 ))))))). This can be performed by a control gate with 2n + 1 bits controlling n other bits (i.e. k = 3n + 1). The electronic implementation of this gate consists of n squares, counting 8n(n + 2) transistors. In the third and final step, the adder calculates the n sum bits: S i = P i XOR C i.

Control gates for reversible computers 9.2.8 5 Results Putting the three parts (calculation of (G i, P i ), of C i+1, and of S i ) together, we see that the logic depth d of the resulting n-bit c.l.a. adder is 3, independent of n. Note that we consider the NOT as a gate of zero depth. Indeed, in dual line hardware, the NOT gate is merely an interchange of the two lines and thus costs neither silicon area, nor time delay, nor power dissipation. Fig. 4 shows the 4-bit c.l.a. adder. For sake of clarity, the 8 preset input lines and the 12 garbage output lines are not shown, nor are the inverters (i.e. the NOT gates). Each logic gate has an equal number of logic inputs and logic outputs, a number we call the width w of the gate. The full circuit has depth d = 3, width w = 17, and transistor count t = 320. For an arbitrary n, we have d = 3, w = 4n + 1 and t = 8n(n + 6). For comparison: the ripple adder has d = n + 1, w = 3n + 1 and t = 48n. Thus for any number n > 2, the c.l.a. adder is less deep (and thus faster) than its ripple counterpart. At the other side, for any number n, the c.l.a. circuit is more complex than the ripple circuit, the hardware overhead becoming quite substantial for large n. Fig. 5 shows the 4-bit implementation in the 0.8 µm c-mos n-well technology CYE of Austria Mikro Systeme. The n-mos transistors have length L equal to 0.8 µm and width W equal to 2 µm. The p-mos transistors have L = 0.8 µm and W = 6 µm. The threshold voltages are 0.85 volt (n-mos) and 0.75 volt (p-mos). The whole chip (bonding pads included) measures 1.9 mm 1.2 mm. The chip has been tested successfully, with power supply voltage V dd = V ss ranging from 1 volt to 3 volts. Fig. 6a shows the experimental transient output C 4 for augend B = 1101 and addend A changing quasi-adiabatically from 0010 to 0011 with charging time τ = 50 µs. Fig. 6b shows the power dissipation estimated by Spectre simulations (including parasitics) for V dd = V ss = 2 V, as a function of τ. A c.l.a. chip, applying hardware-programmed control gates, is designed. It contains as many as t = 64 3 (4n + 3n 1) = 5696 transistors and measures 2.5 mm 2.0 mm. In the recent literature, other 4-bit c.l.a. adders [14] [15], and even an 8- bit [16] c.l.a. adder with adiabatic/reversible gates have been presented. Our design should not at all be considered as just one more such a circuit. Our c.l.a. adders should be regarded as specific examples of the design philosophy we have developed: reversible control gate logic. Acknowledgement The authors thank the Invomec division of Imec v.z.w. (Leuven, Belgium) and the Europractice organisation, for processing the chips at Austria Mikro Systeme.

9.2.9 A. De Vos et al. Fig. 4. Schematic diagram of reversible carry-look-ahead four-bit adder Fig. 5. Microscope photograph of c-mos reversible carry-look-ahead four-bit adder

Control gates for reversible computers 9.2.10 100 energy (pj) 10 1 1 10 100 1000 10000 100000 tau (ns) (a) (b). Fig. 6. Oscilloscope curve and Spectre simulation of carry-look-ahead four-bit adder References 1. R. Landauer: Irreversibility and heat generation in the computing process. I.B.M. Journal of Research and Development 5 (1961) 183 191 2. C. Bennett and R. Landauer: The fundamental physical limits of computation. Sc. American 253 (July 1985) 38 46 3. R. Landauer: Information is physical. Physics Today 44 (May 1991) 23 29 4. T. Toffoli: Reversible computing. In: J. De Bakker and J. Van Leeuwen (eds.): 7 th Colloquium on Automata, Languages and Programming, Springer, Berlin (1980) 632 644 5. E. Fredkin and T. Toffoli: Conservative logic. Int. Journal of Theoretical Physics 21 (1982) 219 253 6. L. Storme, A. De Vos, and G. Jacobs: Group theoretical aspects of reversible logic gates. Journal of Universal Computer Science 5 (1999) 307 321 7. R. Feynman: Quantum mechanical computers. Optics News 11 (1985) 11 20 8. R. Feynman: Feynman lectures on computation (A. Hey and R. Allen, eds.). Addison-Wesley, Reading (1996) 9. A. De Vos: Reversible computing. Progress in Quantum Electronics 23 (1999) 1 49 10. B. Desoete and A. De Vos: Optimal charging of capacitors. In: A. Trullemans and J. Sparsø (eds.): Proc. 8 th Int. Workshop Patmos, Lyngby (Oct. 1998) 335 344 11. A. De Vos and B. Desoete: Equipartition principles in finite-time thermodynamics. Journal of Non-Equilibrium Thermodynamics 25 (2000) 1 13 12. A. De Vos, B. Desoete, A. Adamski, P. Pietrzak, M. Sibiński, and T. Widerski: Design of reversible logic circuits by means of control gates. In: D. Soudris, P. Pirsch, and E. Barke (eds.): Proc. 10 th Int. Workshop Patmos, Göttingen (Sept. 2000) 255 264 13. H. Taub: Digital circuits and microprocessors. Mc Graw Hill, Auckland (1982) 14. S. Kim and M. Papaefthymiou: True single-phase energy-recovering logic for lowpower, high-speed VLSI. In: Proc. 1998 Int. Symposium on Low Power Electronics & Design, Monterey (August 1998) 167 172 15. S. Kim and M. Papaefthymiou: Pipelined DSP design with true single-phase energy-recovering logic style. In: Proc. I.E.E.E. Alessandro Volta Memorial Workshop on Low Power Design, Como (March 1999) 135 143 16. S. Kim and M. Papaefthymiou: Low-energy adder design with a single-phase source-coupled adiabatic logic. In: J. Sparsø and D. Soudris (eds.): Proc. 9 th Int. Workshop Patmos, Kos (Oct. 1999) 93 102