1 / 23

Fast Synthesis of Exact Minimal Reversible Circuit using Group Theory

Fast Synthesis of Exact Minimal Reversible Circuit using Group Theory. Speaker: Min Lung Chuang Advisor: Chun-Yao Wang 2005/06/29. Outline. Introduction Background Minimal Length Algorithm Minimal Cost Algorithm Experimental result.

Télécharger la présentation

Fast Synthesis of Exact Minimal Reversible Circuit using Group Theory

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. Fast Synthesis of Exact Minimal Reversible Circuit using Group Theory Speaker: Min Lung Chuang Advisor: Chun-Yao Wang 2005/06/29

  2. Outline • Introduction • Background • Minimal Length Algorithm • Minimal Cost Algorithm • Experimental result

  3. Reversible Circuit • Reversible circuits have applications in - low power design - quantum computer Landauer Principle If a computation process erases a single bit of information, the energy dissipated into the environment is at least E = k T ln2 , where k is the Boltzmann’s constant, • T is the temperature quantum computing is a reversible computing

  4. Group Theory • There are some preliminary works on using group theory for reversible logic synthesis have been proposed. • GAP is a mathematical analysis package for group theory applications. • In this paper, we describe fast GAP-based algorithm to synthesize exact minimal reversible circuits for various type of gates with various gate costs.

  5. Outline • Introduction • Background • Minimal Length Algorithm • Minimal Cost Algorithm • Experimental result

  6. Must be optimal B A-B A-B Property of Optimal • If A is an optimal circuit with k gates, then the first k-1 gates that form a subcircuit B must also be optimal. It will Form a smaller circuit A’, so A is not an optimal circuit An optimal circuit A B’

  7. Property of Optimal • Based on the property of optimal,we can build a library of small optimal circuits by dynamic programming. • There are two advantages of using dynamic programming approach • We may eliminate solutions and also save computations. • We can solve the problem stage by stage by systematically • We iterate through optimal m-gate circuits and add single gates at the end in all possible ways.

  8. Outline • Introduction • Background • Minimal Length Algorithm • Minimal Cost Algorithm • Experimental result

  9. Add gate at the end to generate some new functions Finding_Minimal_Length (FML) Input: A reversible gate library L Output: All the functions that can be implemented by L with minimal length. A A A L When set A stop grow, the algorithm is finished

  10. j-1 is the maximum number of gates • in a function. • 2. A(j-1) is the total number of functions • 3. B(j-1) is the number of functions with • j-1gates. ( ) is the unity element in a permutation group A*B={a*b|a A and b B} A(j)={a|a T(L) and minl(a)<=j} If A(j)==A(j-1) then A(j+1)==A(j). Proof: A(j+1)=A(j)UA(j)*L=A(j-1)UA(j-1)*L Finding_Minimal_Length (FML) Algorithm Finding_Minimal_Length (FML): Input: Library L. Output: j-1, B(j-1),A(j-1) 1. A(0)={( )};j=0;n(j)=|A(0)|; 2. While n(j)≠0 do 3. j=j+1; 4. A(j)=A(j-1)UA(j-1)*L; 5.B(j)=A(j)-A(j-1); 6.n(j)=|B(j)|; 7.end while

  11. L[ci]-1 L[ci] g k Minimum_Length_Representation Input: A reversible gate library L ; g. Output: Implementation of g with minimum length k. A(k-1) A(k) A(1) A(0) … L L

  12. Group(L) is a set of all the functions that can be implemented by Library L In here B(k) is more suitable A(1) A(0) A(k-1) A(k) L[ci] a k … L L Minimum_Length_Representation Algorithm Minimum_Length_Representation Input: Library L;g. Output:Implementation of g with minimum length k. 1.G=Group(L);flag=0;a=g; 2. if g in G then 3. Flag=1; 4. Compute A(k) (k=0,1,…) as FML; 5. if g in A(k) then 6. For i=k downto 1 do 7. Find ci such that a*(L[ci])-1 A(i-1); 8. a=a*(L[ci])-1; 9. endfor; 10. endif 11. return flag, L[ck],…,L[c1], k;

  13. Outline • Introduction • Background • Minimal Length Algorithm • Minimal Cost Algorithm • Experimental result

  14. Gate Cost • In practice, the cost of NOT gates, Feynman gates and other well-known gates are different. • We assume cost(NOT)=0, cost (Feynman)=1, cost(Peres)=4,cost(Toffoli)=5 • Assume a library includes p+1 parts: L0={gates with cost 0),and Lri={gates with cost ri},where ri>0 are different integers,i=1,…,p.

  15. L0 L0 L0 L0 L0 … L1N L1N L2N Lp-1N LpN Finding_Minimum_Cost (FMC) Input: A reversible gate library L Output: All the functions that can be implemented by L with minimal gate costs. … L0 L1 L2 Lp-1 Lp In every iteration, set A does not always grows up. A3 A1 A0

  16. Finding_Minimum_Cost (FMC) • We can use function Group(L) in GAP to get all of the functions that can be implemented by library L. • When the size of set A is equal to the size of Group(L), the algorithm is finished.

  17. j-1 is the maximum number of gate • cost in a function. • 2. A(j-1) is the total number of functions • 3. B(j-1) is the number of functions with • j-1gate cost. A to A’ A to A A to A’ B to B B to B’ B to B’ …etc in Group(L0) LriN is the real number of gates with gate cost i A(j)={a|a T(L) and Mine(a)<=j} We can not use n(j) to be a terminated condition Finding_Minimum_Cost (FMC) Algorithm Finding_Minimum_Cost(FMC) Input: L0, Lri ,…,Lrp Output: j-1, B(j-1),A(j-1) 1.G=Group(L);m=|G|; 2.A(0)=Group(L0);B(0)=A(0); 3.for 1≤ i ≤ p do LriN=Lri*A(0); 4.j=0;ma=|A(0)|; 5.while(ma<m) do 6. j=j+1;A(j)=A(j-1); 7. For 1 ≤ i ≤ p do 8. if(j-ri≥0) then A(j)=A(j)UA(j-ri)*LriN; 9. endfor 10. ma=|A(j)|;B(j)=A(j)-A(j-1);n(j)=|B(j)|; 11.endwhile

  18. Lr1N[d] Lr1N[d]-1 k g Lrk-1N[d] Lrk-1N[d]-1 j Minimum_Cost_Representation Input: A reversible gate library L; g. Output: Implementation of g with minimum cost k. A(0) A(1) A(k-1) A(k) or … L L

  19. In here B(k) is more suitable This is equal to the LriN[d]— the real number of gates with gate cost d a A(1) A(0) A(k-1) A(k) Lr1N[d] k … Lrk-1N[d] L L j Minimum_Cost_Representation Algorithm Minimum_Cost_Representation (MCR); Input:L0, Lri ,…,Lrp;g Output:Implementation of g with minimum cost k. 1.G=Group(L);flag=0;a=g; 2. if g in G then 3. Flag=1; 4. Compute A(k) (k=0,1,…) as FML; B(0)=A(0); 5. if g in A(k) then 6. h=0; 7. While( k>0) do 8. scan i=1 to p until find m,n such that 9. a*(Lri[m]*B(0)[n])-1 is in A(k-ri) then 10. h=h+1; c[h]=Lri[m]; b(h)=B(0)[n]; 11.a=a*(Lri[m]*B(0)[n])-1; k=k-ri; 12. endwhile; 12.endif; 12.return flag,h,b[1],c[1],…, b[h],c[h],a,k;

  20. Outline • Introduction • Background • Minimal Length Algorithm • Minimal Cost Algorithm • Experimental result

  21. Experimental Result

  22. Experimental Result

  23. Experimental Result

More Related