Minimization Techniques for Reversible Logic Synthesis.

Slides:



Advertisements
Similar presentations
University of Queensland
Advertisements

Reversible Gates in various realization technologies
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Types of Logic Circuits
Realization of Incompletely Specified Reversible Functions Manjith Kumar Ying Wang Natalie Metzger Bala Iyer Marek Perkowski Portland Quantum Logic Group.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
SYNTHESIS OF REVERSIBLE CIRCUITS WITH NO ANCILLA BITS FOR LARGE REVERSIBLE FUNCTIONS SPECIFIED WITH BIT EQUATIONS Nouraddin Alhagi, Maher Hawash, Marek.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Logic Gate Level Part 2. Constructing Boolean expression from truth table First method: write nonparenthesized OR of ANDs Each AND is a 1 in the result.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
GF(4) Based Synthesis of Quaternary Reversible/Quantum Logic Circuits
A Transformation Based Algorithm for Reversible Logic Synthesis D. Michael Miller Dmitri Maslov Gerhard W. Dueck Design Automation Conference, 2003.
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
Marek Perkowski Reversible Logic Models: Billiard Ball and Optical Lecture 4.
Derivatives of Perkowski’s Gate k f2 g h t t De Vos gates  f1f1  A B P Q Feynman gates A B P f 2f 2  C Q R Toffoli gates Q P f 2 A C R B S D 0.
Reversible Circuit Synthesis Vivek Shende & Aditya Prasad.
Boolean Functions and their Representations
Introduction to Reversible Ckts Igor Markov University of Michigan Electrical Engineering & Computer Science.
Engineering Models and Design Methods for Quantum State Machines.
April 25, A Constructive Group Theory based Algorithm for Reversible Logic Synthesis.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Classical and Quantum Circuit Synthesis An Algorithmic Approach.
Design of Regular Quantum Circuits
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
Chapter 3 Combinational Logic Design
Lecture 3. Boolean Algebra, Logic Gates
Fast Spectral Transforms and Logic Synthesis DoRon Motter August 2, 2001.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Logic Gates Combinational Circuits
2.7 NAND and NOR logic networks
KU College of Engineering Elec 204: Digital Systems Design
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Transistors and Logic Circuits. Transistor control voltage in voltage out control high allows current to flow -- switch is closed (on) control low stops.
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Boolean Algebra and Digital Circuits
REVERSIBLE LOGIC SYNTHESIS. Overview of the Presentation 1. Introduction 2. Design of a Reversible Full-adder Circuit.
1 Cost Metrics for Reversible and Quantum Logic Synthesis Dmitri Maslov 1 D. Michael Miller 2 1 Dept. of ECE, McGill University 2 Dept. of CS, University.
European Test Symposium, May 28, 2008 Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence, RI Kundan.
Important Components, Blocks and Methodologies. To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers.
1 hardware of quantum computer 1. quantum registers 2. quantum gates.
Islamic University Of Gaza, Nael Aburas Data Storage Introduction to computer, 2nd semester, 2010/2011 Mr.Nael Aburas
+ CS 325: CS Hardware and Software Organization and Architecture Gates and Boolean Algebra Part 2.
1 A Novel Synthesis Algorithm for Reversible Circuits Mehdi Saeedi, Mehdi Sedighi*, Morteza Saheb Zamani {msaeedi, msedighi, aut.ac.ir.
Design of an 8-bit Carry-Skip Adder Using Reversible Gates Vinothini Velusamy, Advisor: Prof. Xingguo Xiong Department of Electrical Engineering, University.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
ELE 523E COMPUTATIONAL NANOELECTRONICS
Digital Circuits State Reduction and Assignment State Reduction reductions on the number of flip-flops and the number of gates a reduction in the.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Introduction to Quantum Computing
Generating Toffoli Networks from ESOP Expressions Yasaman Sanaee Winter 2009 University of New Brunswick.
Boolean Functions x 2 x 3 x f mapping truth table.
Garbage in Reversible Designs of Multiple Output Functions
CLASSICAL LOGIC SRFPGA layout With I/O pins.
Quantum Cost Calculation of Reversible Circuit Sajib Mitra MS/ Department of Computer Science and Engineering University of Dhaka
Online Testable Fault Tolerant Full Adder in Reversible Logic Synthesis Sajib Kumar Mitra MS/ Department of Computer Science and Engineering University.
Templates for Toffoli Network Synthesis by Dmitri Maslov Gerhard W. Dueck Michael D. Miller.
Logic Gates Review. Logic Gates OR gate – 1 if either input is 1 – 0 if they both are 0.
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
A Synthesis Method for MVL Reversible Logic by 1 Department of Computer Science, University of Victoria, Canada M. Miller 1, G. Dueck 2, and D. Maslov.
Transistors and Logic Circuits
Synthesis for Verification
Transistors and Logic Circuits
Fredkin/Toffoli Templates for Reversible Logic Synthesis
SAT-Based Optimization with Don’t-Cares Revisited
13 Digital Logic Circuits.
Dr. Clincy Professor of CS
Fast Min-Register Retiming Through Binary Max-Flow
Translating Quantum Gate  Adiabatic
Presentation transcript:

Minimization Techniques for Reversible Logic Synthesis

Reversible Logic SynthesisSlide 2 Outline Why reversible logic? The building blocks The synthesis problem Some solutions Optimization Finding identities Remaining problems

Reversible Logic SynthesisSlide 3 Reversible Logic from the output you can determine the input (bijection) Why would we want this? Landauer's principle: every bit of information lost consumes energy k is the Boltzman constant T is the temperature energy loss is small inputs outputs circuit network

Reversible Logic SynthesisSlide 4 Applications Quantum Computing –necessarily reversible Low power CMOS –In adiabatic circuits, current is restricted to flow across devices with low voltage drop and the energy stored on their capacitors is recycled Optical Computing Nano-technologies –Billiard Ball Model (BBM)

Reversible Logic SynthesisSlide 5 Standard Gates which ones are reversible? and not xor or Embedding a non-reversible function into a reversible one How many ways?

Reversible Logic SynthesisSlide 6 Reversible Gates Feynman gate (controlled not) Toffoli gate x x  y y x y xy  z z y xx Generalized Toffoli gate  more control lines

Reversible Logic SynthesisSlide 7 Reversible Gates Fredkin gate (controlled swap) y zx’ + yx z yx’ + zx xx Generalized Fredkin gate  more control lines

Reversible Logic SynthesisSlide 8 Restrictions No fan-out No back-feeds

Reversible Logic SynthesisSlide 9 Restrictions No fan-out No back-feeds Cascade of Gates inputs output g1g1 g2g2 gigi g i+1 g n-1 gngn ……

Reversible Logic SynthesisSlide 10 Function Representation How do we represent a reversible function? –truth table –BDDs Is there an easy check to see that the function is reversible?

Reversible Logic SynthesisSlide 11 Synthesis Given a reversible function find a network of gates that realize the function Cost should be near minimal Possible cost assumptions: –Each gate has the same cost –The cost of each gate reflects its actual implementation cost

Reversible Logic SynthesisSlide 12 Approach 1 inputs outputs Reversible transformation

Reversible Logic SynthesisSlide 13 Approach 1 inputs outputs Reversible Transformation T1 inputsoutputs Reversible Transformation T2 GATEGATE

Reversible Logic SynthesisSlide 14 Conditions T2 should be “simpler” than T1 How do you measure simplicity? –Hamming distance –Spectral techniques Questions: –Will it converge? –How good is the result? Improvements –Look ahead –Backtracking

Reversible Logic SynthesisSlide 15 Approach 2 InputOutput

Reversible Logic SynthesisSlide 16 Approach 2 InputOutput These are correct

Reversible Logic SynthesisSlide 17 Approach 2 InputOutput These are correct Step 1: move up 100 to 110

Reversible Logic SynthesisSlide 18 Approach 2 InputOutput These are correct Step 1: move up 100 to 110 a b c a b c

Reversible Logic SynthesisSlide 19 Approach 2 InputOutput These are correct Step 1: move up 100 to 110 a b c a b c

Reversible Logic SynthesisSlide 20 Approach 2 InputOutput These are correct Step 1: move up 100 to 110 a b c a b c InputOutput

Reversible Logic SynthesisSlide 21 Approach 2 These are correct Step 2: move down 110 to 010 InputOutput

Reversible Logic SynthesisSlide 22 Approach 2 These are correct Step 2: move down 110 to 010 a b c a b c InputOutput

Reversible Logic SynthesisSlide 23 Approach 2 These are correct Step 2: move down 110 to 010 a b c a b c InputOutput InputOutput

Reversible Logic SynthesisSlide 24 Approach 2 Step 2: move down 110 to 010 a b c a b c InputOutput InputOutput

Reversible Logic SynthesisSlide 25 Approach 2 InputOutput

Reversible Logic SynthesisSlide 26 Approach 2 c b a c b a InputOutput

Reversible Logic SynthesisSlide 27 Advantages/Disadvantages Always converges Fast No look ahead Several optimizations are possible May not be optimal Worst case?

Reversible Logic SynthesisSlide 28 Approach 3 Local transformation Replace a sequence of gates with another For example replace 3 gates with 2

Reversible Logic SynthesisSlide 29

Reversible Logic SynthesisSlide 30 Approach 3 Use Identity circuits for local transformations inputs identity g1g1 g2g2 gigi g i+1 g n-1 gngn ……

Reversible Logic SynthesisSlide 31 Approach 3 inputs identity g1g1 g2g2 gigi g i+1 g n-1 gngn …… F(X)F -1 (X)

Reversible Logic SynthesisSlide 32 Approach 3 inputs identity g1g1 g2g2 gigi g i+1 g n-1 gngn …… F(X)F -1 (X) Replace this sequence of gates

Reversible Logic SynthesisSlide 33 Approach 3 inputs identity g1g1 g2g2 gigi g i+1 g n-1 gngn …… F(X)F -1 (X) Replace this sequence of gates with this sequence of gates

Reversible Logic SynthesisSlide 34 Template Description As a class - an identity that is not reducible by another template A template may be rotated A template may be applied in reverse order Size 2 ==> Duplicate gates (may be deleted) Size 3 ==> There are none Size 4 ==> Passing rule

Reversible Logic SynthesisSlide 35 Template Class — Size 5 A line may be removed A line may be duplicated

Reversible Logic SynthesisSlide 36 How many classes of identities are there? SizeIdentities Classes

Reversible Logic SynthesisSlide 37 The Templates: Application

Reversible Logic SynthesisSlide 38 The quest for identities Exhaustive searches are not feasible A feasible approach (to find size n identities): –Find all functions of size n/2 With limited number of lines With some canonical order –Pair each function with its inverse –If no reduction is possible ==> we found a new template

Reversible Logic SynthesisSlide 39 A new approach Start with an identity that has target lines only For any subset of gates that preserve the identity a new control line may be added Example:

Reversible Logic SynthesisSlide 40 Recent Advances Automatic template encoding Application of iterative minimization heuristics Progress in calculating “real quantum cost” –Using gates NOT, CNOT, V, and V+ –Quantum templates Using SAT to find exact results

Reversible Logic SynthesisSlide 41 Future Work Handling don’t cares (can be done with SAT) Billiard ball implementation of reversible circuits (via cellular arrays) Better representation for reversible functions –Truth table is not adequate –Some form of BDD (possibly Davio) Minimization with aid of group theory