skip to main content
10.1145/2024724.2024866acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

Implicit permutation enumeration networks and binary decision diagrams reordering

Published: 05 June 2011 Publication History

Abstract

Ordered Binary Decision Diagrams are a canonical representation of Boolean functions that is at the core of most formal verification systems and silicon compilers. Canonicity enables efficiency of manipulation but comes at the cost of fixing a variable evaluation order and predictably, BDD sizes are very sensitive to the selected order. The state-of-the-art reordering algorithms are based on transpositions of consecutive variables (swaps). Exact algorithms enumerate all possible n! permutations by performing a series of at least n! -- 1 swaps, while heuristics typically either search for the optimum location of each variable independently (sifting) or utilize exact algorithms as a subroutine (k-window.) In this work we reduce the problem of variable ordering to that of obtaining a permutation enumeration transposition network. Our proposed network avoids traversing all n! permutations by exploiting structural properties of BDDs and requires the execution of fewer than 4n swaps sequentially instead of n! -- 1. For the practically interesting cases of n = 4,5 our algorithm requires only 11 (resp 59) sequential swaps instead of 23 (resp 119). We also propose an algorithm for moving between arbitrary variable orderings that executes at most n swaps sequentially, an improvement upon (n2). Results suggest speedups of 162%, 308%, > 10X over the k -- window heuristic for k = 4, 6,8 and near-linear speedups when moving between orderings.

References

[1]
S. B. Akers, "Binary Decision Diagrams," IEEE Transactions on Computers, no. 27, pp. 509--516, 1978.
[2]
R. E. Bryant, "Graph-based algorithms for boolean function manipulation," IEEE Transactions on Computers, pp. 35--8, 1986.
[3]
M. Held and R. M. Karp, "A dynamic programming approach to sequencing problems," Journal of SIAM, no. 10, pp. 196--210, 1962.
[4]
B. Bolig and I. Wegener, "Improving the variable ordering of OBDDs is NP-complete," IEEE Transactions on Computers, no. 45, pp. 993--1002, 1996.
[5]
N. Ishiura, H. Sawada, and S. Yajima, "Minimization of binary decision diagrams based on exchange of variables," in International Conference on Computer-Aided Design, 1991, pp. 472--475.
[6]
R. Rudell, "Dynamic variable ordering for ordered binary decision diagrams," in Proceedings of IEEE/ACM International Conference on Computer-Aided Design, 1993, pp. 42--47.
[7]
K. S. Brace, R. L. Rudell, and R. E. Bryant, "Efficient implementation of a BDD package," in Design Automation Conference, 1990, pp. 40--45.
[8]
S. J. Friedman and K. J. Supowit, "Finding the optimal variable ordering for binary decision diagrams," IEEE Transactions on Computers, no. 39, pp. 710--713, 1990.
[9]
D. Knuth, "The Art of Computer Programming, Vol 4A: Combinatorial Algorithms, Part 1." Addison-Wesley Professional, 2011.
[10]
S. Panda and F. Somenzi, "Who are the variables in your neighborhood," in International Conference on Computer-Aided Design, 1995, pp. 74--77.
[11]
S. Panda, F. Somenzi, and B. F. Plessier, "Symmetry detection and dynamic variable ordering of decision diagrams," in International Conference on Computer-Aided Design, 1994, pp. 628--631.
[12]
B. Bollig, M. Lobbing, and I. Wegener, "Simulated annealing to improve variable orderings for OBDDs," in International Workshop on Logic and Synthesis, 1995.
[13]
R. Drechsler, B. Becker, and N. Gockel, "A genetic algorithm for variable ordering of OBDDs," in IEE Proceedings of Computers and Digital Techniques, 1996, pp. 364--368.
[14]
E. Felt, G. York, R. Brayton, and A. Sangiovanni-Vincentelli, "Dynamic variable reordering for BDD minimization," in European Design Automation Conference. IEEE, 1993, pp. 130--135.
[15]
M. Fujita, Y. Matsunaga, and T. Kakuda, "On variable ordering of binary decision diagrams for the application of multi-level synthesis," in European Conference on Design Automation, 1991, pp. 50--54.
[16]
C. Meinel and A. Slobodova, "Speeding up variable reordering of OBDDs," in International Conference on Computer Design. IEEE, 1997, pp. 338--343.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
DAC '11: Proceedings of the 48th Design Automation Conference
June 2011
1055 pages
ISBN:9781450306362
DOI:10.1145/2024724
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: 05 June 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. BDDs
  2. permutation networks
  3. reordering

Qualifiers

  • Research-article

Conference

DAC '11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,770 of 5,499 submissions, 32%

Upcoming Conference

DAC '25
62nd ACM/IEEE Design Automation Conference
June 22 - 26, 2025
San Francisco , CA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 100
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

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