Generating and checking control logic in the HDL-based design of reversible circuits

Although different from the conventional computing paradigm, reversible computation received significant interest due to its applications in various (emerging) technologies. Here, computations can be executed not only from the inputs to the outputs, but also in the reverse direction. This leads to significantly different design challenges to be addressed. In this work, we consider problems that occur when describing a reversible control flow using Hardware Description Languages (HDLs). Here, the commonly used conditional statements must, in addition to the established if-condition for forward computation, be provided with an additional fi-condition for backward computation. Unfortunately, deriving correct and consistent fi-conditions is often not obvious. Moreover, HDL descriptions exist which may not be realized with a reversible control flow at all. In this work, we propose automatic solutions which generate the required fi-conditions and check whether a reversible control flow indeed can be realized. The solution utilizes predicate transformer semantics based on Hoare logic. This has exemplary been implemented for the reversible HDL SyReC and evaluated with a variety of circuit description examples. The proposed solution constitutes the first automatic method for these important designs steps in the domain of reversible circuit design.

[1]  ESOP-Based Toffoli Network Generation with Transformations , 2010, 2010 40th IEEE International Symposium on Multiple-Valued Logic.

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

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

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

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

[6]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

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

[8]  Robert Wille,et al.  Exact Synthesis of Toffoli Gate Circuits with Negative Control Lines , 2012, 2012 IEEE 42nd International Symposium on Multiple-Valued Logic.

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

[10]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

[11]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[12]  Robert Glück,et al.  Principles of a reversible programming language , 2008, CF '08.

[13]  Robert Wille,et al.  SyReC: A hardware description language for the specification and synthesis of reversible circuits , 2016, Integr..

[14]  Stefan Frehse,et al.  RevKit: A Toolkit for Reversible Circuit Design , 2012, J. Multiple Valued Log. Soft Comput..

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

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

[17]  E. Lutz,et al.  Experimental verification of Landauer’s principle linking information and thermodynamics , 2012, Nature.

[18]  Robert Wille,et al.  Automatic design of low-power encoders using reversible circuit synthesis , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).