BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.

Slides:



Advertisements
Similar presentations
Reversible Gates in various realization technologies
Advertisements

(CSC 102) Discrete Structures Lecture 5.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Combinational Circuits
Functions and Functional Blocks
TOPIC : Reduced Ordered Binary Decision Diagrams UNIT 1: Modeling Digital Circuits Module 1 : Functional Modeling.
Combinational Circuits. Analysis Diagram Designing Combinational Circuits In general we have to do following steps: 1. Problem description 2. Input/output.
Realization of Incompletely Specified Reversible Functions Manjith Kumar Ying Wang Natalie Metzger Bala Iyer Marek Perkowski Portland Quantum Logic Group.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Grouping Heuristics for Word-Level Decision Diagrams Rolf DrechslerMarc HerbstrittBernd Becker Institute of Computer Science University of Freiburg
Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Binary Decision Diagrams. ROBDDs Slide 2 Example Directed acyclic graph non-terminal node terminal node What function is represented by the graph?
A Transformation Based Algorithm for Reversible Logic Synthesis D. Michael Miller Dmitri Maslov Gerhard W. Dueck Design Automation Conference, 2003.
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.
April 25, A Constructive Group Theory based Algorithm for Reversible Logic Synthesis.
2002/10/08 SeonPil Kim Layout-Driven Synthesis For Submicron Technology : Mapping Expansions To Regular Lattices High Level Synthesis Homework #2.
Classical and Quantum Circuit Synthesis An Algorithmic Approach.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
Design of Regular Quantum Circuits
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Minimization Techniques for Reversible Logic Synthesis.
ECE 667 Synthesis and Verification of Digital Systems
IT University of Copenhagen Lecture 8: Binary Decision Diagrams 1. Classical Boolean expression representations 2. If-then-else Normal Form (INF) 3. Binary.
New Approach to Quantum Calculation of Spectral Coefficients Marek Perkowski Department of Electrical Engineering, 2005.
ROM-based computations: quantum versus classical B.C. Travaglione, M.A.Nielsen, H.M. Wiseman, and A. Ambainis.
Fast Spectral Transforms and Logic Synthesis DoRon Motter August 2, 2001.
Propositional Calculus Math Foundations of Computer Science.
CS 105 Digital Logic Design
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
Identifying Reversible Functions From an ROBDD Adam MacDonald.
Truth Table-Based Testing Generating test cases when the test model is a truth table Reading: Binder Chapter 6.
Binary Decision Diagrams (BDDs)
November,2000University of Southern California1 Introduction to Binary Decision Diagrams - Shesha Shayee K. Raghunathan.
REVERSIBLE LOGIC SYNTHESIS. Overview of the Presentation 1. Introduction 2. Design of a Reversible Full-adder Circuit.
Module 9.  Digital logic circuits can be categorized based on the nature of their inputs either: Combinational logic circuit It consists of logic gates.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
CHAPTER 4 Combinational Logic
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
1 A Novel Synthesis Algorithm for Reversible Circuits Mehdi Saeedi, Mehdi Sedighi*, Morteza Saheb Zamani {msaeedi, msedighi, aut.ac.ir.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Design of an 8-bit Carry-Skip Adder Using Reversible Gates Vinothini Velusamy, Advisor: Prof. Xingguo Xiong Department of Electrical Engineering, University.
1 Lecture 6 BOOLEAN ALGEBRA and GATES Building a 32 bit processor PH 3: B.1-B.5.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Synthesis of the Optimal 4-bit Reversible Circuits Dmitri Maslov (spkr) University of Waterloo Waterloo, ON, Canada Oleg GolubitskySean Falconer Stanford.
Functional Modeling.
Combinational Circuits
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
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Dr.Ahmed Bayoumi Dr.Shady Elmashad
Computer Science 210 Computer Organization
The Analysis of Cyclic Circuits with Boolean Satisfiability
Fredkin/Toffoli Templates for Reversible Logic Synthesis
Digital Logic.
Logic Gates.
Chapter 11 Limitations of Algorithm Power
Example: Verification
Sajib Kumar Mitra, Lafifa Jamal and Hafiz Md. Hasan Babu*
Presentation transcript:

BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li

Introduction Reversible Logic has become an intensely studied research area in recent years. Information loseless leads to low-power design. Basis for quantum computing. Further application in these domain optical computing DNA computing nanotechnologies

Introduction Current synthesis of reversible logic is very limited. In the previous proposed methods: Exact method’s limit when functions with  6 variables. Heuristic method at most 30 variables. Significant amount of run-time is needed to achieve these results.

Introduction The limitation is caused by underlying techniques. Those approaches rely on truth tables. Even if using more compact data structure like BDD, PPRM, RMS, same result is observed. Because previous methods apply same strategy: Selecting the reversible gates that is the identity of the chosen function.

Introduction In this work we introduce a synthesis method that can cope with significantly larger functions. Circuit obtained in linear time and with memory linear to the size of the BDD. Theoretical results for BDD can be transferred to reversible circuits. Circuit cost and run-time significantly improved. Function with large than 100 variables can be synthesized at very low run-time.

Preliminaries Reversible logic A logic function is reversible if each input assignment is mapped to unique output assignment.(Bijective, Permutation) So reversible circuit need same amount input and output.(lines in the circuit) A reversible circuit can be formed by cascading reversible gates.

Preliminaries A reversible gate has control line and target line. Target line is inverted if all control line are true.  XOR notation is put at the target line.  AND notation is put at the control lines.

Preliminaries The quantum cost(qc) of reversible circuit is the number of elementary quantum gates. Most used elementary quantum gate: NOT gate CNOT gate Controlled-V gate(square root of NOT) Controlled-V+ gate(invert of V, square root of NOT)

Preliminaries To realize non-reversible function in quantum circuit, non-reversible function need to be embedded into reversible function. The embedding adds constant inputs and garbage outputs. The garbage outputs is by definition don’t cares.(-)

Preliminaries Binary Decision Diagram(BDD) Boolean function can be represented by a BDD. A BDD is a directed acyclic graph G = (V,E) Shannon decomposition is carried out in each node v ∈ V. f =  x i f  xi + x i f xi (1 ≤ i ≤ n) f  xi (f xi ) is denoted by low(v) (high(v)) respectively. v is called the select variable size k is the number of non-terminal nodes.

Preliminaries BDD example Notation

Synthesis Approach General idea: A BDD is built for the function to be synthesized. Traversing in BDD and substituting each node with a cascade of reversible gates.

Synthesis Approach General case of substitution If low(f) and high(f) have no shared nodes in successors If low(f) or high(f) have shared nodes in successors The low(f) and high(f) are preserved

Synthesis Approach Special case of substitution(terminal node)

Synthesis Approach Examples

Synthesis Approach Examples

Algorithm The BDD is traversed by a depth-first search. For each node v  V, three checks are performed. Node v represents the identity of a primary input. The identity can be represent by the same input line. Node v contains at least one child is a terminal. Use substitution provided in Table 1. The successors of node v are still needed for other nodes. Use general case substitution in Table 1 to preserve successors. If above not holds, use figure 4. general substitution.

Theoretical Analysis Let f be the function with n inputs, and result BDD has k nodes. The Toffoli circuit consist of at most k+n circuit lines. 3k gates

Theoretical Analysis The result of BDD from previous study can be transferred to Toffoli circuit A BDD representing a single-output function has 2 n nodes in the worst case. Thus, each function can be realized in reversible logic with at most 3 ・ 2 n gates. At most 2 ・ 2 n CNOTs and 2 ・ 2 n Toffoli gates are needed according to the first row of Table 1.

Theoretical Analysis A BDD representing a symmetric function has n 2 nodes in the worst case. Thus, each symmetric function can be realized in reversible logic with at most 3 ・ n 2 gates. At most 2 ・ n 2 CNOTs and 2 ・ n 2 Toffoli gates are needed according to the first row of Table 1.

Theoretical Analysis A BDD representing specific symmetric functions, like AND, OR, or EXOR has a linear size. Thus, there exist a reversiblecircuit realizing these functions in linear size as well. A BDD representing an n-bit adder has linear size. Thus, there exist a reversible circuit realizing addition in linear size as well.

Expreimental Result RevLib for evaluating reversible synthesis. LGSynth for evaluating irreversible synthesis. AMD Athlon with 1 GB of memory. Timeout 500 CPU seconds. L. : number of lines. GC : gate counts QC : quantum cost QC EQ : QC of directly synthesis with elementary gates. ~ : the embedding is timeout. Time to build BDD is included in TIME.

Expreimental Result The resulting quantum cost are significantly lower in most of the cases. Quantum cost are more important than gate count since they consider gates with more control lines to be more costly. The total number of circuit lines that have been added by the BDD-BASED SYNTHESIS is moderate considering the obtained quantum cost reductions (in particular since all additional lines have constant inputs).

Conclusion This work introduced a synthesis approach which can cope with large functions. The BDD-based approach can synthesize circuits for functions with more than hundred variables in just a few CPU seconds. In most of the cases, reductions in the resulting quantum cost have been observed.

Future work The optimization of the resulting circuits. The number of additional lines should be reduced. Existing approaches provide a good starting point. Another idea is to adjust the cost function of exact BDD implementations with respect to quantum cost and to synthesize the circuits from the resulting BDDs.

THANK YOU!