REVS: A Tool for Space-Optimized Reversible Circuit Synthesis

Computing classical functions is at the core of many quantum algorithms. Conceptually any classical, irreversible function can be carried out by a Toffoli network in a reversible way. However, the Bennett method to obtain such a network in a “clean” form, i.e., a form that can be used in quantum algorithms, is highly space-inefficient. We present REVS, a tool that allows to trade time against space, leading to circuits that have a significantly smaller memory footprint when compared to the Bennett method. Our method is based on an analysis of the data dependency graph underlying a given classical program. We report the findings from running the tool against several benchmarks circuits to highlight the potential space-time tradeoffs that REVS can realize.

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

[2]  Martin Rötteler,et al.  Reversible circuit compilation with space constraints , 2015, ArXiv.

[3]  Luca Trevisan,et al.  Pebble Games and Complexity , 2013 .

[4]  Niraj K. Jha,et al.  RMDDS , 2014, ACM J. Emerg. Technol. Comput. Syst..

[5]  Harry Buhrman,et al.  Time and Space Bounds for Reversible Simulation , 2001, ICALP.

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

[7]  Robert K. Brayton,et al.  Boolean factoring and decomposition of logic networks , 2008, ICCAD 2008.

[8]  Robert Glück,et al.  A reversible programming language and its invertible self-interpreter , 2007, PEPM '07.

[9]  Igor L. Markov,et al.  Constant-optimized quantum circuits for modular multiplication and exponentiation , 2012, Quantum Inf. Comput..

[10]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[11]  Anupam Chattopadhyay,et al.  Ancilla-Quantum Cost Trade-off during Reversible Logic Synthesis using Exclusive Sum-of-Products , 2014, ArXiv.

[12]  Charles H. Bennett Time/Space Trade-Offs for Reversible Computation , 1989, SIAM J. Comput..

[13]  Kalyan S. Perumalla,et al.  Introduction to Reversible Computing , 2013 .

[14]  Igor L. Markov,et al.  Synthesis and optimization of reversible circuits—a survey , 2011, CSUR.

[15]  Margaret Martonosi,et al.  Compiler Management of Communication and Parallelism for Quantum Computation , 2015, ASPLOS.

[16]  Robert Wille,et al.  Towards a Design Flow for Reversible Logic , 2010 .

[17]  Michael Kirkedal Thomsen A functional language for describing reversible logic , 2012, Proceeding of the 2012 Forum on Specification and Design Languages.

[18]  Alireza Shafaei,et al.  Reversible logic synthesis of k-input, m-output lookup tables , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[19]  Robert Wille,et al.  Synthesis of reversible circuits with minimal lines for large functions , 2012, 17th Asia and South Pacific Design Automation Conference.

[20]  I. Chuang,et al.  Quantum Computation and Quantum Information: Bibliography , 2010 .

[21]  Benoît Valiron,et al.  Quipper: a scalable quantum programming language , 2013, PLDI.

[22]  Antonio Cisternino,et al.  Expert F# 3.0 , 2012, Apress.

[23]  Robert Wille,et al.  SyReC: A Programming Language for Synthesis of Reversible Circuits , 2010, FDL.

[24]  Margaret Martonosi,et al.  ScaffCC: Scalable compilation and analysis of quantum programs , 2015, Parallel Comput..

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

[26]  Pierre McKenzie,et al.  Reversible Space Equals Deterministic Space , 2000, J. Comput. Syst. Sci..

[27]  Gang Yu,et al.  Approximation Algorithms for the k-Clique Covering Problem , 1996, SIAM J. Discret. Math..

[28]  Robert Wille,et al.  Trading off circuit lines and gate costs in the synthesis of reversible logic , 2014, Integr..

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