Designing Generic VHDL Reversible Logic 

Gate Libraries and Emulation of Reversible 

Circuits as Processor Accelerators

Project by/Author: Safdar Mahmood

Supervisor: Prof. Alberto Garcia Ortiz

1. Introduction (Aim and Objectives)

1.

Basic understanding of the reversible logic gates.

2.

Generic VHDL Library for RV Gates and its testing

Toffoli gate

Fredkin or Swap gate

Peres Gate

3.

Application: REAL2VHDL for converting .real Revlib file format 
for reversible circuits, (Revkit and Revlib)

4.

Further testing with example circuits using Generic library 

5.

Emulating an example circuit(sym9) as a Custom IP  to verify the 
synthesizability of Library on FPGA using Microblaze softcore

2

1. Reversible Logic Gates: Basics

Reversible Gates:

“Those lines which are classified as target lines are dependent; only 

on those lines, which are classified as control lines”

Target Lines are changed

Other lines remain unchanged.

Keywords

Control Lines

Target Lines

1
1
1

1
1
0

Fig: Toffoli Gate (3 lines)

1
0
1

1
0
1

3

> Rules for Gate Reversibility

No. of Input lines = Output lines

Each unique input pattern corresponds to each unique 
output pattern (no repitition)

No Fan-outs and feedbacks but circuits can be 
cascaded

No standard gate in between a reversible circuit is 
allowed

4

> Rules for Gate Reversibility

“Unique input patterns correspond 

to each unique output

and vice versa”

i) Toffoli Gate

ii) Fredkin Swap Gate

iii) Peres Gate

iv) Truth Table: Toffoli Gate

5

> Standard Logic vs Reversible Logic

Figure: 1-bit Adder

(… extends to 16 input patterns)

3 inputs - 2 outputs

4 inputs - 4 outputs

6

Flow of the Project

7

2. Generic VHDL Reversible Gates Library

Contains VHDL 
gate descriptions 
for ‘n’ number of 
lines for each gate

Contains 
component 
definitions for 
each gate
+
Data types

Users can create their modules using the library

8

> Generic Library: Toffoli Gate

9

> Generic Library: Fredkin Gate

10