Algebraic decision diagrams and their applications

  title={Algebraic decision diagrams and their applications},
  author={R. Iris Bahar and Erica A. Frohm and Charles M. Gaona and Gary D. Hachtel and Enrico Macii and Abelardo Pardo and F. Somenzi},
  journal={Proceedings of 1993 International Conference on Computer Aided Design (ICCAD)},
  • R. I. BaharE. Frohm F. Somenzi
  • Published 7 November 1993
  • Computer Science
  • Proceedings of 1993 International Conference on Computer Aided Design (ICCAD)
In this paper we present theory and experiments on the algebraic decision diagrams (ADDs). These diagrams extend BDD's by allowing values from an arbitrary finite domain to be associated with the terminal nodes. We present a treatment founded in Boolean algebras and discuss algorithms and results in applications like matrix multiplication and shortest path algorithms. Furthermore, we outline possible applications of ADD's to logic synthesis, formal verification, and testing of digital systems. 

Figures and Tables from this paper

Foundations, Applications and Innovations

The properties of this data structure are discussed, its algorithmic behavior is characterized, and some prominent applications are described.

Hybrid decision diagrams

An efficient algorithm to implement arithmetic operations efficiently for hybrid decision diagrams for functions that map boolean vectors into the integers and it is proved that for the class of linear expressions, the time complexity of the algorithm is linear in the number of variables.

Lattice-based Boolean diagrams

  • Ahmed NassarF. Kurdahi
  • Computer Science
    2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC)
  • 2016
Lattice-based Boolean diagrams are presented, a graphical representation of Boolean functions that is not derived from binary decision diagrams (BDDs), as well as symbolic manipulation algorithms, which proved to be instrumental to the efficient runtime verification of software over distributed multiprocessor systems.

Timed binary decision diagrams

Experimental results demonstrate the efficiency of the TBDDs in representing circuits with both functional and timing information, and allow the symbolic manipulation of Boolean functions with timing information.

Relation Algebras, Matrices, and Multi-valued Decision Diagrams

This paper wants to show that splittings do exist in matrix algebras assuming that the underlying algebra of the coefficients provides this operation, and outline an implementation of matrix alagbras using reduced ordered multi-valued decision diagrams.


This thesis analyzes an automata-based approach to decide first-order logic with real and integer addition using a variant of Büchi auto mata to represent solutions of formulas in the above mentioned logic.

Multi-terminal decision diagrams: a data structure for numerical integration

This paper introduces multi-terminal decision diagrams (MTDDs), a generalisation of MTBDDs [15], as a data structure for representing real-valued functions whose arguments are boolean or real

Ordered binary decision diagrams

OBDDs are the state-of-the-art data structure for representing switching functions in various branches of electronic design automation.

A uniform framework for weighted decision diagrams and its implementation

  • J. OssowskiC. Baier
  • Computer Science
    International Journal on Software Tools for Technology Transfer
  • 2008
A generic framework for OBDD variants with weighted edges is introduced and a new multi-valued OBDd-variant, called normalized algebraic decision diagram, is introduced, which supports min/max-operations and turns out to be very useful for, e.g., integer linear programming and model checking probabilistic systems.

Data Representation and Efficient Solution: A Decision Diagram Approach

This work discusses both explicit and symbolic algorithms for state-space generation, CTL model-checking, and continuous-time Markov chain solution for the analysis of large discrete-state models.



Verification of Synchronous Sequential Machines Based on Symbolic Execution

An original method to compare two synchronous sequential machines consisting in a breadth first traversal of the product machine during which symbolic expressions of its observable behaviour are computed.

Implicit state enumeration of finite state machines using BDD's

The method offers a simple notational framework to express the basic operations used in BDD-based state enumeration algorithms in a unified way and a set of techniques that can speed up range computation dramatically, including a variable ordering heuristic and a method based on transition relations.

Graph-Based Algorithms for Boolean Function Manipulation

  • R. Bryant
  • Computer Science
    IEEE Transactions on Computers
  • 1986
Experimental results from applying a new data structure for representing Boolean functions and an associated set of manipulation algorithms to problems in logic design verification demonstrate the practicality of this approach.

Sequential circuit verification using symbolic model checking

The temporal logic model algorithm of E.M. Clarke is modified to represent a state graph using binary decision diagrams (BDDs), which captures some of the regularity in the state space of sequential circuits with data path logic, and it is possible to handle a number of important liveness and fairness properties.

Spectral Transforms for Large Boolean Functions with Applications to Technology Mapping

This paper shows how to compute concise representations of the Walsh transform for functions with several hundred variables and obtains a speed up of as much as 50% for the matching phase.

The Design and Analysis of Computer Algorithms

This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.

ATPG aspects of FSM verification

Algorithms are presented for finite state machine (FSM) verification and image computation which improve on the results of O. Coudert et al (1989), giving 1-4 orders of magnitude speedup. Novel

Efficient implementation of a BDD package

A package for manipulating Boolean functions based on the reduced, ordered, binary decision diagram (ROBDD) representation is described, based on an efficient implementation of the if-then-else (ITE) operator.

Algorithms for Approximate FSM Traversal

Algorithms for approximate FSM traversal based on state space decomposition, based on the exploration of the FSM latch connection graph, and applications to sequential optimization and behavioral verification of FSM's are described.

A symbolic algorithm for maximum flow in 0-1 networks

  • G. HachtelF. Somenzi
  • Computer Science, Mathematics
    Proceedings of 1993 International Conference on Computer Aided Design (ICCAD)
  • 1993
The main idea is to trace (implicitly) sets of edge-disjoint augmenting paths that are enforced by solving an edge matching problem for each layer of the network with the help of newly defined priority functions.