Reversible Logic Synthesis Benchmarks Page


Latest news/updates:
July, 2021: moving to a new home (Github).

January, 2018: new circuits added (gf2^131mult, gf2^163mult, hwb5, mod5adder, nth_prime6).

March, 2017: new circuit added (hwb5, nth_prime5).


This project is considered to be a complementary tool for publishing research results in the area of reversible logic (definitions) synthesis. In the limited space of any standard publication, only the gate count and cost calculation are usually shown, whereas the actual designs would be of more interest. Some authors may use non-standard gates, other authors may use their own metric for the calculation of the circuit cost, which further complicates the comparison of circuits. Here, a unified approach for comparison of the results is suggested, where any author can publish their circuit and/or compare it with the already posted ones. In order to unify the different gate libraries and cost metrics the following restrictions apply. First, all circuits must be strings of gates, i.e., no fan-out or feedback allowed. Second, the gate libraries are limited to:

Input constants may take the values of either 0 or 1. Finally, the resulting cost is measured with three numbers: garbage, number of gates, and quantum cost. The results are published in two formats: machine-readable format and a picture with optional author comments. Everyone is welcome to submit their results in the machine-readable format for the immediate publication on this website as long as no better design is already published.

Circuits for the following benchmark functions are currently available:

Family/type

Individual functions and circuits

4-bit with maximal gate count:

4b15g_1 , 4b15g_2 , 4b15g_3 , 4b15g_4 , 4b15g_5

Adders:

1bitadder (rd32) , 5bitadder , 8bitadder

Divisibility checkers:

4mod5 , 5mod5

Cycle functions:

cycle10_2 , cycle17_3

Galois field multipliers:

gf2^3mult , gf2^4mult , gf2^5mult , gf2^6mult , gf2^7mult , gf2^8mult , gf2^9mult , gf2^10mult , gf2^11mult , gf2^12mult , gf2^13mult , gf2^14mult , gf2^15mult , gf2^16mult , gf2^17mult , gf2^18mult , gf2^19mult , gf2^20mult , gf2^32mult , gf2^50mult , gf2^64mult , gf2^100mult , gf2^127mult , gf2^128mult , gf2^131mult , gf2^163mult , gf2^256mult , gf2^512mult

Gray code functions

 

Hamming coding functions:

ham3 , ham7 , ham15

Hidden weighted bit functions:

hwb4 , hwb5 , hwb6 , hwb7 , hwb8 , hwb9 , hwb10 , hwb11 , hwb12 , hwb13 , hwb14 , hwb15 , hwb16 , hwb20 , hwb50 , hwb100 , hwb200 , hwb500 , hwb1000

MMD worst case:

3_17 , 4_49

Modula adders:

mod5adder , mod1024adder , mod1048576adder

N-th prime:

nth_prime3_inc , nth_prime4_inc , nth_prime5_inc , nth_prime6_inc , nth_prime7_inc , nth_prime8_inc , nth_prime9_inc , nth_prime10_inc , nth_prime11_inc , nth_prime12_inc , nth_prime13_inc , nth_prime14_inc , nth_prime15_inc , nth_prime16_inc , nth_prime17_inc

Permanent:

permanent1x1 , permanent 2x2 , permanent3x3 , permanent 4x4

RD - input weight functions:

rd53 , rd73 , rd84

Symmetric functions:

6sym , 9sym

Other:

2-4dec , 2of5 , xor5 

 


QCViewer (targeted specifically for quantum circuits): description and source 

 

RCViewer+: Improved Reversible Circuit Viewer/Analyzer Software: description and executable 

RCViewer: Reversible Circuit Viewer/Analyzer Software: .zip, .exe; description


Other reversible circuit sources

         Rod Van Meter's Reversible/Quantum Arithmetic page


Content of this web page has been copied in year 2009. Read more...


Developed and maintained by
Dmitri Maslov
Last updated: July 8, 2021