skip to main content
10.1145/1119772.1119810acmconferencesArticle/Chapter ViewAbstractPublication PagesaspdacConference Proceedingsconference-collections
Article

A BDD-based fast heuristic algorithm for disjoint decomposition

Published: 21 January 2003 Publication History

Abstract

This paper presents a heuristic algorithm for disjoint decomposition of a Boolean function based on its ROBDD representation. Two distinct features make the algorithm feasible for large functions. First, for an n-variable function, it checks only O(n2) candidates for decomposition out of O(2n) possible ones. A special strategy for selecting candidates makes it likely that all other decompositions are encoded in the selected ones. Second, the decompositions for the approved candidates are computed using a novel IntervalCut algorithm. This algorithm does not require re-ordering of ROBDD. The combination of both techniques allows us to decompose the functions of size beyond that possible with the exact algorithms. The experimental results on 582 benchmark functions show that the presented heuristic finds 95% of all decompositions on average. For 526 of those functions, it finds 100% of the decompositions.

References

[1]
S. Hassoun and T. Sasao, eds., Logic Synthesis and Verification. Kluwer Academic Publishers, 2002.
[2]
R. H. Möhring and F. J. Radermacher, "Substitution decomposition of discrete structures and connections to combinatorial optimization," Ann. Discrete Math, vol. 19, pp. 257--264, 1984.
[3]
Z. W. Birnbaum and J. D. Esary, "Modules of coherent binary systems," SIAM Journal of Applied Math., vol. 13, pp. 444--451, 1965.
[4]
L. S. Shapley, "Solutions of compound simple games," in Advances in Game Theory, no. 52 in Ann. of Math. Study, pp. 267--280, Princeton University Press, 1964.
[5]
Z. W. Birnbaum and R. H. Möhring, "A fast algorithm for the decomposition of graphs and posets," Math. Oper. Res, pp. 170--177, 1984.
[6]
W. H. Cunningham, "Decomposition of directed graphs," SIAM Journal of Algebraic and Discrete Methods, vol. 3, pp. 214--221, 1982.
[7]
M. Habib and M. C. Maurer, "On the x-join decomposition for undirected graphs," Journal of Appl. Discr. Math., vol. 3, pp. 198--205, 1979.
[8]
L. J. Billera, "On the composition and decomposition of clutters," Journal of Comb. Theory, vol. 11, pp. 234--241, 1971.
[9]
J.-P. Deschamps, "Binary simple decomposition of discrete functions," Digital Processes, vol. 1, pp. 123--130, 1975.
[10]
V. Y. Shen and A. C. McKellar, "An algorithm for the disjunctive decomposition of switching functions," IEEE Trans. Computers, vol. C-19, pp. 239--245, 1970.
[11]
V. Y. Shen, A. C. McKellar, and P. Weiner, "A fast algorithm for the disjunctive decomposition of switching functions," IEEE Trans. Computers, vol. C-20, pp. 239--246, 1970.
[12]
A. Thayse, "A fast algorithm for the proper decomposition of boolean functions," Philips Res. Rep., vol. 27, pp. 140--147, 1972.
[13]
V. Bertacco and M. Damiani, "The disjunctive decomposition of logic functions," in Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, pp. 78--82, 1997.
[14]
S. Minato and G. D. Micheli, "Finding all simple disjunctive decompositions using irredundant sum-of-products forms," in Proceedings of IEEE/ACM International Conference on Computer-Aided Design, pp. 111--117, 1998.
[15]
Y. Matsunaga, "An exact and efficient algorithm for disjunctive decomposition," in Proceedings of SASIMI'98, pp. 44--50, 1998.
[16]
R. Rudell, "Dynamic variable ordering for ordered binary decision diagrams," in Proceeding of IEEE/ACM International Conference on Computer-Aided Design, vol. 29, pp. 42--47, 1993.
[17]
R. Ashenhurst, "The decomposition of switching functions," in Proceedings International Symp. Theory of Switching, vol. 29, pp. 74--116, 1959.
[18]
H. A. Curtis, A New Approach to the Design of Switching Circuits. Princeton, New Jersey: D. van Nostrand company, 1962.
[19]
J. P. Roth and R. M. Karp, "Minimization over Boolean graphs," IBM Journal, vol. 6, pp. 227--238, April 1962.
[20]
B. von Stengel, "Eine dekompositionstheorie für mehrstellige funktionen," in Mathematical Systems in Economics, vol. 123, Anton Hain, Frankfurt, 1991.
[21]
R. M. Karp, "Functional decomposition and switching circuit design," Journal of Soc. Indust. Appl. Math., vol. 11, pp. 291--335, June 1963.
[22]
R. K. Brayton and C. McMullen, "The decomposition and factorization of Boolean expression," in Proceedings of the IEEE International Symposium of Circuits and Systems, pp. 49--54, IEEE, 1982.
[23]
R. E. Bryant, "Graph-based algorithm for boolean function manipulation," Transactions on Computers, vol. C-35, pp. 677--691, 1986.
[24]
T. Sasao, FPGA design by generalized functional decomposition, pp. 233--258. Kluwer Academic Publishers, 1993.
[25]
Y.-T. Lai, K.-R. Pan, and M. Pedram, "BDD-based function decomposition: algorithms and implementation," Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 15, pp. 977--990, 1996.
[26]
S.-C. Chang, M. Marek-Sadowska, and T. Hwang, "Technology mapping for TLU FPGA's based on decomposition of binary decision diagrams," Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 15, pp. 1226--1235, 1996.
[27]
H. Sawada, S. Yamashita, and A. Nagoya, "Restructuring logic representations with easily detectable simple disjunctive decompositions," in Proceedings of Design Automation Conference, pp. 755--759, IEEE, 1998.
[28]
T. Sasao and K. Kurimoto, "Three parameters to find functional decompositions," in Proceedings of Asia and South Pacific Design Automation Conference, pp. 259--264, 2000.
[29]
T. Stanion and C. Sechen, "Quasi-algebraic decompositions of switching functions," in Proceedings of Sixteenth Conference on Advanced Research in VLSI, pp. 358--367, IEEE, 1995.
[30]
S. Yamashita, H. Sawada, and A. Nagoya, "New methods to find optimal non-disjoint bi-decompositions," in Proceedings of Design Automation Conference, pp. 59--68, IEEE, 1998.
[31]
A. Mishchenko, B. Steinbach, and M. Perkowski, "An algorithm for bi-decomposition of logic functions," in Proceedings of Design Automation Conference, pp. 103--108, IEEE, 2001.
[32]
K. Karplus, Using if then-else DAGs for multi-level logic minimization. University of California Santa Cruz: Technical Report UCSC-CRL-88-29, 1988.
[33]
T. Lengauer and R. E. Tarjan, "A fast algorithm for finding dominators in a flowgraph," Transactions of Programming Languages and Systems, vol. 1, pp. 121--141, July 1979.
[34]
C. Yang, V. Singhal, and M. Ciesielski, "Bdd decomposition for efficient logic synthesis," in Proceedings of International Conference on Computer Design, pp. 626--631, 1999.
[35]
T. Sasao, "Totally undecomposable functions: Applications to efficient multiple-valued decompositions," in Proceedings of IEEE International Symposium on Multiple-Valued Logic, pp. 59--65, IEEE, 1999.
[36]
T. Sasao and M. Matsuura, "DECOMPOS: An integrated system for functional decomposition," in Proceedings of ACM/IEEE International Workshop on Logic Synthesis, 1998.
[37]
T. Sasao and S. Kajihara, "Functional decompositions using an automatic test pattern generator and a logic simulator," in Proceedings of ACM/IEEE International Workshop on Logic Synthesis, ACM/IEEE, 1999.
[38]
E. V. Dubrova, J. of C. Muzio, and B. von Stengel, "Finding composition trees for multiple-valued functions," in Proceedings of 27th International Symposium on Multiple-Valued Logic, pp. 19--26, IEEE, 1997.
[39]
E. Dubrova, "Composition trees in finding best variable orderings for ROBDDs," in Proceedings of Design, Automation & Test in Europe Conference, p. 1084, 2002.
[40]
R. H. Möhring, "Algorithmic aspects of the substitution decomposition in optimization over relations, set systems and Boolean functions," Annals of Operations Research, vol. 4, pp. 195--225, June 1985.

