Realization of Incompletely Specified Reversible Functions - PowerPoint PPT Presentation

About This Presentation
Title:

Realization of Incompletely Specified Reversible Functions

Description:

to synthesize incompletely specified multi-output functions as reversible circuits ... Assign values to the 'don't cares' outputs, and map the outputs according to the ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 28
Provided by: kman2
Learn more at: http://web.cecs.pdx.edu
Category:

less

Transcript and Presenter's Notes

Title: Realization of Incompletely Specified Reversible Functions


1
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

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

3
Dont 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.

4
DCARL collaborates with MMD to find the solution
5
The Code-How It works.
  • Pseudo code
  • For each of the output with dont cares (e.g.
    10xx10x)
  • for set of all dont cares (i.e. xxx)
  • assign_values_for_dont_cares
  • if (find_conflict)
  • try the next assignment
  • Backtrack_and_reassign_for_N_solutions()

6
Capabilities of the system
  • 1.It can accept any reversible function with
    dont 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.

7
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 ngt10.
  • Complete backtracking is not feasible for large
    number of dont cares. So the code is optimized
    to give a limited number of solutions.

8
Truth Table of the initial specification of the
incompletely specified 33 function
Example
9
Function creation intermediate steps S1 S5
000 cannot be selected
10
Function creation intermediate steps S6 S10
101 cannot be selected
100 cannot be selected
101 cannot be selected
11
Function creation intermediate steps S11 S15
Backtrack and try counting from last used value
Backtrack and try counting from zero again
000 cannot be selected
001 cannot be selected
12
Function creation intermediate steps S16 S20
101 cannot be selected
13
Function creation intermediate steps S21 S24
100 cannot be selected
101 cannot be selected
000 cannot be selected
14
Function creation intermediate steps S25 S29
001 cannot be selected
010 cannot be selected
Backtrack, start from next value
Backtrack, start from next value
15
Function creation intermediate steps S30 S34
101 cannot be selected
100 cannot be selected
16
Function creation intermediate steps S35 S38
101 cannot be selected
001 can be assigned and table is successfully
completed
000 cannot be selected
17
Original incomplete reversible function versus
final complete reversible function after DCARL
18
Example of non-reversible initial function Full
Adder
Inputs x,y,z Outputs c,s
000 00
001 01
010 01
011 10
100 01
101 10
110 10
111 11
19
The first 10 solutions to full adder
Inputs (xyz) in decimal Reversible outputs Reversible outputs Reversible outputs Reversible outputs Reversible outputs Reversible outputs Reversible outputs Reversible outputs Reversible outputs Reversible outputs Reversible outputs
Inputs (xyz) in decimal O1 O2 o3 o3 o4 o5 o6 07 08 09 o10
0 1 2 3 4 5 6 7 X X X X X X X X 0 1 5 2 9 6 10 3 4 7 8 11 12 13 14 15 4 1 5 2 9 6 10 3 0 7 8 11 12 13 14 15 8 1 5 2 9 6 10 3 0 4 7 11 12 13 14 15 12 1 5 2 9 6 10 3 0 4 7 8 11 13 14 15 0 5 1 2 9 6 10 3 4 7 8 11 12 13 14 15 0 9 1 2 5 6 10 3 4 7 8 11 12 13 14 15 0 13 1 2 5 6 10 3 4 7 8 9 11 12 14 15 0 1 9 2 5 6 10 3 4 7 8 11 12 13 14 15 0 1 13 2 5 6 10 3 4 7 8 9 11 12 14 15 0 1 5 6 9 2 10 3 4 7 8 11 12 13 14 15 0 1 5 10 9 2 6 3 4 7 8 11 12 13 14 15
20
Sample Solution
  • A circuit with size17 and Cost17

21
This is not the minimum solution!!
But a good starting point for minimization.
22
DCARL Testing
  • 6-bit and 9-bit randomly generated functions were
    used.
  • 20, 40, 60 , 80 dont cares were
    included.
  • Increased number of dont cares increases the
    ability of the method to find assignments with
    low MMD cost

23
Results
24
Results (continued..)
25
DCARL Results
  • DCARL is not designed to find the best solution.
  • Does DCARL allow MMD to handle incompletely
    specified functions?
  • YES

26
Number of output patterns as a function of
percentage of dont cares for the 8-bit Gray
code benchmark from Maslov WWW Page.
27
Future Work
  • Additional benchmark testing
  • Complete integration of dont care assignment
    with synthesis of the circuit.
  • Intelligent backtracking, based on cost analysis.
  • Integrate dont care assignment with search
Write a Comment
User Comments (0)
About PowerShow.com