A Novel Synthesis Algorithm for Reversible Circuits

Similar documents
arxiv: v2 [quant-ph] 27 Dec 2010

FPGA-Based Circuit Model Emulation of Quantum Algorithms

Graphical Method of Reversible Circuits Synthesis

DESIGN AND ANALYSIS OF A FULL ADDER USING VARIOUS REVERSIBLE GATES

Technology Mapping and Optimization for Reversible and Quantum Circuits

2.2 Classical circuit model of computation

arxiv:quant-ph/ v1 24 Jul 2006

Implementation of Reversible ALU using Kogge-Stone Adder

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

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

Downloaded from

Optimized Reversible Programmable Logic Array (PLA)

Reversible Function Synthesis with Minimum Garbage Outputs

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

Optimization of reversible sequential circuits

C/CS/Phys C191 Quantum Gates, Universality and Solovay-Kitaev 9/25/07 Fall 2007 Lecture 9

FPGA IMPLEMENTATION OF BASIC ADDER CIRCUITS USING REVERSIBLE LOGIC GATES

Synthesis of Quantum Circuit for FULL ADDER Using KHAN Gate

Analysis of Multiplier Circuit Using Reversible Logic

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

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

Improved ESOP-based Synthesis of Reversible Logic

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

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

Synthesizing Reversible Circuits for Irreversible Functions

Power Minimization of Full Adder Using Reversible Logic

Design of an Online Testable Ternary Circuit from the Truth Table

Reversible computer hardware

Carry Bypass & Carry Select Adder Using Reversible Logic Gates

arxiv: v2 [quant-ph] 14 May 2017

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

Quantum gate. Contents. Commonly used gates

Design of Reversible Code Converters Using Verilog HDL

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

Computer Science & Engineering Dept, West Bengal University of Technology 2 Information Technology Dept, Manipal University

Design of Reversible Synchronous Sequential Circuits

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

Implementation of Optimized Reversible Sequential and Combinational Circuits for VLSI Applications

Synthesis of Fredkin-Toffoli Reversible Networks

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

Projects about Quantum adder circuits Final examination June 2018 Quirk Simulator

ASIC Design of Reversible Full Adder/Subtractor Circuits

Synthesis of Reversible Circuits for Large Reversible Functions

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

Reversible ALU Implementation using Kogge-Stone Adder

Design and Optimization of Reversible BCD Adder/Subtractor Circuit for Quantum and Nanotechnology Based Systems

The Method of Reversible Circuits Design with One-gate Prediction

Transistor Implementation of Reversible Comparator Circuit Using Low Power Technique

Design and Implementation of Combinational Circuits using Reversible Gates

On the Analysis of Reversible Booth s Multiplier

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

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

An Optimized BCD Adder Using Reversible Logic Gates

ENERGY EFFICIENT DESIGN OF REVERSIBLE POS AND SOP USING URG

Technical Report: Projects & Background in Reversible Logic

Control gates as building blocks for reversible computers

Group Theory Based Synthesis of Binary Reversible Circuits

Design of Reversible Comparators with Priority Encoding Using Verilog HDL

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

A NEW DESIGN TECHNIQUE OF REVERSIBLE GATES USING PASS TRANSISTOR LOGIC

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

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

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

FPGA Implementation of Ripple Carry and Carry Look Ahead Adders Using Reversible Logic Gates

Unit 8A Computer Organization. Boolean Logic and Gates

Reversible Circuits Synthesis Based on EXOR-sum of Products of EXOR-sums

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

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

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

Design of a Compact Reversible Random Access Memory

Quantum computing! quantum gates! Fisica dell Energia!

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

Quantum Cost efficient Reversible Multiplier

The Classification of Clifford Gates over Qubits

EXPERIMENT #4: SIMPLIFICATION OF BOOLEAN FUNCTIONS

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

Power Optimization using Reversible Gates for Booth s Multiplier

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

Design of Digital Adder Using Reversible Logic

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

Adders - Subtractors

An Extensive Literature Review on Reversible Arithmetic and Logical Unit

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

Low Power and High Speed BCD Adder using Reversible Gates

Reversible Logic Synthesis with Output Permutation

Fault Testing for Reversible Circuits

Literature Review on Multiplier Accumulation Unit by Using Hybrid Adder

A Novel Nanometric Reversible Four-bit Signed-magnitude Adder/Subtractor. Soudebeh Boroumand

Adequate set of connectives, logic gates and circuits

An FPGA Implementation of Energy Efficient Code Converters Using Reversible Logic Gates

Gates for Adiabatic Quantum Computing

Design Methodologies for Reversible Logic Based Barrel Shifters

