Abstract
Reversible logic serves as a basis for emerging technologies like quantum computing and additionally has applications in low-power design. In particular, since conventional technologies like CMOS are going to reach their limits in the near future, reversible logic has been established as a promising alternative. Thus, in the last years this area started to become intensely studied by researchers. In particular, how to efficiently synthesize complex reversible circuits is an important question. So far, only synthesis approaches are available that rely on Boolean function representations, like e.g., truth tables or decision diagrams.
In this chapter, we propose the programming language SyReC that allows to specify and afterwards to automatically synthesize reversible circuits. Using an existing programming language for reversible software design as basis, we introduce new concepts, operations, and restrictions allowing the specification of reversible hardware. Furthermore, a hierarchical approach is presented that automatically transforms the respective statements and operations of the new programming language into a reversible circuit. Experiments show that with the proposed method, complex circuits can be easily specified and synthesized while with previous approaches this often is not possible due to the limits caused by truth tables or decision diagrams.
Keywords
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Note that we focus thereby on the concepts of the language. A detailed technical definition of SyReC can be found at RevLib.org [32].
- 2.
These extensions are not necessarily needed (i.e., they can also be expressed by the existing operations), but they allow a more intuitive programming of reversible circuits.
- 3.
Figure 13.5a shows the notation for a single bit operation. For larger bit-widths the notation is extended accordingly.
- 4.
References
S. Abramsky. A structural approach to reversible computation. Theor. Comput. Sci., 347(3):441–464, 2005.
A. Barenco, C. H. Bennett, R. Cleve, D.P. DiVinchenzo, N. Margolus, P. Shor, T. Sleator, J.A. Smolin, and H. Weinfurter. Elementary gates for quantum computation. The American Physical Society, 52:3457–3467, 1995.
C. H. Bennett. Logical reversibility of computation. IBM J. Res. Dev, 17(6):525–532, 1973.
B. Desoete and A. De Vos. A reversible carry-look-ahead adder using control gates. INTEGRATION, the VLSI Jour., 33(1-2):89–104, 2002.
D. Y. Feinstein, M. A. Thornton, and D. M. Miller. Partially redundant logic detection using symbolic equivalence checking in reversible and irreversible logic circuits. In Design, Automation and Test in Europe, pages 1378–1381, 2008.
E. F. Fredkin and T. Toffoli. Conservative logic. International Journal of Theoretical Physics, 21(3/4):219–253, 1982.
T. Grötker, S. Liao, G. Martin, and S. Swan. System Design with SystemC. Kluwer Academic Publishers, 2002.
P. Gupta, A. Agrawal, and N. K. Jha. An algorithm for synthesis of reversible logic circuits. IEEE Trans. on CAD, 25(11):2317–2330, 2006.
R. Landauer. Irreversibility and heat generation in the computing process. IBM J. Res. Dev., 5:183, 1961.
R. Lipsett, C.F. Schaefer, and C. Ussery. VHDL: Hardware Description and Design. Kluwer Academic Publishers, Intermetrics, Inc., 1989.
D. Maslov, G. W. Dueck, and D. M. Miller. Toffoli network synthesis with templates. IEEE Trans. on CAD, 24(6):807–817, 2005.
D. Maslov, C. Young, G. W. Dueck, and D. M. Miller. Quantum circuit simplification using templates. In Design, Automation and Test in Europe, pages 1208–1213, 2005.
D. M. Miller, R. Wille, and R. Drechsler. Reducing reversible circuit cost by adding lines. In Int’l Symp. on Multi-Valued Logic, pages 217–222, 2010.
M. Nielsen and I. Chuang. Quantum Computation and Quantum Information. Cambridge Univ. Press, 2000.
S. Offermann, R. Wille, G. W. Dueck, and R. Drechsler. Synthesizing Multiplier in Reversible Logic. In IEEE Symp. on Design and Diagnostics of Electronic Circuits and Systems, 2010.
K. N. Patel, J. P. Hayes, and I. L. Markov. Fault testing for reversible circuits. IEEE Trans. on CAD, 23(8):1220–1230, 2004.
M. Perkowski, J. Biamonte, and M. Lukac. Test generation and fault localization for quantum circuits. In Int’l Symp. on Multi-Valued Logic, pages 62–68, 2005.
A. Di Pierro, C. Hankin, and H. Wiklicky. Reversible combinatory logic. Mathematical. Structures in Comp. Sci., 16(4):621–637, 2006.
I. Polian, T. Fiehn, B. Becker, and J. P. Hayes. A family of logical fault models for reversible circuits. In Asian Test Symp., pages 422–427, 2005.
V. V. Shende, A. K. Prasad, I. L. Markov, and J. P. Hayes. Synthesis of reversible logic circuits. IEEE Trans. on CAD, 22(6):710–722, 2003.
P. W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. Foundations of Computer Science, pages 124–134, 1994.
S. Sutherland, S. Davidmann, and P. Flake. System Verilog for Design and Modeling. Kluwer Academic Publishers, 2004.
Y. Takahashi and N. Kunihiro. A linear-size quantum circuit for addition with no ancillary qubits. Quantum Information and Computation, 5:440–448, 2005.
M. K. Thomson and R. Glück. Optimized reversible binary-coded decimal adders. J. of Systems Architecture, 54:697–706, 2008.
T. Toffoli. Reversible computing. In W. de Bakker and J. van Leeuwen, editors, Automata, Languages and Programming, page 632. Springer, 1980. Technical Memo MIT/LCS/TM-151, MIT Lab. for Comput. Sci.
L. M. K. Vandersypen, M. Steffen, G. Breyta, C. S. Yannoni, M. H. Sherwood, and I. L. Chuang. Experimental realization of shor’s quantum factoring algorithm using nuclear magnetic resonance. Nature, 414:883, 2001.
G. F. Viamontes, I. L. Markov, and J. P. Hayes. Checking equivalence of quantum circuits and states. In Int’l Conf. on CAD, pages 69–74, 2007.
S.-A. Wang, C.-Y. Lu, I-M. Tsai, and S.-Y. Kuo. An XQDD-based verification method for quantum circuits. IEICE Transactions, 91-A(2):584–594, 2008.
R. Wille and R. Drechsler. BDD-based synthesis of reversible logic for large functions. In Design Automation Conf., pages 270–275, 2009.
R. Wille, D. Große, S. Frehse, G. W. Dueck, and R. Drechsler. Debugging of Toffoli networks. In Design, Automation and Test in Europe, pages 1284–1289, 2009.
R. Wille, D. Große, D. M. Miller, and R. Drechsler. Equivalence checking of reversible circuits. In Int’l Symp. on Multi-Valued Logic, pages 324–330, 2009.
R. Wille, D. Große, L. Teuber, G. W. Dueck, and R. Drechsler. RevLib: an online resource for reversible functions and reversible circuits. In Int’l Symp. on Multi-Valued Logic, pages 220–225, 2008. RevLib is available at http://www.revlib.org.
R. Wille, O. Keszöcze, and R. Drechsler. Determining the Minimal Number of Lines for Large Reversible Circuits. In Design, Automation and Test in Europe, pages 1204–1207, 2011.
R. Wille, H. M. Le, G. W. Dueck, and D. Große. Quantified synthesis of reversible logic. In Design, Automation and Test in Europe, pages 1015–1020, 2008.
R. Wille, M. Soeken, and R. Drechsler. Reducing the Number of Lines in Reversible Circuits. In Design Automation Conf., pages 647–652, 2010.
R. Wille, H. Zhang, and R. Drechsler. ATPG for reversible circuits using simulation, Boolean satisfiability, and pseudo Boolean optimization. In IEEE Annual Symposium on VLSI, pages 120–125, 2011.
T. Yokoyama and R. Glück. A reversible programming language and its invertible self-interpreter. In Symp. on Partial evaluation and semantics-based program manipulation, pages 144–153, 2007.
V. V. Zhirnov, R. K. Cavin, J. A. Hutchby, and G. I. Bourianoff. Limits to binary logic switch scaling – a gedanken model. Proc. of the IEEE, 91(11):1934–1939, 2003.
J. Zhong and J.C. Muzio. Using crosspoint faults in simplifying Toffoli networks. In IEEE North-East Workshop on Circuits and Systems, pages 129–132, 2006.
Acknowledgment
This work was supported by the German Research Foundation (DFG) (DR 287/20-1).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer Science+Business Media, LLC
About this paper
Cite this paper
Wille, R., Offermann, S., Drechsler, R. (2012). SyReC: A Programming Language for Synthesis of Reversible Circuits. In: Kaźmierski, T., Morawiec, A. (eds) System Specification and Design Languages. Lecture Notes in Electrical Engineering, vol 106. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-1427-8_13
Download citation
DOI: https://doi.org/10.1007/978-1-4614-1427-8_13
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-1426-1
Online ISBN: 978-1-4614-1427-8
eBook Packages: EngineeringEngineering (R0)