Efficient implementation of a BDD package
Brace, K.S.; Rudell, R.L.; Bryant, R.E.
Design Automation Conference, 1990. Proceedings., 27th ACM/IEEE
Volume , Issue , 24-28 Jun 1990 Page(s):40 - 45
Digital Object Identifier 10.1109/DAC.1990.114826
Summary:Efficient manipulation of Boolean functions is an important
component of many computer-aided design tasks. A package for
manipulating Boolean functions based on the reduced, ordered, binary
decision diagram (ROBDD) representation is described. The package is
based on an efficient implementation of the if-then-else (ITE) operator.
A hash table is used to maintain a strong canonical form in the ROBDD
and memory use is improved by merging the hash table and the ROBDD into
a hybrid data structure. A memory function for the recursive ITE
algorithm is implemented using a hash-based cache to decrease memory
use. Memory function efficiency is improved by using rules that detect
when equivalent functions are computed. The usefulness of the package is
enhanced by an automatic and low-cost scheme for recycling memory.
Experimental results are given to demonstrate why various implementation
trade-offs were made. These results indicate that the package described
is significantly faster and more memory-efficient than other ROBDD
implementations described in the literature
View citation and abstract |