Skip to main content

SyReC: A Programming Language for Synthesis of Reversible Circuits

  • Conference paper
  • First Online:
System Specification and Design Languages

Part of the book series: Lecture Notes in Electrical Engineering ((LNEE,volume 106))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 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. 3.

    Figure 13.5a shows the notation for a single bit operation. For larger bit-widths the notation is extended accordingly.

  4. 4.

    A similar comparison to alternative approaches (e.g., [11,  8]) was not possible since due to memory limitations the respective benchmarks cannot be represented in terms of truth tables which is required by these approaches.

References

  1. S. Abramsky. A structural approach to reversible computation. Theor. Comput. Sci., 347(3):441–464, 2005.

    Article  MATH  MathSciNet  Google Scholar 

  2. 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.

    Google Scholar 

  3. C. H. Bennett. Logical reversibility of computation. IBM J. Res. Dev, 17(6):525–532, 1973.

    Article  MATH  Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. E. F. Fredkin and T. Toffoli. Conservative logic. International Journal of Theoretical Physics, 21(3/4):219–253, 1982.

    Article  MATH  MathSciNet  Google Scholar 

  7. T. Grötker, S. Liao, G. Martin, and S. Swan. System Design with SystemC. Kluwer Academic Publishers, 2002.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. R. Landauer. Irreversibility and heat generation in the computing process. IBM J. Res. Dev., 5:183, 1961.

    Article  MATH  MathSciNet  Google Scholar 

  10. R. Lipsett, C.F. Schaefer, and C. Ussery. VHDL: Hardware Description and Design. Kluwer Academic Publishers, Intermetrics, Inc., 1989.

    Google Scholar 

  11. D. Maslov, G. W. Dueck, and D. M. Miller. Toffoli network synthesis with templates. IEEE Trans. on CAD, 24(6):807–817, 2005.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. M. Nielsen and I. Chuang. Quantum Computation and Quantum Information. Cambridge Univ. Press, 2000.

    MATH  Google Scholar 

  15. 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.

    Google Scholar 

  16. K. N. Patel, J. P. Hayes, and I. L. Markov. Fault testing for reversible circuits. IEEE Trans. on CAD, 23(8):1220–1230, 2004.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. A. Di Pierro, C. Hankin, and H. Wiklicky. Reversible combinatory logic. Mathematical. Structures in Comp. Sci., 16(4):621–637, 2006.

    Article  MATH  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  21. P. W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. Foundations of Computer Science, pages 124–134, 1994.

    Google Scholar 

  22. S. Sutherland, S. Davidmann, and P. Flake. System Verilog for Design and Modeling. Kluwer Academic Publishers, 2004.

    Google Scholar 

  23. Y. Takahashi and N. Kunihiro. A linear-size quantum circuit for addition with no ancillary qubits. Quantum Information and Computation, 5:440–448, 2005.

    MATH  MathSciNet  Google Scholar 

  24. M. K. Thomson and R. Glück. Optimized reversible binary-coded decimal adders. J. of Systems Architecture, 54:697–706, 2008.

    Article  Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Article  Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. R. Wille and R. Drechsler. BDD-based synthesis of reversible logic for large functions. In Design Automation Conf., pages 270–275, 2009.

    Google Scholar 

  30. 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.

    Google Scholar 

  31. 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.

    Google Scholar 

  32. 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.

  33. 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.

    Google Scholar 

  34. 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.

    Google Scholar 

  35. R. Wille, M. Soeken, and R. Drechsler. Reducing the Number of Lines in Reversible Circuits. In Design Automation Conf., pages 647–652, 2010.

    Google Scholar 

  36. 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.

    Google Scholar 

  37. 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.

    Google Scholar 

  38. 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.

    Article  Google Scholar 

  39. 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.

    Google Scholar 

Download references

Acknowledgment

This work was supported by the German Research Foundation (DFG) (DR 287/20-1).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert Wille .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics