Technical Report: Projects & Background in Reversible Logic

Similar documents
Reversible Function Synthesis with Minimum Garbage Outputs

Improved ESOP-based Synthesis of Reversible Logic

On Universality of Ternary Reversible Logic Gates

Design of a Compact Reversible Random Access Memory

Reversible Circuit Synthesis of Symmetric Functions Using a Simple Regular Structure

A New Approach to Online Testing of TGFSOP-based Ternary Toffoli Circuits

Technical Report: Considerations for Determining a Classification Scheme for Reversible Boolean Functions

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

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

Synthesis of Fredkin-Toffoli Reversible Networks

Design of Reversible Code Converters Using Verilog HDL

ENERGY EFFICIENT DESIGN OF REVERSIBLE POS AND SOP USING URG

Quantum Cost Optimization for Reversible Carry Skip BCD Adder

Design of an Online Testable Ternary Circuit from the Truth Table

Optimized Nanometric Fault Tolerant Reversible BCD Adder

Design of a compact reversible binary coded decimal adder circuit

arxiv: v1 [quant-ph] 20 Jul 2009

A Shared-cube Approach to ESOP-based Synthesis of Reversible Logic

In

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

Reversible Circuit Using Reversible Gate

Implementation of Optimized Reversible Sequential and Combinational Circuits for VLSI Applications

Majority-Based Reversible Logic Gate

USING AUTOCORRELATION COEFFICIENT-BASED COST FUNCTIONS IN ESOP-BASED TOFFOLOI GATE CASCADE GENERATION

Design of 16 Bit Adder Subtractor with PFAG and TG Gates Using Verilog HDL

Mozammel H A Khan. Marek A Perkowski. Pawel Kerntopf

Optimization of reversible sequential circuits

Design of Reversible Synchronous Sequential Circuits

A NEW DESIGN TECHNIQUE OF REVERSIBLE GATES USING PASS TRANSISTOR LOGIC

Design of Reversible Logic based Basic Combinational Circuits

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

Reversible Logic Synthesis with Output Permutation

Design of Reversible Multiplier by Novel ANU Gate

Design and Implementation of Nanometric Fault Tolerant Reversible BCD Adder

Design and Minimization of Reversible Circuits for a Data Acquisition and Storage System

Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM Expressions

A Novel Reversible Gate and its Applications

A NEW APPROACH TO DESIGN BCD ADDER AND CARRY SKIPBCD ADDER

Group Theory Based Synthesis of Binary Reversible Circuits

Optimized Reversible Programmable Logic Array (PLA)

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

An Approach to Simplify Reversible Logic Circuits

Design and Synthesis of Sequential Circuit Using Reversible Logic

Realization of 2:4 reversible decoder and its applications

On the Analysis of Reversible Booth s Multiplier

A General Decomposition for Reversible Logic

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

CHAPTER1: Digital Logic Circuits Combination Circuits

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

Synthesis of Quantum Circuit for FULL ADDER Using KHAN Gate

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

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

Synthesis of Reversible Circuits for Large Reversible Functions

Design of Reversible Even and Odd Parity Generator and Checker Using Multifunctional Reversible Logic Gate (MRLG)

Reversible Computing for Beginners. Some slides from Hugo De Garis, De Vos, Margolus, Toffoli, Vivek Shende & Aditya Prasad

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

A VLSI Design of Power Efficient Reversible Logic Gates for Arithmetic and Logical Unit

Reversible Multiplier with Peres Gate and Full Adder.

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

arxiv:quant-ph/ v1 27 Sep 2005

Graphical Method of Reversible Circuits Synthesis

Transistor Implementation of Reversible Comparator Circuit Using Low Power Technique

Reversible Multiplier with Peres Gate and Full Adder

Exact SAT-based Toffoli Network Synthesis

An Application of Autocorrelation Functions to Find Linear Decompositions for Incompletely Specified Index Generation Functions

Online Testable Reversible Circuits using reversible gate

Two-Qubit Quantum Gates to Reduce the Quantum Cost of Reversible Circuit

DESIGN AND ANALYSIS OF A FULL ADDER USING VARIOUS REVERSIBLE GATES

Quantified Synthesis of Reversible Logic

A Novel Synthesis Algorithm for Reversible Circuits

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

Decomposition of Multi-Output Boolean Functions - PRELIMINARY VERSION

Variable Reordering for Reversible Wave Cascades - PRELIMINARY VERSION

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

Control gates as building blocks for reversible computers

Design of Low Power Adder and Multiplier Using Reversible Logic Gates

Adequate set of connectives, logic gates and circuits

FPGA-Based Circuit Model Emulation of Quantum Algorithms

Scalable Systolic Structure to Realize Arbitrary Reversible Symmetric Functions

Optimized Reversible Vedic multipliers for High Speed Low Power Operations

