Realization of Incompletely Specified Reversible Functions Manjith Kumar Ying Wang Natalie Metzger Bala Iyer Marek Perkowski Portland Quantum Logic Group.

Slides:



Advertisements
Similar presentations
Give qualifications of instructors: DAP
Advertisements

Logic Circuits Design presented by Amr Al-Awamry
Logical Design.
Prof. Sin-Min Lee Department of Computer Science
Henry Hexmoor1 C hapter 4 Henry Hexmoor-- SIUC Rudimentary Logic functions: Value fixing Transferring Inverting.
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
SYNTHESIS OF REVERSIBLE CIRCUITS WITH NO ANCILLA BITS FOR LARGE REVERSIBLE FUNCTIONS SPECIFIED WITH BIT EQUATIONS Nouraddin Alhagi, Maher Hawash, Marek.
ECE 331 – Digital System Design
CS 140 Lecture 2 Combinational Logic CK Cheng 4/04/02.
A Transformation Based Algorithm for Reversible Logic Synthesis D. Michael Miller Dmitri Maslov Gerhard W. Dueck Design Automation Conference, 2003.
08/07/041 CSE-221 Digital Logic Design (DLD) Lecture-8:
Engineering Models and Design Methods for Quantum State Machines.
CK Cheng Tuesday 10/2/02 CS 140 Lecture 2. Part I. Combinational Logic I) Specification –a. Language –b. Truth Table –c. Boolean Algebra –d. Incompletely.
Engineering Models and Circuit Realization of Quantum State Machines.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
ECE 331 – Digital System Design Logic Circuit Design (Lecture #7)
Minimization Techniques for Reversible Logic Synthesis.
DIGITAL SYSTEMS TCE OTHER COMBINATIONAL LOGIC CIRCUITS DECODERS ENCODERS.
Canonical Forms and Logic Miniminization
Chapter 3 Combinational Logic Design
Week 3- slide 1 EE 231 Digital Electronics Fall 01 Gate Logic: Two-Level Simplification K-Map Method Examples F = A asserted, unchanged B varies G = B’,
New Approach to Quantum Calculation of Spectral Coefficients Marek Perkowski Department of Electrical Engineering, 2005.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Combinational Logic Design
Overview Part 1 – Design Procedure 3-1 Design Procedure
Computer Organization and Assembly Language: Chapter 7 The Karnaugh Maps September 30, 2013 By Engineer. Bilal Ahmad.
CS 151: Digital Design Chapter 3 3-8: Encoding. CS 151 Encoding Encoding - the opposite of decoding - the conversion of a maximum of 2 n input code to.
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.
Combinational Logic Design
4.1 Conversion of English Sentences to Boolean Equations
Synchronous Counters ET 5. Thinking back In the past we have seen that asynchronous counters can be used to count binary in the order that we have filled.
Determination of Logic Reversibility in Reduced Ordered Binary Decision Diagrams Zakaria Hamza CS6805: Logic Synthesis Final Project Professor: Dr. Gerhard.
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
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.
What is an And Gate? It is a digital circuit that produce logical operations The logical operations are call Boolean logical Boolean operation consist.
Combinational Design, Part 3: Functional Blocks
Logic and Computer Design Simon Petruc-Naum CS 147 – Dr. S.M. Lee.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Introduction to State Machine
Computer Engineering (Logic Circuits) (Karnaugh Map)
Universal college of engineering & technology. .By Harsh Patel)
CS151 Introduction to Digital Design
Karnaugh Maps Ellen Spertus MCS 111 September 2, 2003.
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
CS151 Introduction to Digital Design Chapter 3: Combinational Logic Design 3-1 Design Procedure 1Created by: Ms.Amany AlSaleh.
THE K-MAP.
Garbage in Reversible Designs of Multiple Output Functions
Module 11.  In Module 9, we have been introduced to the concept of combinational logic circuits through the examples of binary adders.  Meanwhile, in.
ECE 301 – Digital Electronics Logic Circuit Design (Lecture #9)
Decoders Zhijian John Wang. What are they? Overview of a decoder A device that reverses the process of an encoder Convert information from one format.
Logic Design (CE1111 ) Lecture 4 (Chapter 4) Combinational Logic Prepared by Dr. Lamiaa Elshenawy 1.
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Finite state machine optimization
Finite state machine optimization
CSC205 Jeffrey N. Denenberg Lecture #5
Lecture 4: Combinational Functions and Circuits
Overview Part 1 – Design Procedure Beginning Hierarchical Design
Fredkin/Toffoli Templates for Reversible Logic Synthesis
Summary Half-Adder Basic rules of binary addition are performed by a half adder, which has two binary inputs (A and B) and two binary outputs (Carry out.
Design Example “Date of Birth Problem”
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
Digital System Design Combinational Logic
Adder, Subtructer, Encoder, Decoder, Multiplexer, Demultiplexer
Sajib Kumar Mitra, Lafifa Jamal and Hafiz Md. Hasan Babu*
CSE 370 – Winter Sequential Logic-2 - 1
CS137: Electronic Design Automation
Presentation transcript:

Realization of Incompletely Specified Reversible Functions Manjith Kumar Ying Wang Natalie Metzger Bala Iyer Marek Perkowski Portland Quantum Logic Group Portland State University, Oregon RM 2007, Oslo, Norway

Objectives To improve the capabilities of the original Miller-Maslov-Dueck algorithm (MMD): 1)to synthesize incompletely specified multi- output functions as reversible circuits 2) to synthesize non-reversible Boolean functions by converting them to reversible functions

