1 / 41

Minimization Techniques for Reversible Logic Synthesis

Minimization Techniques for Reversible Logic Synthesis. Outline. Why reversible logic? The building blocks The synthesis problem Some solutions Optimization Finding identities Remaining problems. Reversible Logic. from the output you can determine the input (bijection)

meena
Download Presentation

Minimization Techniques for Reversible Logic Synthesis

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. Minimization Techniques for Reversible Logic Synthesis

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

  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 circuit network outputs inputs Reversible Logic Synthesis

  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 Synthesis

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

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

  7. Reversible Gates • Fredkin gate (controlled swap) x x y yx’ + zx z zx’ + yx • Generalized Fredkin gate  more control lines Reversible Logic Synthesis

  8. Restrictions • No fan-out • No back-feeds Reversible Logic Synthesis

  9. Restrictions • No fan-out • No back-feeds Cascade of Gates g1 g2 gi gi+1 gn-1 gn … … output inputs Reversible Logic Synthesis

  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 Synthesis

  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 Synthesis

  12. Approach 1 Reversible transformation outputs inputs Reversible Logic Synthesis

  13. Approach 1 Reversible Transformation T1 outputs inputs G A T E Reversible Transformation T2 inputs outputs Reversible Logic Synthesis

  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 Synthesis

  15. Approach 2 Reversible Logic Synthesis

  16. Approach 2 These are correct Reversible Logic Synthesis

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

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

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

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

  21. Approach 2 These are correct Step 2: move down 110 to 010 Reversible Logic Synthesis

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

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

  24. Approach 2 Step 2: move down 110 to 010 a a b b c c Reversible Logic Synthesis

  25. Approach 2 Reversible Logic Synthesis

  26. Approach 2 c c b b a a Reversible Logic Synthesis

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

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

  29. Reversible Logic Synthesis

  30. Approach 3 • Use Identity circuits for local transformations g1 g2 gi gi+1 gn-1 gn … … identity inputs Reversible Logic Synthesis

  31. Approach 3 g1 g2 gi gi+1 gn-1 gn … … identity inputs F(X) F-1(X) Reversible Logic Synthesis

  32. Approach 3 g1 g2 gi gi+1 gn-1 gn … … identity inputs F(X) F-1(X) Replace this sequence of gates Reversible Logic Synthesis

  33. Approach 3 g1 g2 gi gi+1 gn-1 gn … … identity inputs F(X) F-1(X) with this sequence of gates Replace this sequence of gates Reversible Logic Synthesis

  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 Synthesis

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

  36. How many classes of identities are there? Reversible Logic Synthesis

  37. The Templates: Application Reversible Logic Synthesis

  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 Synthesis

  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 Synthesis

  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 Synthesis

  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 Reversible Logic Synthesis

More Related