Algorithms and data structure in VLSI design. DBDD - foundations and applications
Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science (68-01) Computer system organization (68M99) Data structures (68P05) Database theory (68P15) Parallel algorithms in computer science (68W10) Hardware implementations of nonnumerical algorithms (VLSI algorithms, etc.) (68W35)
Assume the Boolean variables \(a,b,c, \dots\) are combined to form a Boolean expression. Arbitrarily designate \(a\) as variable 1, \(b\) as variable 2, \(c\) as variable \(3, \dots\) Place \(a\) at the root of a binary tree; place \(b\) at the two successor nodes of node \(a\), place \(c\) at the successor nodes of nodes \(b, \dots\) For a Boolean expression with \(n\) variables, this representation gives rise to a complete binary tree with \(2^n-1\) internal nodes. Successor nodes at level \(n+1\) are leaf nodes of the complete binary tree and have the value 1 to represent ``True, 0 to represent ``False. To construct a binary decision diagram (BDD), arbitrarily designate the left branch from an internal node as the ``True branch, the right branch as the ``False branch. A Boolean expression involving the variables \(a,b,c, \dots\) is represented by assigning a leaf node with value 0 or 1 based on the value obtained by traversing the path from the root node to the leaf. For example, all leaf nodes of the Boolean expression \(a+b +c\) except the right most leaf node are assigned the value 1; the right most node of the tree is assigned the value 0. Placing an order on the variables as they are assigned to the levels of the three gives rise to an ordered binary decision diagram (OBDD). This representation is exponential in the number of variables in the expression (if each bit of a 32 bit or 64 bit operand is a Boolean variable, the representation becomes unmanageable.) For OBDDs to be useful in practical applications, it is necessary to reduce the complete binary trees to ``tall, skinny trees. In general, multiple OBDDs exist for a Boolean expression. The ordering of nodes, i.e. the selection of the variable associated with the root node, its successor variable, etc., generally has considerable affect on the form of the resulting OBDD. From the \(n!\) different variable orderings, the problem is to select an ordering that gives rise to an OBDD representation that is ``reasonable in some sense. The book consists of an extensive introduction, detailed sections on OBDDs, sections on applications and literature references. Time and space complexities are presented as are reduction algorithms and heuristics for optimizing variable order. Algorithms exist to reduce complete OBDDs both in height and breadth. Heuristics exist to help select a node ordering. Canonical forms exist for basic Boolean expressions. Circuits consisting of many Boolean expressions may be reduced and/or verified by OBDD algorithms.
- Reduction of OBDDs in linear time
- A rewriting approach to binary decision diagrams
- Resolution and binary decision diagrams cannot simulate each other polynomially
- Binary decision diagrams in theory and practice
- Design of experiments and evaluation of BDD ordering heuristics
- Using ordered binary decision diagrams to factorize multi-level logic
- Minimization of binary decision diagrams for systems of incompletely defined Boolean functions
- On the computation of the Möbius transform
- Tree compression with top trees
- Bounded model checking of infinite state systems
- Better upper bounds on the QOBDD size of integer multiplication
- Extended resolution simulates binary decision diagrams
- XML compression via directed acyclic graphs
- Minimizing binary decision diagrams for systems of incompletely defined Boolean functions using algebraic cofactor expansions
- Worst case examples for operations on OBDDs
- Superpositional graphs and finding the description of structure by counting method
- Design of arbiters and allocators based on multi-terminal BDDs
- Binary decision diagrams
- On a class of decision diagrams
- Decomposition of systems of Boolean functions determined by binary decision diagrams
- scientific article; zbMATH DE number 3896340 (Why is no real title available?)
- Graph-Based Algorithms for Boolean Function Manipulation
- Decomposition representations of logical equations in problems of inversion of discrete functions
- Algorithms and data structures in VLSI design. Transl. from the German
- From databases to hypermedia. With 26 CAI lessons
- Multimedia course data base systems. Incl. 1 CD-ROM
- scientific article; zbMATH DE number 2077136 (Why is no real title available?)
- History-based dynamic BDD minimization
- A theoretical and numerical analysis of the worst-case size of reduced ordered binary decision diagrams
- Compact representations of all members of an independence system
- scientific article; zbMATH DE number 7300350 (Why is no real title available?)
- scientific article; zbMATH DE number 7301717 (Why is no real title available?)
- ON OBDD-BASED ALGORITHMS AND PROOF SYSTEMS THAT DYNAMICALLY CHANGE THE ORDER OF VARIABLES
- Formal verification of three-valued digital waveforms
- Experimental study of algorithms for minimization of binary decision diagrams using algebraic representations of cofactors
- On the role of logical separability in knowledge compilation
- On the complexity of computing the shuffled inequality function in classical and quantum NOBDDs
- Quantum algorithm for finding the optimal variable ordering for binary decision diagrams
- A symbolic shortest path algorithm for computing subgame-perfect Nash equilibria
- Connecting knowledge compilation classes and width parameters
- Decomposition of a system of incompletely specified Boolean functions defined with a binary decision diagram
This page was built for publication: Algorithms and data structure in VLSI design. DBDD - foundations and applications
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4388806)