DESIGN OF COMPACT REVERSIBLE LOW POWER n-bit BINARY COMPARATOR USING REVERSIBLE GATES

Logic Design. Chapter 2: Introduction to Logic Circuits

Design of Sequential Circuits Using MV Gates in Nanotechnology

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

Design of Reversible Sequential Circuit Using Reversible Logic Synthesis

Literature Review on Multiplier Accumulation Unit by Using Hybrid Adder

ELCT201: DIGITAL LOGIC DESIGN

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Logic Theory in Designing of Digital Circuit & Microprocessor

Design of Universal Shift Register Using Reversible Logic

Quantum Multiple-Valued Decision Diagrams Containing Skipped Variables

Power Optimization using Reversible Gates for Booth s Multiplier

FULL ADDER/ SUBTRACTOR USING REVERSIBLE LOGIC

SYNTHESIS AND TESTING OF REVERSIBLE TOFFOLI CIRCUITS. NOOR MUHAMMED NAYEEM Bachelor of Science, University of Dhaka, 2008

Carry Bypass & Carry Select Adder Using Reversible Logic Gates

Reversible computer hardware

Design and Implementation of Efficient Reversible Vedic multiplier for Low Power and High Speed Operations

A New Approach for Designing of 3 to 8 Decoder and It s Applications Using Verilog HDL

FPGA IMPLEMENTATION OF BASIC ADDER CIRCUITS USING REVERSIBLE LOGIC GATES

Combinational Logic Design Principles

Transcription:

Technical Report: Projects & Background in Reversible Logic TR-CSJR1-2005 J. E. Rice University of Lethbridge j.rice@uleth.ca 1 Introduction - What is Reversible Logic? In order to discuss new trends and projects in the area of reversible logic one must first have an understanding of what this is. First of all, we ll restrict our discussion of logic functions to two-valued functions describing switching logic. Reversible multiple-valued functions are also possible, but are beyond the scope of this report. We will be discussing functions that describe Boolean logic circuits. These functions are generally built using logic gates. According to Shende et. al. [16], Definition 1.1 a gate is reversible if the (Boolean) function it computes is bijective. Bijective means one-to-one and onto; or, for those of us who forget our mathematics terminology, there must be the same number of inputs as outputs, and for each output value there is a unique input value that leads to it. Table 1 shows the truth table for a 3x3 reversible function. Note that a reduced representation can be obtained from the truth table by simply listing the row numbers correspoinding to the binary expansions represented by the inputs and by the outputs. If we assume that the inputs are given in numerical order from 0 to 2 n 1 then we can list simply the decimal numbering of the outputs, in this case 0, 1, 3, 2, 4, 5, 7, 6. Since, by our previous definition, we need reversible gates in order to build reversible logic we must next define some reversible gates and how they behave. Again according to Shende et. al. [16], Definition 1.2 A k-cnot is a (k + 1) (k + 1) gate. It leaves the first k inputs unchanged, and inverts the last iff all others are 1. There are many types of k-cnot gates, and they are referred to in the literature in a variety of ways. Here is a few of the names given to the varieties: A 0-CNOT gate is just an inverter, referred to as a NOT gate. 1

xyz x y z 0 000 000 0 1 001 001 1 2 010 011 3 3 011 010 2 4 100 100 4 5 101 101 5 6 110 111 7 7 111 110 6 Table 1: The truth table of a 3x3 reversible function. gate behaviour Not (x) (x 1) Feynman (y, x) (y, x y) Toffoli (z, y, z) (z, y, x yz) swap (x, y) (y, x) Fredkin (z, y, z) (z, x, y) iff z = 1 Table 2: The behaviour of a selection of more commonly used reversible logic gates. A 1-CNOT gate is called a controlled-not, or CNOT (this is also known as a Feynman gate). A 2-CNOT gate is called a TOFFOLI gate. what is reversible logic? 6 Other gates include the SWAP gate and the FREDKIN gate. Table 2 lists the behaviour of each of the most commonly another commonly used reversible used gates. Figure SWAP s 1equivalent: illustrates the symbols usually used for reversible each ofgate the is gates. the SWAP Each of the Toffoli, gate: what is reversible logic? 6 (x,y) (y,x) z z y y y y y y x x x x x x another commonly used and you may SWAP s have heard equivalent: of the Fredkin s equivalent: (a) the NOT reversible gate gate (b) is the SWAP Feynman Fredkin gate: (c) the Toffoli gate gate: z z (z,y,x) (z,x,y) iff z = 1 y (x,y) y (y,x) y y and (d) you the may swap have gate heard of (e) the the Fredkin s gate equivalent: Fredkin gate: both Toffoli and Fredkin can be generalized to any number of Figure 1: Symbols forzsome of the z more inputs commonly(z,y,x) used reversible (z,x,y) iff z logic = 1 gates. y y Fredkin and CNOT gate are universal gates [10]; that is, they each can be used to create any logic both circuit Toffoli and without Fredkin the can addition be generalized of anyto other any number type of of gate. In traditional logic inputs the AND gate is a universal gate. There are many different notations being used to denote these and other July 7, 2005 J. Rice - an overview of Reversible Logic 9 of 17 gates. The symbols in Figure 1 are from [4]. Dueck et. al. [4] also use the following notation: July 7, 2005 J. Rice - an overview of Reversible Logic 9 of 17 2

