1 / 27

Realization of Incompletely Specified Reversible Functions

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.

Leo
Télécharger la présentation

Realization of Incompletely Specified Reversible Functions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  4. DCARL collaborates with MMD to find the solution

  5. 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() ;

  6. 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.

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

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

  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

  19. The first 10 solutions to full adder:

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

  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% “don’t cares” were included. • Increased number of “don’t 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 “don’t cares” for the 8-bit Gray code benchmark from Maslov WWW Page.

  27. 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

More Related