A data parallel approach to Boolean function manipulation using BDDs

The paper describes an Electronic CAD package exploiting the CM-200 architecture to manipulate boolean functions. The package exploits Binary Decision Diagrams (BDDs) to symbolically operate with boolean functions. The data parallel approach is based on distributing BDD nodes do the available Processing Elements and traversing BDDs in a breadth-first manner. The behaviour of the algorithm is studied and the results which have been obtained obtained for an application developed with the package are reported. They show that the approach exploits well the parallel hardware and is highly scalable; if implemented on state-of-the-art and fully configured systems, it could solve problems which can not be faced with conventional architectures.<<ETX>>

[1]  Fabio Somenzi,et al.  Variable ordering for binary decision diagrams , 1992, [1992] Proceedings The European Conference on Design Automation.

[2]  Silvano Gai,et al.  A BDD Package For A Massively Parallel SIMD Architecture , 1994, Proceedings. Second Euromicro Workshop on Parallel and Distributed Processing.

[3]  Chen-Shang Lin,et al.  On the OBDD-Representation of General Boolean Functions , 1992, IEEE Trans. Computers.

[4]  Farokh B. Bastani,et al.  Hash table in massively parallel systems , 1992, Proceedings Sixth International Parallel Processing Symposium.

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

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

[7]  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.

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

[9]  Ted G. Lewis,et al.  Hashing for dynamic and static internal tables , 1988, Computer.

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

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

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