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:


Individual functions and circuits

4-bit with maximal gate count:

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


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


permanent1x1 , permanent 2x2 , permanent3x3 , permanent 4x4

RD - input weight functions:

rd53 , rd73 , rd84

Symmetric functions:

6sym , 9sym


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