COSMOS: a compiled simulator for MOS circuits

R. E. Bryant, D. Beatty, K. Brace, K. Cho, T. Sheffler
1987 24th ACM/IEEE conference proceedings on Design automation conference - DAC '87  
Binary decision diagrams provide a data structure for representing and manipulating Boolean functions in symbolic form. They have been especially effective as the algorithmic basis for symbolic model checkers. A binary decision diagram represents a Boolean function as a directed acyclic graph, corresponding to a compressed form of decision tree. Most commonly, an ordering constraint is imposed among the occurrences of decision variables in the graph, yielding ordered binary decision diagrams
more » ... DD). Representing all functions as OBDDs with a common variable ordering has the advantages that (1) there is a unique, reduced representation of any function, (2) there is a simple algorithm to reduce any OBDD to the unique form for that function, and (3) there is an associated set of algorithms to implement a wide variety of operations on Boolean functions represented as OB-DDs. Recent work in this area has focused on generalizations to represent larger classes of functions, as well on scaling implementations to handle larger and more complex problems. Ordered Binary Decision Diagrams (OBDDs) provide a symbolic representation of Boolean functions. They can serve as the underlying data structure to implement an abstract data type for creating, manipulating, and analyzing Boolean functions. OBDDs provide a uniform representation for operations to define simple functions and then construct representations of more complex functions via the operations of Boolean algebra, as well as function projection and composition. In the worst case, the OBDD representation of a function can be of size exponential in the number of
doi:10.1145/37888.37890 dblp:conf/dac/BryantBBCS87 fatcat:w7pcly66oreg5bxkmwrt4m43jy