RevKit: An Open Source Toolkit for the Design of Reversible Circuits

  • Mathias Soeken
  • Stefan Frehse
  • Robert Wille
  • Rolf Drechsler
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7165)


In recent years, research in the domain of reversible circuit design has attracted significant attention leading to many different approaches e.g. for synthesis, optimization, simulation, verification, and test. The open source toolkit RevKit is an attempt to make these developments publicly available to other researchers. For this purpose, a modular and extendable framework has been provided which easily enables the addition of new methods and tools.

In this paper, we introduce the functionality as well as the internals of RevKit. We provide examples and use cases showing how to apply RevKit and its components in order to create and execute customized design flows. Furthermore, we demonstrate how the architecture and the design concepts of RevKit can be exploited to easily develop new or improved methods for reversible circuit design.


Graphical User Interface Truth Table Reversible Logic Quantum Circuit Synthesis Approach 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Landauer, R.: Irreversibility and Heat Generation in the Computing Process. IBM Journal of Research and Development 5(3), 183–191 (1961)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Bennett, C.H.: Logical Reversibility of Computation. IBM Journal of Research and Development 17(6), 525–532 (1973)zbMATHCrossRefGoogle Scholar
  3. 3.
    Desoete, B., DeVos, A.: A reversible carry-look-ahead adder using control gates. Integration 33(1-2), 89–104 (2002)zbMATHGoogle Scholar
  4. 4.
    Shor, P.W.: Algorithms for Quantum Computation: Discrete Logarithms and Factoring. In: Symp. on Foundations of Computer Science, pp. 124–134. IEEE Computer Society (November 1994)Google Scholar
  5. 5.
    Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information. Cambridge University Press, New York (2000)zbMATHGoogle Scholar
  6. 6.
    Vandersypen, L.M.K., Steffen, M., Breyta, G., Yannoni, C.S., Sherwood, M.H., Chuang, I.L.: Nature 414, 883–887 (2001)CrossRefGoogle Scholar
  7. 7.
    Cuykendall, R., Andersen, D.R.: Reversible optical computing circuits. Optical Letters 12(7), 542–544 (1987)CrossRefGoogle Scholar
  8. 8.
    Thapliyal, H., Srinivas, M.B.: The need of DNA computing: Reversible designs of adders and multipliers using Fredkin gate. In: Proceedings of SPIE, vol. 6050 (December 2005)Google Scholar
  9. 9.
    Merkle, R.C.: Reversible electronic logic using switches. Nanotechnology 4(1), 21–40 (1993)CrossRefGoogle Scholar
  10. 10.
    Toffoli, T.: Reversible Computing. In: de Bakker, J.W., van Leeuwen, J. (eds.) ICALP 1980. LNCS, vol. 85, pp. 632–644. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  11. 11.
    Fredkin, E., Toffoli, T.: Conservative logic. Int’l. Journal of Theoretical Physics 21(3), 219–253 (1982)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Peres, A.: Reversible logic and quantum computers. Phys. Rev. A 32(6), 3266–3276 (1985)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Shende, V., Prasad, A., Markov, I., Hayes, J.: Synthesis of reversible logic circuits. IEEE Trans. on CAD 22(6), 710–722 (2003)Google Scholar
  14. 14.
    Maslov, D., Dueck, G.W., Miller, D.M.: Toffoli network synthesis with templates. IEEE Trans. on CAD 24(6), 807–817 (2005)Google Scholar
  15. 15.
    Wille, R., Drechsler, R.: BDD-based synthesis of reversible logic for large functions. In: Design Automation Conference, pp. 270–275. ACM (July 2009)Google Scholar
  16. 16.
    Viamontes, G.F., Markov, I.L., Hayes, J.P.: Quantum Circuit Simulation. Springer, Heidelberg (2009)zbMATHCrossRefGoogle Scholar
  17. 17.
    Viamontes, G.F., Markov, I.L., Hayes, J.P.: Checking equivalence of quantum circuits and states. In: Int’l Conf. on Computer-Aided Design, pp. 69–74. IEEE (November 2007)Google Scholar
  18. 18.
    Gay, S.J., Nagarajan, R., Papanikolaou, N.: QMC: A Model Checker for Quantum Systems. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 543–547. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Wille, R., Große, D., Miller, D.M., Drechsler, R.: Equivalence Checking of Reversible Circuits. In: Int’l. Symp. on Multiple-Valued Logic, 324–330. IEEE Computer Society (May 2009)Google Scholar
  20. 20.
    Polian, I., Fiehn, T., Becker, B., Hayes, J.P.: A Family of Logical Fault Models for Reversible Circuits. In: Asian Test Symposium, pp. 422–427. IEEE Computer Society (December 2005) Google Scholar
  21. 21.
    Patel, K.N., Hayes, J.P., Markov, I.L.: Fault testing for reversible circuits. IEEE Trans. on CAD 23(8), 1220–1230 (2004)Google Scholar
  22. 22.
    Gupta, P., Agrawal, A., Jha, N.K.: An Algorithm for Synthesis of Reversible Logic Circuits. IEEE Trans. on CAD of Integrated Circuits and Systems 25(11), 2317–2330 (2006)CrossRefGoogle Scholar
  23. 23.
    Wille, R., Große, D., Teuber, L., Dueck, G.W., Drechsler, R.: RevLib: An Online Resource for Reversible Functions and Reversible Circuits. In: Int’l Symp. on Multiple-Valued Logic, pp. 220–225 (May 2008) Google Scholar
  24. 24.
    Miller, D.M., Maslov, D., Dueck, G.W.: A transformation based algorithm for reversible logic synthesis. In: Design Automation Conference, pp. 318–323. ACM (June 2003)Google Scholar
  25. 25.
    Maslov, D., Dueck, G.W., Miller, D.M.: Techniques for the synthesis of reversible Toffoli networks. ACM Trans. Design Autom. Electr. Syst. 12(4), 42:1–42:28 (2007)Google Scholar
  26. 26.
    Soeken, M., Wille, R., Drechsler, R.: Hierarchical synthesis of reversible circuits using positive and negative Davio decomposition. In: Int’l Design and Test Workshop, pp. 143–148 (December 2010)Google Scholar
  27. 27.
    Wille, R., Große, D., Dueck, G.W., Drechsler, R.: Reversible Logic Synthesis with Output Permutation. In: Int’l Conf. on VLSI Design, pp. 189–194. IEEE (January 2009)Google Scholar
  28. 28.
    Fazel, K., Thornton, M., Rice, J.: ESOP-based Toffoli Gate Cascade Generation. In: IEEE Pacific Rim Conf. on Communications, Computers and Signal Processing, pp. 206–209. IEEE (August 2007)Google Scholar
  29. 29.
    Große, D., Wille, R., Dueck, G.W., Drechsler, R.: Exact Multiple-Control Toffoli Network Synthesis With SAT Techniques. IEEE Trans. on CAD 28(5), 703–715 (2009)Google Scholar
  30. 30.
    Soeken, M., Wille, R., Dueck, G.W., Drechsler, R.: Window optimization of reversible and quantum circuits. In: Int’l Symp. on Design and Diagnostics of Electronic Circuits and Systems, pp. 341–345 (April 2010)Google Scholar
  31. 31.
    Wille, R., Soeken, M., Drechsler, R.: Reducing the number of lines in reversible circuits. In: Design Automation Conference, pp. 647–652. ACM (June 2010)Google Scholar
  32. 32.
    Miller, D.M., Wille, R., Drechsler, R.: Reducing reversible circuit cost by adding lines. In: Int’l Symp. on Multiple-Valued Logic, pp. 217–222 (May 2010)Google Scholar
  33. 33.
    Barenco, A., Bennett, C.H., Cleve, R., DiVincenzo, D.P., Margolus, N., Shor, P., Sleator, T., Smolin, J.A., Weinfurter, H.: Elementary gates for quantum computation. Phys. Rev. A 52(5), 3457–3467 (1995)CrossRefGoogle Scholar
  34. 34.
    Maslov, D., Dueck, G.: Improved quantum cost for n-bit toffoli gates. Electronics Letters 39(25), 1790–1791 (2003)CrossRefGoogle Scholar
  35. 35.
    Pérez, F., Granger, B.E.: Ipython: A system for interactive scientific computing. Computing in Science and Engineering 9(3), 21–29 (2007)CrossRefGoogle Scholar
  36. 36.
    Somenzi, F.: CUDD: CU Decision Diagram Package Release 2.3.1. University of Colorado at Boulder (2001), CUDD,
  37. 37.
    Haedicke, F., Frehse, S., Fey, G., Große, D., Drechsler, R.: metaSMT: Focus on Your Application not on Solver Integration. In: Int’l Workshop on Design and Implementation of Formal Tools and Systems (November 2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Mathias Soeken
    • 1
  • Stefan Frehse
    • 1
  • Robert Wille
    • 1
  • Rolf Drechsler
    • 1
    • 2
  1. 1.Institute of Computer ScienceUniversity of BremenBremenGermany
  2. 2.Cyber-Physical SystemsDFKI GmbHBremenGermany

Personalised recommendations