Boolean function manipulation on a parallel system using BDDs

  • F. Bianchi
  • F. Corno
  • M. Rebaudengo
  • M. Sonza Reorda
  • R. Ansaloni
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1225)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [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
  2. [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
  3. [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
  4. [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
  5. [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
  6. [Brya92]
    R. E. Bryant, Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams, ACM Computing Surveys, Vol. 24, No. 3, 1992, pp. 293–318Google Scholar
  7. [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
  8. [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
  9. [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
  10. [GRSR95]
    S. Gai, M. Rebaudengo, M. Sonza Reorda, A Data Parallel Algorithm for Boolean Function Manipulation, 5th IEEE Symposium on The Frontiers of Massively Parallel Computation, 1995, pp. 28–34Google Scholar
  11. [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
  12. [OIYa91]
    H. Ochi, N. Ishiura, S. Yajima, Breadth-first Manipulation of SBDD of Boolean Functions for Vector Processing, 28th ACM/IEEE Design Automation Conference, 1991, pp. 413–416Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • F. Bianchi
    • 1
  • F. Corno
    • 1
  • M. Rebaudengo
    • 1
  • M. Sonza Reorda
    • 1
  • R. Ansaloni
    • 2
  1. 1.Dip. Automatica e InformaticaPolitecnico di TorinoTorinoItaly
  2. 2.Silicon GraphicsItaly

Personalised recommendations