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

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.

[1]  Pérès,et al.  Reversible logic and quantum computers. , 1985, Physical review. A, General physics.

[2]  T. Toffoli,et al.  Conservative logic , 2002, Collision-Based Computing.

[3]  Gerhard W. Dueck,et al.  Toffoli network synthesis with templates , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Robert Wille,et al.  Equivalence Checking of Reversible Circuits , 2009, ISMVL.

[5]  Rajagopal Nagarajan,et al.  QMC: A Model Checker for Quantum Systems , 2007, CAV.

[6]  John P. Hayes,et al.  Checking equivalence of quantum circuits and states , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[7]  Gerhard W. Dueck,et al.  Improved quantum cost for n-bit Toffoli gates , 2003 .

[8]  R Cuykendall,et al.  Reversible optical computing circuits. , 1987, Optics letters.

[9]  Rolf Landauer,et al.  Irreversibility and heat generation in the computing process , 1961, IBM J. Res. Dev..

[10]  Robert Wille,et al.  Reducing Reversible Circuit Cost by Adding Lines , 2010, 2010 40th IEEE International Symposium on Multiple-Valued Logic.

[11]  Brian E. Granger,et al.  IPython: A System for Interactive Scientific Computing , 2007, Computing in Science & Engineering.

[12]  Gerhard W. Dueck,et al.  A transformation based algorithm for reversible logic synthesis , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[13]  Niraj K. Jha,et al.  An Algorithm for Synthesis of Reversible Logic Circuits , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[14]  Robert Wille,et al.  Window optimization of reversible and quantum circuits , 2010, 13th IEEE Symposium on Design and Diagnostics of Electronic Circuits and Systems.

[15]  Robert Wille,et al.  Exact Multiple-Control Toffoli Network Synthesis With SAT Techniques , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Charles H. Bennett,et al.  Logical reversibility of computation , 1973 .

[17]  Alexis De Vos,et al.  A reversible carry-look-ahead adder using control gates , 2002, Integr..

[18]  Robert Wille,et al.  Reversible Logic Synthesis with Output Permutation , 2009, 2009 22nd International Conference on VLSI Design.

[19]  J. Hayes,et al.  Fault testing for reversible circuits , 2003, Proceedings. 21st VLSI Test Symposium, 2003..

[20]  Robert Wille,et al.  Hierarchical synthesis of reversible circuits using positive and negative Davio decomposition , 2010, 2010 5th International Design and Test Workshop.

[21]  Tommaso Toffoli,et al.  Reversible Computing , 1980, ICALP.

[22]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

[23]  Robert Wille,et al.  Reducing the number of lines in reversible circuits , 2010, Design Automation Conference.

[24]  Robert Wille,et al.  RevLib: An Online Resource for Reversible Functions and Reversible Circuits , 2008, 38th International Symposium on Multiple Valued Logic (ismvl 2008).

[25]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[26]  John P. Hayes,et al.  Synthesis of reversible logic circuits , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  Thierry Paul,et al.  Quantum computation and quantum information , 2007, Mathematical Structures in Computer Science.

[28]  John P. Hayes,et al.  A Family of Logical Fault Models for Reversible Circuits , 2005, 14th Asian Test Symposium (ATS'05).

[29]  Peter W. Shor,et al.  Algorithms for quantum computation: discrete logarithms and factoring , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[30]  Anshul Kumar,et al.  Impact of intercluster communication mechanisms on ILP in clustered VLIW architectures , 2007, TODE.

[31]  Stefan Frehse,et al.  metaSMT: Focus on Your Application not on Solver Integration , 2011, DIFTS@FMCAD.

[32]  R. Merkle Reversible electronic logic using switches , 1993 .

[33]  M. B. Srinivas,et al.  The need of DNA computing: reversible designs of adders and multipliers using Fredkin gate , 2005, International Symposium on Optomechatronic Technologies.

[34]  I. Chuang,et al.  Experimental realization of Shor's quantum factoring algorithm using nuclear magnetic resonance , 2001, Nature.

[35]  M. Thornton,et al.  ESOP-based Toffoli Gate Cascade Generation , 2007, 2007 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing.

[36]  John P. Hayes,et al.  Quantum Circuit Simulation , 2009 .

[37]  Barenco,et al.  Elementary gates for quantum computation. , 1995, Physical review. A, Atomic, molecular, and optical physics.

[38]  Robert Wille,et al.  BDD-based synthesis of reversible logic for large functions , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[39]  Gerhard W. Dueck,et al.  Techniques for the synthesis of reversible Toffoli networks , 2006, TODE.