# Boolean function manipulation on a parallel system using BDDs

## Abstract

This paper describes a distributed algorithm for Boolean function manipulation. The algorithm is based on Binary Decision Diagrams (BDDs), which are one of the most commonly used data structures for representing and manipulating Boolean functions. A new distributed version of a BDD data structure and a distributed implementation of the basic operator for its manipulation are presented. The algorithm is suitable to work on a MIMD architecture and is based on a message passing master-slave paradigm. A package has been written, which uses the PVM library and is portable on different architectures.

Two applications have been developed using the parallel BDD package. In both cases the results show that the new distributed version of the algorithm is able to manage BDDs much larger than the ones managed by mono-processor tools.

## Preview

Unable to display preview. Download preview PDF.

## References

- [ACMo96]P. Arunachalam, C. Chase, D. Moundanos, Distributed Binary Decision Diagrams for Verification of Large Circuits, IEEE Int. Conf. on Comp. Design, 1996, pp. 365–370Google Scholar
- [BBKo89]F. Brglez, D. Bryant, K. Kozminski,
*Combinational profiles of sequential benchmark circuit*, IEEE Int. Symp. on Circuits and Systems, 1989, pp. 1929–1934Google Scholar - [BRBr90]K. S. Brace, R. L. Rudell, R. E. Bryant,
*Efficient Implementation of a BDD Package*, 27th ACM/IEEE Design Automation Conference, 1990, pp. 40–45Google Scholar - [BrFu85]F. Brglez, H. Fujiwara,
*A neutral netlist of 10 combinational benchmark circuits and a target translator in Fortran*, IEEE Int. Symp. on Circuits and Systems, 1985Google Scholar - [Brya86]R. E. Bryant,
*Graph-Based Algorithms for Boolean Functions Manipulation*, IEEE Transactions on Computers, Vol. C-35, No. 8, 1986, pp. 677–691Google Scholar - [Brya92]R. E. Bryant,
*Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams*, ACM Computing Surveys, Vol. 24, No. 3, 1992, pp. 293–318Google Scholar - [CGRS94]G. Cabodi, S. Gai, M. Rebaudengo, M. Sonza Reorda,
*A Data-Parallel Approach to Boolean Function Manipulation using BDDs*, IEEE/Euromicro Conf. on Massively Parallel Comp. System, 1994, pp. 163–175Google Scholar - [CGSR92]G. Cabodi, S. Gai, M. Sonza Reorda,
*Boolean Function Manipulation on Massively Computers*, 4th IEEE Symposium on the Frontiers of Massively Parallel Computation, 1992, pp. 508–509Google Scholar - [CPSR93]F. Corno, P. Prinetto, M. Sonza Reorda,
*Finding the Maximum clique in a Graph using BDDs*, IEEE Int. Conf. on VLSI and CAD, 1993, pp. 269–272Google Scholar - [GRSR95]S. Gai, M. Rebaudengo, M. Sonza Reorda,
*A Data Parallel Algorithm for Boolean Function Manipulation*, 5^{th}IEEE Symposium on The Frontiers of Massively Parallel Computation, 1995, pp. 28–34Google Scholar - [KiCl90]S. Kimura, E.M. Clarke,
*A Parallel Algorithm for Constructing Binary Decision Diagrams*, IEEE Int. Conf. on Comp. Design, 1990, pp. 220–223Google Scholar - [OIYa91]H. Ochi, N. Ishiura, S. Yajima, Breadth-first Manipulation of SBDD of Boolean Functions for Vector Processing, 28
^{th}ACM/IEEE Design Automation Conference, 1991, pp. 413–416Google Scholar