Reversible Logic Synthesis Benchmarks Page

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

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

January, 2017: new circuit added (permanent3x3).

This project is considered as a complementary tool for publishing the results of reversible logic (definitions) synthesis. In the very limited space of any standard publication, only the cost calculation is usually shown, whereas the actual designs would be of more interest. Some authors use non-standard gates, others use their own metric for the calculation of the circuit cost, which further complicates comparison of the circuit designs. Here, an approach for a unified comparison of the results is suggested, where any author can publish their design and/or compare it with already posted ones. In order to unify the different gate libraries and cost metrics the following restrictions apply. First, the synthesis is done with common (in this area) restrictions: no fan-outs and no feedbacks. Second, the synthesis is preferred to be done in one of the following libraries:

Input constants are preset to either 0 or 1 by the designer. Finally, the resulting cost is measured with three numbers: garbage, number of gates and quantum cost . All 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 circuits 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: January 8, 2018