Fast synthesis of exact minimal reversible circuit using group theory
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

Fast Synthesis of Exact Minimal Reversible Circuit using Group Theory PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

Outline

  • Introduction

  • Background

  • Minimal Length Algorithm

  • Minimal Cost Algorithm

  • Experimental result


Reversible circuit

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


Group theory

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.


Outline1

Outline

  • Introduction

  • Background

  • Minimal Length Algorithm

  • Minimal Cost Algorithm

  • Experimental result


Property of optimal

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’


Property of optimal1

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.


Outline2

Outline

  • Introduction

  • Background

  • Minimal Length Algorithm

  • Minimal Cost Algorithm

  • Experimental result


Finding minimal length fml

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


Finding minimal length fml1

  • 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


Minimum length representation

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


Minimum length representation1

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;


Outline3

Outline

  • Introduction

  • Background

  • Minimal Length Algorithm

  • Minimal Cost Algorithm

  • Experimental result


Gate cost

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.


Finding minimum cost fmc

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


Finding minimum cost fmc1

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.


Finding minimum cost fmc2

  • 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


Minimum cost representation

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


Minimum cost representation1

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;


Outline4

Outline

  • Introduction

  • Background

  • Minimal Length Algorithm

  • Minimal Cost Algorithm

  • Experimental result


Experimental result

Experimental Result


Fast synthesis of exact minimal reversible circuit using group theory

Experimental Result


Fast synthesis of exact minimal reversible circuit using group theory

Experimental Result


  • Login