Don’t Care Algorithm for Reversible Logic (DCARL) Step 1: Assign values to the “don't cares” outputs, and map the outputs according to the assigned input values, creating thus a completely specified reversible Boolean function specification. Step 2: Apply the MMD algorithm to this specification to synthesize the network. Step 3: Compare the cost in terms of the number of Toffoli gates and keep track of the “don't cares” values with the minimal cost. Backtrack to find K solutions or until no more backtracking is possible.

DCARL collaborates with MMD to find the solution

The Code-How It works. Pseudo code: For each of the output with don’t cares (e.g. 10xx10x) { for set of all don’t care’s (i.e. “xxx”) { assign_values_for_don’t_cares; } if (find_conflict) { try the next assignment; } Backtrack_and_reassign_for_N_solutions() ;

Capabilities of the system 1.It can accept any reversible function with don’t cares as input and produce a fully specified reversible output. 2. It can accept any non reversible function and give a reversible output. 3. Functions with fewer outputs than inputs can also be accepted. 4. Capable of running in sync with the standard MMD code. 5. Makes use of cost function in the standard MMD code to compare solutions. 6. The number of solutions needed can be configured.

Limitations of the system Huge complexity in worst case input scenarios limits the number of solutions possible. Very fast for small number of variables (n). But slows down considerably for n>10. Complete backtracking is not feasible for large number of don’t cares. So the code is optimized to give a limited number of solutions.

Truth Table of the initial specification of the incompletely specified 3*3 function Example

Function creation – intermediate steps S1 – S5 000 cannot be selected

Function creation – intermediate steps S6 – S cannot be selected 100 cannot be selected 101 cannot be selected

Function creation – intermediate steps S11 – S cannot be selected 001 cannot be selected Backtrack and try counting from zero again Backtrack and try counting from last used value

Function creation – intermediate steps S16 – S cannot be selected

Function creation – intermediate steps S21 – S cannot be selected 101 cannot be selected 000 cannot be selected

Function creation – intermediate steps S25 – S cannot be selected Backtrack, start from next value 010 cannot be selected Backtrack, start from next value

Function creation – intermediate steps S30 – S cannot be selected 100 cannot be selected

Function creation – intermediate steps S35 – S cannot be selected 000 cannot be selected 001 can be assigned and table is successfully completed

Original incomplete reversible function versus final complete reversible function after DCARL

Example of non-reversible initial function: Full Adder Inputs x,y,z Outputs c,s

The first 10 solutions to full adder: Inputs (xyz) in decimal Reversible outputs O1O2o3 o4o5o o XXXXXXXX XXXXXXXX

Sample Solution: A circuit with size=17 and Cost=17

This is not the minimum solution!! But a good starting point for minimization.

DCARL Testing 6-bit and 9-bit randomly generated functions were used. 20%, 40%, 60%, 80% “don’t cares” were included. Increased number of “don’t cares” increases the ability of the method to find assignments with low MMD cost

Results

Results (continued..)

DCARL Results DCARL is not designed to find the best solution. Does DCARL allow MMD to handle incompletely specified functions? –YES

Number of output patterns as a function of percentage of “don’t cares” for the 8-bit Gray code benchmark from Maslov WWW Page.

Future Work Additional benchmark testing Complete integration of “don’t care” assignment with synthesis of the circuit. Intelligent backtracking, based on cost analysis. Integrate don’t care assignment with search