BDD-based synthesis of reversible logic for large functions

Reversible logic is the basis for several emerging technologies such as quantum computing, optical computing, or DNA computing and has further applications in domains like low-power design and nanotechnologies. However, current methods for the synthesis of reversible logic are limited, i.e. they are applicable to relatively small functions only. In this paper, we propose a synthesis approach, that can cope with Boolean functions containing more than a hundred of variables. We present a technique to derive reversible circuits for a function given by a binary decision diagram (BDD). The circuit is obtained using an algorithm with linear worst case behavior regarding run-time and space requirements. Furthermore, the size of the resulting circuit is bounded by the BDD size. This allows to transfer theoretical results known from BDDs to reversible circuits. Experiments show better results (with respect to the circuit cost) and a significantly better scalability in comparison to previous synthesis approaches.

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

[2]  Dmitri Maslov,et al.  Comparison of the cost metrics through investigation of the relation between optimal NCV and optimal NCT three-qubit reversible circuits , 2007, IET Comput. Digit. Tech..

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

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

[5]  John P. Hayes,et al.  Data structures and algorithms for simplifying reversible circuits , 2006, JETC.

[6]  John P. Hayes,et al.  Optimal synthesis of linear reversible circuits , 2008, Quantum Inf. Comput..

[7]  Pawel Kerntopf,et al.  A new heuristic algorithm for reversible logic synthesis , 2004, Proceedings. 41st Design Automation Conference, 2004..

[8]  Rolf Drechsler,et al.  Binary decision diagrams in theory and practice , 2001, International Journal on Software Tools for Technology Transfer.

[9]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.

[10]  Samuel D. Johnson Branching programs and binary decision diagrams: theory and applications by Ingo Wegener society for industrial and applied mathematics, 2000 408 pages , 2010, SIGA.

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

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

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

[14]  D. Michael Miller,et al.  Partially Redundant Logic Detection Using Symbolic Equivalence Checking in Reversible and Irreversible Logic Circuits , 2008, 2008 Design, Automation and Test in Europe.

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

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

[17]  Robert Wille,et al.  Effect of BDD Optimization on Synthesis of Reversible and Quantum Logic , 2010, RC@ETAPS.

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

[19]  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.

[20]  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.

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

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

[23]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

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

[25]  Guowu Yang,et al.  Optimal synthesis of multiple output Boolean functions using a set of quantum gates by symbolic reachability analysis , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  Gerhard W. Dueck,et al.  Reversible cascades with minimal garbage , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[27]  Jing Zhong,et al.  Using Crosspoint Faults in Simplifying Toffoli Networks , 2006, 2006 IEEE North-East Workshop on Circuits and Systems.

[28]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

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

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

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