420 likes | 603 Views
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)
E N D
Outline • Why reversible logic? • The building blocks • The synthesis problem • Some solutions • Optimization • Finding identities • Remaining problems Reversible Logic Synthesis
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
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
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
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
Reversible Gates • Fredkin gate (controlled swap) x x y yx’ + zx z zx’ + yx • Generalized Fredkin gate more control lines Reversible Logic Synthesis
Restrictions • No fan-out • No back-feeds Reversible Logic Synthesis
Restrictions • No fan-out • No back-feeds Cascade of Gates g1 g2 gi gi+1 gn-1 gn … … output inputs Reversible Logic Synthesis
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
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
Approach 1 Reversible transformation outputs inputs Reversible Logic Synthesis
Approach 1 Reversible Transformation T1 outputs inputs G A T E Reversible Transformation T2 inputs outputs Reversible Logic Synthesis
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
Approach 2 Reversible Logic Synthesis
Approach 2 These are correct Reversible Logic Synthesis
Approach 2 These are correct Step 1: move up 100 to 110 Reversible Logic Synthesis
Approach 2 These are correct Step 1: move up 100 to 110 a a b b c c Reversible Logic Synthesis
Approach 2 These are correct Step 1: move up 100 to 110 a a b b c c Reversible Logic Synthesis
Approach 2 These are correct Step 1: move up 100 to 110 a a b b c c Reversible Logic Synthesis
Approach 2 These are correct Step 2: move down 110 to 010 Reversible Logic Synthesis
Approach 2 These are correct Step 2: move down 110 to 010 a a b b c c Reversible Logic Synthesis
Approach 2 These are correct Step 2: move down 110 to 010 a a b b c c Reversible Logic Synthesis
Approach 2 Step 2: move down 110 to 010 a a b b c c Reversible Logic Synthesis
Approach 2 Reversible Logic Synthesis
Approach 2 c c b b a a Reversible Logic Synthesis
Advantages/Disadvantages • Always converges • Fast • No look ahead • Several optimizations are possible • May not be optimal • Worst case? Reversible Logic Synthesis
Approach 3 • Local transformation • Replace a sequence of gates with another • For example replace 3 gates with 2 Reversible Logic Synthesis
Approach 3 • Use Identity circuits for local transformations g1 g2 gi gi+1 gn-1 gn … … identity inputs Reversible Logic Synthesis
Approach 3 g1 g2 gi gi+1 gn-1 gn … … identity inputs F(X) F-1(X) Reversible Logic Synthesis
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
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
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
Template Class — Size 5 A line may be duplicated A line may be removed Reversible Logic Synthesis
How many classes of identities are there? Reversible Logic Synthesis
The Templates: Application Reversible Logic Synthesis
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
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
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
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