Checking Reversibility of Boolean Functions

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9720)

Abstract

Following the reversible computation paradigm is essential in the design of many emerging technologies such as quantum computation or dedicated low power concepts. The design of corresponding circuits and systems heavily relies on information about whether the function to be realized is indeed reversible. In particular in hierarchical synthesis approaches where a given function is decomposed into sub-functions, this is often not obvious. In this paper, we prove that checking reversibility of Boolean functions is indeed coNP-complete. Besides that, we propose two complementary approaches which, despite the complexity, can tackle this problem in an efficient fashion. An experimental evaluation shows the feasibility of the approaches.

Notes

Acknowledgments

This work has partially been supported by the EU COST Action IC1405.

References

  1. 1.
    Amarú, L., Gaillardon, P.E., Wille, R., De Micheli, G.: Exploiting inherent characteristics of reversible circuits for faster combinational equivalence checking. In: Design, Automation and Test in Europe (2016, to appear)Google Scholar
  2. 2.
    Athas, W., Svensson, L.: Reversible logic issues in adiabatic CMOS. In: Proceedings of Workshop on Physics and Computation PhysComp 1994, pp. 111–118 (1994)Google Scholar
  3. 3.
    Berut, A., Arakelyan, A., Petrosyan, A., Ciliberto, S., Dillenschneider, R., Lutz, E.: Experimental verification of Landauer’s principle linking information and thermodynamics. Nature 483, 187–189 (2012)CrossRefGoogle Scholar
  4. 4.
    Brand, D.: Verification of large synthesized designs. In: International Conference on CAD, pp. 534–537 (1993)Google Scholar
  5. 5.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comp. 35(8), 677–691 (1986)CrossRefMATHGoogle Scholar
  6. 6.
    Cook, S.: The complexity of theorem-proving procedures. In: Symposium on Theory of Computing, pp. 151–158. ACM (1971). http://doi.acm.org/10.1145/800157.805047
  7. 7.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Fazel, K., Thornton, M., Rice, J.: ESOP-based Toffoli gate cascade generation. In: IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PacRim 2007), pp. 206–209. IEEE (2007)Google Scholar
  9. 9.
    Gebser, M., Kaufmann, B., Neumann, A., Schaub, T.: Conflict-driven answer set solving. In: International Joint Conference on Artificial Intelligence, pp. 386–392 (2007)Google Scholar
  10. 10.
    Große, D., Wille, R., Dueck, G.W., Drechsler, R.: Exact multiple control Toffoli network synthesis with SAT techniques. IEEE Trans. CAD 28(5), 703–715 (2009)CrossRefGoogle Scholar
  11. 11.
    Grover, L.K.: A fast quantum mechanical algorithm for database search. In: Theory of Computing, pp. 212–219 (1996)Google Scholar
  12. 12.
    Houri, S., Valentian, A., Fanet, H.: Comparing CMOS-based and NEMS-based adiabatic logic circuits. In: Dueck, G.W., Miller, D.M. (eds.) RC 2013. LNCS, vol. 7948, pp. 36–45. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  13. 13.
    Merkle, R.C.: Reversible electronic logic using switches. Nanotechnology 4(1), 21–40 (1993)CrossRefGoogle Scholar
  14. 14.
    Miller, D.M., Maslov, D., Dueck, G.W.: A transformation based algorithm for reversible logic synthesis. In: Design Automation Confernce, pp. 318–323 (2003)Google Scholar
  15. 15.
    Nielsen, M., Chuang, I.: Quantum Computation and Quantum Information. Cambridge University Press, Cambridge (2000)MATHGoogle Scholar
  16. 16.
    Ren, J., Semenov, V., Polyakov, Y., Averin, D., Tsai, J.S.: Progress towards reversible computing with nSQUID arrays. IEEE Trans. Appl. Supercond. 19(3), 961–967 (2009)CrossRefGoogle Scholar
  17. 17.
    Saeedi, M., Zamani, M.S., Sedighi, M., Sasanian, Z.: Synthesis of reversible circuit using cycle-based approach. J. Emerg. Technol. Comput. Syst. 6(4), 1–26 (2010)CrossRefGoogle Scholar
  18. 18.
    Shor, P.W.: Algorithms for quantum computation: discrete logarithms and factoring. Foundations of Computer Science, pp. 124–134 (1994)Google Scholar
  19. 19.
    Soeken, M., Tague, L., Dueck, G.W., Drechsler, R.: Ancilla-free synthesis of large reversible functions using binary decision diagrams. J. Symb. Comput. 73, 41: 1–41: 26 (2016). http://dx.doi.org/10.1016/j.jsc.2015.03.002 MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Soeken, M., Wille, R., Hilken, C., Przigoda, N., Drechsler, R.: Synthesis of reversible circuits with minimal lines for large functions. In: ASP Design Automation Conference, pp. 85–92 (2012)Google Scholar
  21. 21.
    Soeken, M., Wille, R., Keszocze, O., Miller, D.M., Drechsler, R.: Embedding of large Boolean functions for reversible logic. J. Emerg. Technol. Comput. Syst. 12(4), 1–26 (2015). http://doi.acm.org/10.1145/2786982 CrossRefGoogle Scholar
  22. 22.
    Somenzi, F.: Efficient manipulation of decision diagrams. Softw. Tools Technol. Transf. 3(2), 171–181 (2001)MATHGoogle Scholar
  23. 23.
    Thomsen, M.K.: Describing and optimising reversible logic using a functional language. In: Gill, A., Hage, J. (eds.) IFL 2011. LNCS, vol. 7257, pp. 148–163. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  24. 24.
    Toffoli, T.: Reversible computing. In: de Bakker, W., van Leeuwen, J. (eds.) Automata, Languages and Programming. LNCS, vol. 85, pp. 632–644. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  25. 25.
    Wille, R., Drechsler, R.: BDD-based synthesis of reversible logic for large functions. In: Design Automation Conference, pp. 270–275 (2009)Google Scholar
  26. 26.
    Wille, R., Große, D., Teuber, L., Dueck, G.W., Drechsler, R.: RevLib: an online resource for reversible functions and reversible circuits. In: International Symposyum on Multi-Valued Logic, pp. 220–225 (2008). http://www.revlib.org
  27. 27.
    Wille, R., Keszöcze, O., Drechsler, R.: Determining the minimal number of lines for large reversible circuits. In: Design, Automation and Test in Europe, pp. 1204–1207. IEEE (2011)Google Scholar
  28. 28.
    Wille, R., Drechsler, R., Osewold, C., Garcia-Ortiz, A.: Automatic design of low-power encoders using reversible circuit synthesis. In: Design, Automation and Test in Europe, pp. 1036–1041. IEEE (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Institute for Integrated CircuitsJohannes Kepler UniversityLinzAustria
  2. 2.Cyber-Physical Systems, DFKI GmbHBremenGermany
  3. 3.Institute of Computer ScienceUniversity of BremenBremenGermany

Personalised recommendations