Design Exploration and Application of Reversible Circuits in Emerging Technologies

Design of Reversible Sequential Circuit Using Reversible Logic Synthesis

MODULAR CIRCUITS CHAPTER 7

Design of Universal Shift Register Using Reversible Logic

Digital Circuit And Logic Design I. Lecture 3

A Novel Reversible Gate and its Applications

A Novel Design of Reversible Universal Shift Register

COMBINATIONAL LOGIC FUNCTIONS

Transcription:

A Novel Synthesis Algorithm for Reversible Circuits Mehdi Saeedi, Mehdi Sedighi*, Morteza Saheb Zamani Email: {msaeedi, msedighi, szamani}@ aut.ac.ir Quantum Design Automation Lab, Computer Engineering Department Amirkabir University of Technology Tehran, Iran ICCAD 2007 1

Outline Introduction Basic Concept Previous Work Synthesis Algorithm Experimental Results Future Works Conclusions 2

Introduction Boolean reversible functions n-input, n-output, Unique output assignment Example: a 3-input, 3- output function (0,1,2,7,4,5,6,3) AND a 0 a 1 a 2 f 0 f 1 f 2 F 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 2 0 1 1 1 1 1 7 1 0 0 1 0 0 4 1 0 1 1 0 1 5 1 1 0 1 1 0 6 1 1 1 0 1 1 3 3

Power dissipation Landauer s paper Every lost bit causes an energy loss When a computer erases a bit of information, the amount of energy dissipated into the environment is at least k B Tln2 Bennett s paper To avoid power dissipation in a circuit, the circuit must be built with reversible gates 4

Applications of reversible circuits Low power CMOS design Reversible 4-bit adder A reversible carry-look-ahead adder using control gates, Integration, the VLSI Journal, vol. 33, pp. 89-104, 2002 384 transistors with no power rails Optical computing Quantum computing Each unitary quantum gate is intrinsically reversible 5

Basic Concept Reversible gate Various reversible gates CNOT-based gates NOT, CNOT, C 2 NOT (Toffoli), Generalized Toffoli gate Positive controls Negative controls 6

Reversible Circuits High-level Description Gate-level circuits Synthesis Physical Implementation 7

Synthesis Algorithms Categories Transformation-based algorithms [11]- [13] Used to improve the cost of circuit Applied on the results of other algorithms Usually use templates to optimize a circuit 8

Synthesis Algorithms Categories (Cnt d) Constructive algorithms [15]- [19] Construct a circuit from a given specification (i.e. truth table, PPRM expansion, decision diagrams, ) The resulted cost may not be optimized The time complexity of the algorithm may be too high 9

Synthesis Algorithms Categories (Cnt d) A transformation based algorithm [18] Basic algorithm Uses row-based operations Output permutation Tries all n! output permutations to simplify the result Control input reduction To reduce the number of control qubits 10

Synthesis Algorithms Categories (Cnt d) Bidirectional algorithm To apply the method in both directions simultaneously Template matching A template consists of a sequence of gates to be matched and the sequence of gates to be substituted when a match is found A time consuming procedure 11

Synthesis Algorithms Categories (Cnt d) Search-based methods [15],[17] Also called substitution-based methods Use common sub-expressions to simplify the input function All possible gates should be evaluated at each step The best possible gates are selected based on a predefined function The algorithm convergence is not guaranteed An extensive exploration is required A time consuming procedure 12

Synthesis Algorithms Categories (Cnt d) 13

The Proposed Algorithm Definition: Output Translation The application of a reversible CNOT-based gate at the output side of a reversible specification F The result of using an output translation will also be reversible Only one function is changed at a time after using an output translation 14

The Goal of the Algorithm To generate a set of ordered output translations When applied to the reversible specification F, generates a i from f i a 1 a 2 f 1 f 2 a n g 1 g 2 g k f n 15

Applying an Output Translation Lemma 1 explains the results of using an output translation on a given specification: (a) Applying an output translation, exchanges the location of 2 k minterm pairs where k n-1 a 0 a 1 a 2 f 0 f 1 f 2 F 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 2 0 1 1 1 1 1 7 1 0 0 1 0 0 4 1 0 1 1 0 1 5 1 1 0 1 1 0 6 1 1 1 0 1 1 3 16

Exchanging Minterm Locations (b) Exchanging the location of 2 k-1 (k=nm+1) minterm pairs produces the same result as applying an output translation if: All 2 k minterms have the same value on m-1 particular bit locations The two minterms of each pair differ only in one bit position 17

The Proposed Algorithm Select the i th minterm of output functions Mark it as visited If its b th variable is not correct Find a minterm which differs from it in its b th variable If the new minterm is below the current minterm Exchange their locations Mark it as visited 18

The Proposed Algorithm If the new minterm is above the current minterm If the new minterm is not in the right locations Exchange their locations Mark it as visited Repeat the previous steps for all minterms and all variables until a k =f k for each k 19

Example 20

Gate Extraction Method 1 1 1 1 1 1 1 1 1 1 1 1 f 2 (new)=f 2 f 1 f 3 f 3 (new)=f 3 f 1 f 2 ' f 2 (new)=f 2 f 1 f 3 a 1 f 1 a 2 f 2 a 3 f 3 Obtained gates should be applied in the reverse order 21

The Algorithm Convergence Theorem 1: The proposed algorithm will converge to a possible implementation after several steps Each output translation does not change the results of the previous ones Only one function is changed at a time after using an output translation 22

The Time Complexity Assumption: At most h gates are needed Search-based method C 1 n n 2 n-1 gates must be evaluated to select the best possible gates at each step 2 C 2 n n ( C 3 n 1... C n 1 n 1 ) n 2 n 1 At most (n 2 n-1 ) h gates should be evaluated The proposed algorithm needs O(h 2 n ) steps to reach a result 23

Search-based Tree 24

Experimental Results Ckt # Specification Number of Gates Proposed Algorithm (Basic) [15], [17] Number of Searched Nodes & Steps Proposed Algorithm (Basic) [17] [15] 1 (1,0,3,2,5,7,4,6) 6 4 48 15 11 2 (7,0,1,2,3,4,5,6) 3 3 24 300 761 3 (0,1,2,3,4,6,5,7) 3 3 24 10 7 4 (0,1,2,4,3,5,6,7) 7 5 56 786 156 5 (0,1,2,3,4,5,6,8,7,9,10,11,12,13,14,15) 15 7 240 8256 9515 6 (1,2,3,4,5,6,7,0) 3 3 24 4 4 25

Experimental Results (Cnt d) Specification Number of Gates Proposed Algorithm (Basic) [15], [17] Searched Nodes Proposed Algorithm (Basic) [17] [15] 7 (1,2,3,4,5,6,7,8,9,10,11,12,13,14, 15,0) 4 4 64 5 5 8 (0,7,6,9,4,11,10,13,8,15,14,1,12,3,2,5) 3 4 48 139 230 9 (3,6,2,5,7,1,0,4) 8 7 64 66-10 (1,2,7,5,6,3,0,4) 8 6 64 77-11 (4,3,0,2,7,5,6,1) 8 7 64 4387-12 (7,5,2,4,6,1,0,3) 6 7 48 352-13 (6,2,14,13,3,11,10,7,0,5,8,1,15,12,4,9) 23 15 368 678 - Average 7.46 5.76 87.38 1159 1336 26

Experimental Results (Cnt d) Number of Gates Circuit # Specification Proposed Algorithm (Bidirectional) [18] (Bidirectional) 1 (1,0,3,2,5,7,4,6) 4 4 2 (7,0,1,2,3,4,5,6) 3 3 3 (0,1,2,3,4,6,5,7) 3 3 4 (0,1,2,4,3,5,6,7) 5 6 5 (0,1,2,3,4,5,6,8,7,9, 10,11,12,13,14,15) 7 14 6 (1,2,3,4,5,6,7,0) 3 3 27

Experimental Results (Cnt d) Specification Proposed Algorithm (Bidirectional) Number of Gates [18] (Bidirectional) 7 (1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,0) 4 4 8 (0,7,6,9,4,11,10,13, 8,15,14,1,12,3,2,5) 4 4 9 (3,6,2,5,7,1,0,4) 6 7 10 (1,2,7,5,6,3,0,4) 6 7 11 (4,3,0,2,7,5,6,1) 5 7 12 (7,5,2,4,6,1,0,3) 5 9 13 (6,2,14,13,3,11,10,7,0,5,8,1,15,12,4,9) 9 17 Average 4.92 6.72 28

Experimental Results (Cnt d) All possible 3-input/3-output reversible circuits (8!=40320) are synthesized 29

3-input/3-output reversible circuits Average number of gates per circuit The proposed algorithm: 7.28 Average number of steps per circuit = 63.87 It takes about 4 minutes to synthesize all circuits 0.006 seconds for each circuit on average 30

Future Directions Working on the improvement of the resulting synthesized circuit By combining the proposed approach and the search-based methods By selecting the best possible variable at each step 31

Conclusions A new non-search based synthesis algorithm was proposed Several examples taken from the literature are used The proposed approach guarantees a result for any arbitrarily complex circuit It is much faster than the search-based ones 32

Thank you for your attention! 33