Graph-Based Algorithms for Boolean Function Manipulation

In this paper we present a new data structure for representing Boolean functions and an associated set of manipulation algorithms. Functions are represented by directed, acyclic graphs in a manner similar to the representations introduced by Lee [1] and Akers [2], but with further restrictions on the ordering of decision variables in the graph. Although a function requires, in the worst case, a graph of size exponential in the number of arguments, many of the functions encountered in typical applications have a more reasonable representation. Our algorithms have time complexity proportional to the sizes of the graphs being operated on, and hence are quite efficient as long as the graphs do not grow too large. We present experimental results from applying these algorithms to problems in logic design verification that demonstrate the practicality of our approach.

[1]  K. N. Dollman,et al.  - 1 , 1743 .

[2]  Claude E. Shannon,et al.  A symbolic analysis of relay and switching circuits , 1938, Transactions of the American Institute of Electrical Engineers.

[3]  H. Brück Cosmology , 1951, Peirce's Pragmatism.

[4]  C. Y. Lee Representation of switching circuits by binary-decision programs , 1959 .

[5]  Robert O. Winder,et al.  Majority Gate Networks , 1964, IEEE Trans. Electron. Comput..

[6]  D. H. Jacobsohn,et al.  A Suggestion for a Fast Multiplier , 1964, IEEE Trans. Electron. Comput..

[7]  Gerard O'Regan Texas Instruments , 1964, Nature.

[8]  James S. Jephson,et al.  A Three-Value Computer Design Verification System , 1969, IBM Syst. J..

[9]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[10]  R. W. Payne Reticulation and Other Methods of Reducing the Size of Printed Diagnostic Keys , 1977 .

[11]  Erik Meineche Schmidt,et al.  The Complexity of Equivalence and Containment for Free Single Variable Program Schemes , 1978, ICALP.

[12]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

[13]  M. Garey Johnson: computers and intractability: a guide to the theory of np- completeness (freeman , 1979 .

[14]  David S. Johnson,et al.  Computers and Inrracrobiliry: A Guide ro the Theory of NP-Completeness , 1979 .

[15]  J. Paul Roth,et al.  Computer Logic Testing And Verification , 1980 .

[16]  Harold Abelson,et al.  Information transfer and area-time tradeoffs for VLSI multiplication , 1980, CACM.

[17]  R. G. Bennetts,et al.  Introduction to Switching Theory and Logical Design , 1981 .

[18]  H. T. Kung,et al.  The Area-Time Complexity of Binary Multiplication , 1981, JACM.

[19]  Bernard M. E. Moret,et al.  Decision Trees and Diagrams , 1982, CSUR.

[20]  John Y. Hsu Computer Logic , 1988, Springer New York.