Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Embedding of Large Boolean Functions for Reversible Logic

Published: 09 December 2015 Publication History
  • Get Citation Alerts
  • Abstract

    Reversible logic represents the basis for many emerging technologies and has recently been intensively studied. However, most of the Boolean functions of practical interest are irreversible and must be embedded into a reversible function before they can be synthesized. Thus far, an optimal embedding is guaranteed only for small functions, whereas a significant overhead results when large functions are considered. We study this issue in this article. We prove that determining an optimal embedding is coNP-hard already for restricted cases. Then, we propose heuristic and exact methods for determining both the number of additional lines and a corresponding embedding. For the approaches, we considered sum of products and binary decision diagrams as function representations. Experimental evaluations show the applicability of the approaches for large functions. Consequently, the reversible embedding of large functions is enabled as a precursor to subsequent synthesis.

    References

    [1]
    Charles H. Bennett. 1973. Logical reversibility of computation. IBM Journal of Research and Development 17, 6, 525--532.
    [2]
    Anna Bernasconi, Valentina Ciriani, Fabrizio Luccio, and Linda Pagli. 2013. Compact DSOP and partial DSOP forms. Theory of Computing Systems 53, 4, 583--608.
    [3]
    Randal E. Bryant. 1986. Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers 35, 8, 677--691.
    [4]
    Alexis De Vos and Yvan Van Rentergem. 2008. Young subgroups for reversible computers. Advances in Mathematics of Communications 2, 2, 183--200.
    [5]
    Daniel Große, Robert Wille, Gerhard W. Dueck, and Rolf Drechsler. 2009. Exact multiple-control Toffoli network synthesis with SAT techniques. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 28, 5, 703--715.
    [6]
    George Hutchinson. 1963. Partioning algorithms for finite sets. Communications of the ACM 6, 10, 613--614.
    [7]
    Donald E. Knuth. 2011. The Art of Computer Programming. Vol. 4A. Addison-Wesley, Upper Saddle River, NJ.
    [8]
    Chia-Chun Lin and Niraj K. Jha. 2014. RMDDS: Reed-Muller decision diagram synthesis of reversible logic circuits. ACM Journal on Emerging Technologies in Computing Systems 10, 2, 14.
    [9]
    D. Michael Miller, Dmitri Maslov, and Gerhard W. Dueck. 2003. A transformation based algorithm for reversible logic synthesis. In Proceedings of the Design Automation Conference. 318--323.
    [10]
    D. Michael Miller and Mitchell A. Thornton. 2006. QMDD: A decision diagram structure for reversible and quantum circuits. In Proceedings of the International Symposium on Multiple-Valued Logic. 30.
    [11]
    D. M. Miller, R. Wille, and G. W. Dueck. 2009. Synthesizing reversible circuits for irreversible functions. In Proceedings of the EUROMICRO Symposium on Digital System Design. 749--756.
    [12]
    M. Nikolskaia and L. Nikolskaia. 2001. Size of OBDD representation of 2-level redundancies functions. Theoretical Computer Science 255, 1--2, 615--625.
    [13]
    Macha Nikolskaia and Antoine Rauzy. 1998. Heuristics for BDD handling of sum-of-products formulae. In Proceedings of the European Safety and Reliability Association Conference. 1459--1465.
    [14]
    Balasubramanian Padmanabhan and Doug Edwards. 2010. Self-timed realization of combinational logic. In Proceedings of the International Workshop on Logic Synthesis.
    [15]
    Claude E. Shannon. 1938. A symbolic analysis of relay and switching circuits. Transactions of the American Institute of Electrical Engineers 57, 38--80, 713--723.
    [16]
    V. V. Shende, A. K. Prasad, I. L. Markov, and J. P. Hayes. 2003. Synthesis of reversible logic circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 22, 6, 710--722.
    [17]
    Mathias Soeken, Stefan Frehse, Robert Wille, and Rolf Drechsler. 2012. RevKit: An open source toolkit for the design of reversible circuits. In Reversible Computation. Lecture Notes in Computer Science, Vol. 7165. Springer, 64--76.
    [18]
    Mathias Soeken, Laura Tague, Gerhard W. Dueck, and Rolf Drechsler. 2015. Ancilla-free synthesis of large reversible functions using binary decision diagrams. Journal of Symbolic Computation 73, C, 1--26.
    [19]
    Mathias Soeken, Robert Wille, Christoph Hilken, Nils Przigoda, and Rolf Drechsler. 2012. Synthesis of reversible circuits with minimal lines for large functions. In Proceedings of the Asia and South Pacific Design Automation Conference. 85--92.
    [20]
    Robert Wille and Rolf Drechsler. 2009. BDD-based synthesis of reversible logic for large functions. In Proceedings of the Design Automation Conference. 270--275.
    [21]
    Robert Wille, Oliver Keszöcze, and Rolf Drechsler. 2011. Determining the minimal number of lines for large reversible circuits. In Proceedings of the Conference on Design, Automation, and Test in Europe. 1204--1207.
    [22]
    Robert Wille, Mathias Soeken, and Rolf Drechsler. 2010. Reducing the number of lines in reversible circuits. In Proceedings of the Design Automation Conference. 647--652.
    [23]
    Robert Wille, Mathias Soeken, D. Michael Miller, and Rolf Drechsler. 2014. Trading off circuit lines and gate costs in the synthesis of reversible logic. Integration 47, 2, 284--294.

    Cited By

    View all

    Recommendations

    Reviews

    Xiaokun Yang

    In this paper, the authors present solutions to embedded large irreversible functions, which are considered a problem in reversible circuit synthesis. The main contributions include three algorithms for determining the number of additional lines of large irreversible functions (one heuristic cube-based algorithm and two exact cube-based and binary decision diagram (BDD)-based ones) and two algorithms for embedding large irreversible functions (one exact cube-based algorithm and one heuristic BDD-based algorithm). The details are described in sections 5 and 6. Since most Boolean functions of practical interest are irreversible, such functions are embedded into reversible ones prior to synthesis. Determining an efficient embedding for large irreversible functions is an open research problem that affects the synthesis performance for reversible logic. This paper provides algorithms that enable embedding of functions containing up to hundreds of variables, although efficient embedding of irreversible functionality has been restricted to very small functions. Some experimental results using these algorithms are illustrated in section 7. Instead of implementing these proposed functions as circuits and showing the performance as gate count, maximum of frequency, latency, and power/energy consumption, the authors list experimental results as the number of additional lines. The reason is explained in this section. In conclusion, the algorithms are novel. The implementation and evaluation are thorough and indeed show that the algorithms can be used effectively for compact embeddings of functions containing a large number of variables. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Journal on Emerging Technologies in Computing Systems
    ACM Journal on Emerging Technologies in Computing Systems  Volume 12, Issue 4
    Regular Papers
    July 2016
    394 pages
    ISSN:1550-4832
    EISSN:1550-4840
    DOI:10.1145/2856147
    • Editor:
    • Yuan Xie
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Journal Family

    Publication History

    Published: 09 December 2015
    Accepted: 01 May 2015
    Revised: 01 April 2015
    Received: 01 December 2014
    Published in JETC Volume 12, Issue 4

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Boolean functions
    2. Reversible logic
    3. embedding

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)26
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 27 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Funktionale SyntheseEinführung in die Entwurfsautomatisierung für Quantencomputer10.1007/978-3-031-36751-9_12(115-140)Online publication date: 15-Dec-2023
    • (2023)ÜbersichtEinführung in die Entwurfsautomatisierung für Quantencomputer10.1007/978-3-031-36751-9_10(101-105)Online publication date: 15-Dec-2023
    • (2023)EinführungEinführung in die Entwurfsautomatisierung für Quantencomputer10.1007/978-3-031-36751-9_1(3-8)Online publication date: 15-Dec-2023
    • (2021)An Efficient Algorithm for Sparse Quantum State Preparation2021 58th ACM/IEEE Design Automation Conference (DAC)10.1109/DAC18074.2021.9586240(433-438)Online publication date: 5-Dec-2021
    • (2020)Efficient Quantum Circuits for Square-Root and Inverse Square-Root2020 33rd International Conference on VLSI Design and 2020 19th International Conference on Embedded Systems (VLSID)10.1109/VLSID49098.2020.00027(55-60)Online publication date: Jan-2020
    • (2020)Functional SynthesisIntroducing Design Automation for Quantum Computing10.1007/978-3-030-41753-6_12(105-127)Online publication date: 8-Apr-2020
    • (2020)OverviewIntroducing Design Automation for Quantum Computing10.1007/978-3-030-41753-6_10(93-96)Online publication date: 8-Apr-2020
    • (2020)IntroductionIntroducing Design Automation for Quantum Computing10.1007/978-3-030-41753-6_1(3-7)Online publication date: 8-Apr-2020
    • (2019)Locking the Design of Building Blocks for Quantum CircuitsACM Transactions on Embedded Computing Systems10.1145/335818418:5s(1-15)Online publication date: 7-Oct-2019
    • (2019)Embedding Functions Into Reversible CircuitsProceedings of the 56th Annual Design Automation Conference 201910.1145/3316781.3317814(1-6)Online publication date: 2-Jun-2019
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media