Cited By

View all
  1. A BDD-based fast heuristic algorithm for disjoint decomposition

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ASP-DAC '03: Proceedings of the 2003 Asia and South Pacific Design Automation Conference
    January 2003
    865 pages
    ISBN:0780376609
    DOI:10.1145/1119772
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 21 January 2003

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 466 of 1,454 submissions, 32%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 08 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Optimization of testing for complex digital devicesProcedia Computer Science10.1016/j.procs.2021.06.010190(82-89)Online publication date: 2021
    • (2019)Grover-based ashenhurst-curtis decomposition using quantum language quipperQuantum Information & Computation10.5555/3370239.337024319:1-2(35-66)Online publication date: 1-Feb-2019
    • (2013)BDS-MAJProceedings of the 50th Annual Design Automation Conference10.1145/2463209.2488792(1-6)Online publication date: 29-May-2013
    • (2011)Decomposition of systems of Boolean functions determined by binary decision diagramsJournal of Computer and Systems Sciences International10.1134/S106423071103005150:4(609-624)Online publication date: 1-Aug-2011
    • (2004)Disjoint-support Boolean decomposition combining functional and structural methodsProceedings of the 2004 Asia and South Pacific Design Automation Conference10.5555/1015090.1015252(597-599)Online publication date: 27-Jan-2004

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media