Boolean Function Manipulation on a Parallel System Using BDDs

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.

[1]  Paolo Prinetto,et al.  Finding the Maximurn Clique in a Graph Using BDDs , 1993 .

[2]  Hiroyuki Ochi,et al.  Breadth-first manipulation of SBDD of boolean functions for vector processing , 1991, 28th ACM/IEEE Design Automation Conference.

[3]  Craig M. Chase,et al.  Distributed binary decision diagrams for verification of large circuits , 1996, Proceedings International Conference on Computer Design. VLSI in Computers and Processors.

[4]  M. Sonza Reorda,et al.  A data parallel approach to Boolean function manipulation using BDDs , 1994, Proceedings of the First International Conference on Massively Parallel Computing Systems (MPCS) The Challenges of General-Purpose and Special-Purpose Computing.

[5]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.

[6]  Edmund M. Clarke,et al.  A parallel algorithm for constructing binary decision diagrams , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[7]  F. Brglez,et al.  A neutral netlist of 10 combinational benchmark circuits and a target translator in FORTRAN , 1985 .

[8]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[9]  Silvano Gai,et al.  Boolean function manipulation on massively parallel computers , 1992, [Proceedings 1992] The Fourth Symposium on the Frontiers of Massively Parallel Computation.

[10]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[11]  Silvano Gai,et al.  A data parallel algorithm for Boolean function manipulation , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

[12]  David Bryan,et al.  Combinational profiles of sequential benchmark circuits , 1989, IEEE International Symposium on Circuits and Systems,.