TOF(C; T) denotes a Toffoli gate, where C is a set of 0 or more control inputs and T is the input to be inverted, FRE(C; T) denotes a Fredkin gate, where C is a set of 0 or more control inputs and T is the inputs to be swapped, and the NOT can then be written TOF( ; T) and a SWAP can then be written FRE( ; T). 2 Motivation - Why Reversible Logic? In addition to understanding the background of a topic it is equally important to understand why a particular topic is of interest. According to Frank [6]...computers based mainly on reversible logic operations can reuse a fraction of the signal energy that theoretically can approach arbitrarily near to 100% as the quality of the hardware is improved... Many researchers believe that Moore s law is at an end. We can t keep increasing performance as we have previously done, in order to meet consumer demands, because we simply can t keep up with the power requirements. For an extremely convincing explanation of why this is so the reader is directed to section 1.1 of [6]. If this doesn t convince you then possibly Bennet s statement that loss of information implies energy loss [2] and Perkowski et. al. s convictions that every future technology will have to use reversible gates in order to reduce power and [our reversible techniques are] useful for arbitrary reversible technology, e.g. quantum, CMOS, DNA, optical, etc. [14] may convince us of the usefulness of pursuing research in the area of reversible logic. 3 Issues This is a relatively new area of work. One prominent researcher has identified four big problems in the area. Frank [6] states that 1. we need to develop fast and cheap switching devices with adiabatic energy coefficients well below those of transistors; 2. we also need clocking systems that are themselves of very high reversible quality; 3. it is also essential that we pursue research into the design of highlyoptimized reversible logic circuits and algorithms. 4. Finally, the area faces an uphill social battle in overcoming the enormous inertia of the established semiconductor industry. I have chosen three projects, as described below, that fit into these problem areas. 3

4 Projects Much of my prior work has been in the are of traditional logic synthesis. Thus it is logical for me to extend this knowledge to problem 3 in Frank s list; the problem of developing highly-optimized reversible logic circuits and algorithms. This is, of course, logic synthesis. Definition 4.1 Reversible logic synthesis: given a truth table or other specification of a reversible Boolean logic function, how do we generate (what is usually) a cascade of reversible gates to implement the function(s)? 4.1 Project 1 - Sequential Logic Synthesis for Reversible Logic Circuits Nearly all the literature on reversible logic synthesis has addressed only the aspect of combinational logic. Researchers that have addressed the problem of sequential logic synthesis for reversible logic are as follows: M. Frank, in Approaching the Physical Limits of Computing [5], Kwon et. al. in A three-port nrerl register file for ultra-low-energy applications [9], Picton, in Multi-Valued Sequential Logic Design Using Fredkin Gates [15], and Thapliyal et. al. in A Beginning in the Reversible Logic Synthesis of Sequential Circuits [17]. Part of the problem is that the traditional description of reversible logic gates seems to contradict the requirements for building sequential circuits. However, in order to make reversible logic a feasible tool there must be some type of revrsible memory gate or object, and tools for sequential logic design. The first mention of sequential design for reversible logic was by Picton. He describes the use of Fredkin gates to build clocked D-type latches, which can then be combined to form more complex memory elements required in sequential logic design. Since then Frank (in various presentations, including [5]) and Thapliyal et. al. have considered this issue. I include Kwon et. al. in the above list since in order to design a register, by nature sequential logic must be used. However synthesis techniques are not mentioned at all in this work; indeed it appears that the design is a one-off hand-tooled design, not suitable for general logic synthesis or what we today know as CAD. I propose to investigate this problem with the goal of developing a logic synthesis technique, possibly combined with techniques discussed in the following section, that is tailored towrards reversible logic solutions and will take into account the requirements of sequential logic. 4

