A transformation based algorithm for reversible logic synthesis
Download
1 / 14

D. Michael Miller Dmitri Maslov Gerhard W. Dueck - PowerPoint PPT Presentation


  • 85 Views
  • Uploaded on

A Transformation Based Algorithm for Reversible Logic Synthesis. D. Michael Miller Dmitri Maslov Gerhard W. Dueck. Design Automation Conference, 2003. Objectives. Synthesis of Toffoli cascades reversible logic application in quantum computing low power CMOS optical computing Approach

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'D. Michael Miller Dmitri Maslov Gerhard W. Dueck' - katarina


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
A transformation based algorithm for reversible logic synthesis

A Transformation Based Algorithm for Reversible Logic Synthesis

D. Michael Miller

Dmitri Maslov

Gerhard W. Dueck

Design Automation Conference, 2003


Objectives
Objectives Synthesis

  • Synthesis of Toffoli cascades

    • reversible logic

    • application in

      • quantum computing

      • low power CMOS

      • optical computing

  • Approach

    • use a naive algorithm to find a solution

    • apply transformations to simplify the network


Toffoli gate family
Toffoli Gate Family Synthesis

We use such gates for any number of inputs


The basic algorithm
The Basic Algorithm Synthesis

  • Reversible function is given as a truth table

  • For each row in the truth table

    • Introduce Toffoli gates such that the output equals the input

    • Make sure that previous outputs are not affected


The basic algorithm1

Observe that after applying S3 wires are as in input Synthesis

The Basic Algorithm

c b a

in

000

001

010

011

100

101

110

111

out

001

000

011

010

101

111

100

110

S1

000

001

010

011

100

110

101

111

S1

000

001

010

011

100

110

101

111

S1

000

001

010

011

100

110

101

111

S2

000

001

010

011

100

111

101

110

S3

000

001

010

011

100

101

111

110

S3

000

001

010

011

100

101

111

110

S3

000

001

010

011

100

101

110

111

Final circuit

Read quantum array in inverse order to applying gates


Bidirectional algorithm
Bidirectional Algorithm Synthesis

in

000

001

010

011

100

101

110

111

out

111

000

001

010

011

100

101

110

need three gates

need only

one gate


Bidirectional algorithm1
Bidirectional Algorithm Synthesis

c b a

inputs

S2

000

001

010

111

100

101

110

011

S3

000

001

010

011

100

101

110

111

S1

000

111

010

001

100

011

110

101

in

000

001

010

011

100

101

110

111

out

111

000

001

010

011

100

101

110

ab

Final circuit

S1

After applying S3 my wires are the same as inputs


Improvements
Improvements Synthesis

  • Output permutations

    • via swap gates

  • Control input reduction

    • there may be more than on possible assignment of control variables

    • select the one that makes the function “simple”

  • Template matching


Templates
Templates Synthesis

  • Idea: replace a sequence of gates with an equivalent shorter sequence

  • example:


Example
Example Synthesis



Larger example
Larger Example Synthesis

rd53


Number of reversible functions using a specified number of gates
Number of reversible functions using a Synthesisspecified number of gates

naive

gates

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Average

4

72

477

1759

4179

6912

8389

7766

5615

3183

1391

453

104

15

1

7.65

5

87

550

1901

4267

6828

8221

7670

5610

3204

1402

455

104

15

1

7.67

1

14

92

380

1113

2468

4311

6083

7044

6754

5379

3549

1922

839

286

72

12

1

8.67

permutation

3

86

493

2312

6944

11206

10169

5945

2375

650

121

15

1

6.53

5

110

792

4726

11199

12076

7518

2981

767

130

15

1

6.18

12

6817

17531

11194

3752

844

134

15

1

5.63

input control

bidirectional

templates

optimal


Future work
Future Work Synthesis

  • Start from a non-reversible function

  • Verify the completeness of the templates

  • Expand the algorithm to include Fredkin gates

  • Select the best permutation (not by exhaustive search)


ad