4.2 Project 2 - Decision Diagram-based Synthesis for Reversible Logic Circuits Existing research into reversible logic synthesis seems to fall into two main categories: 1. transform-based techniques, such as those introduced by Dueck et. al. [4, 13, 12], and 2. decomposition techniques, such as those introduced by Perkowksi et. al. [14], De Vos et. al. [18] and Miller [11]. Other researchers in the area include Kerntopf [8, 7], Agrawal et. al. [1], and Shende et. al. [16]. These latter works rely more on heuristics for deciding how to build reversible circuits. Any of us familiar with traditional logic synthesis will likely be aware of the impact Bryant s [3] binary decision diagrams have had on the area. In my reading I have found it interesting to note that there are little to no details on how thse useful tools may be extended to reversible logic synthesis. Perkowski does certainly mention the use of PKDDs [14] but gives no information on how the dd structure is then converted into a reversible gate layout. I intend to provide these details, and also make use of the various decomposition and transformation-based techniques in the design of heuristics combining the best aspects of each of these methods. 4.3 Project 3 - Transforming a Traditional Gate-level Layout to a Reversible Logic Layout This section cannot begin with a list of existing work because in this area, there is none. The motivation of this particular topic is to provide a bridge from existing traditional logic designs to the novel reversible logic designs. Let s face it; academia and industry has put a lot of time and effort into the existing designs we have. If we want to transition to reversible logic we must plan for it. I intend to begin with traditional gate layouts such as (N)AND-(N)OR implementations and devise algorithms and/or heuristics for generating reversible equivalents. This, of course, is the simplest of traditional logic designs; muxes, registers, and other more complex devices must be incorporated as the work progresses. Clearly the work on sequential reversible logic synthesis from above will provide help in this area as well. 5 Conclusion This report is intended to fulfill two purposes; firstly to provide the reader with an overview of the area of reversible logic and a list of references from the area, and secondly to give a very brief overview of the projects I intend to pursue in the area. 5

References [1] A. Agrawal and N. K. Jha. Synthesis of Reversible Logic. In Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE), 2004. [2] Bennet. Logic reversibility of computation. IBM J. of Research & Development, 1973. [3] R. Bryant. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Trans. on Comp., C-35(8):677 691, Aug. 1986. [4] G. W. Dueck, D. Maslov, and D. M. Miller. Transformation-based synthesis of networks of toffoli/fredkin gates. In Proceedings of the IEEE Canadian Conference on Electrical and Computer Engineering, 2003. [5] M. P. Frank. Approaching the Physical Limits of Computing. In Proceedings of the International Symposium on Multiple-Valued Logic (ISMVL), 2005. [6] M. P. Frank. Introduction to reversible computing: motivation, progress, and challenges. In Proceedings of the 2nd Conference on Computing Frontiers, pages 385 390, 2005. [7] P. Kerntopf. Synthesis of Multipurpose Reversible Logic Gates. In Proceedings of the Euromicro Symposium on Digital System Design (DSD), 2002. [8] P. Kerntopf. A New Heuristic Algorithm for Reversible Logic Synthesis. In Proceedings of the Design Automation Conference (DAC), pages 834 837, 2004. [9] J.-H. Kwon, J. Lim, and S.-I. Chae. A three-port nrerl register file for ultra-low-energy applications. In Proceedings of the 2000 International Symposium on Low Power Electronics and Design (ISLPED 00), pages 161 166, 2000. [10] Jon Marshall. http://www.themilkyway.com/quantum/finalreport/quantumgates, 2000. [11] D. M. Miller. Spectral and Two-Place Decomposition Techniques in Reversible Logic. In Proceedings of the IEEE Midwest Symposium on Circuits and Systems (MWCAS), pages II493 II496, 2002. [12] D. M. Miller, G. W. Dueck, and D. Maslov. A Synthesis Method for MVL Reversible Logic. In Proceedings of the 34th International Symposium on Multiple-Valued Logic (ISMVL), 2004. [13] D. M. Miller, D. Maslov, and G. W. Dueck. A transformation based algorithm for reversible logic synthesis. In Proceedings of the 40th Design Automation Conference, 2003. 6

[14] M. Perkowski, L. Joziwak, A. Mixhchenko, A. Al-rabadi, A. Coppola, A. Buller, X. Song, M. Khan, S. Yanushkevich, V. P. Shmerko, and M. Chrzanowska-Jeske. A general decomposition for reversible logic. In Proceedings of the International Workshop on Methods and Representations (RM), 2001. [15] P. Picton. Multi-Valued Sequential Logic Design using Fredkin Gates. Multiple-Valued Logic, pages 241 251, 1996. [16] V. V. Shende, A. K. Prasad, I. L. Markov, and J. P. Hayes. Reversible logic circuit synthesis. In IEEE/ACM International Conference on Computer Aided Design (ICCAD), pages 353 360, 2002. [17] H. Thapliyal and M. B. Srinivas. A Beginning in the Reversible Logic Synthesis of Sequential Circuits. In Proceedings of Military and Aerospace Programmable Logic Devices (MAPLD) International Conference, 2005. online Sept. 2005, http://klabs.org/mapld05/abstracts/1012 thapliyal 2 a.html. [18] A. De Vos and Y. Van Rentergem. Reversible computing: from mathematical group theory to electronical circuit experiment. In Proceedings of the 2nd conference on Computing frontiers, 2005. 7