Binary Decision Diagrams (BDDs)
ConceptBinary Decision Diagrams (BDDs) are canonical, directed-acyclic-graph representations of Boolean functions that serve as a foundational data structure in formal hardware verification, symbolic model checking, and reactive synthesis. Reduced ordered BDDs (ROBDDs) enable efficient equivalence checking, image computation, and satisfiability analysis. BDDs underpin Polynomial Formal Verification (PFV), which achieves polynomial-time, polynomial-space verification for circuits with favorable structure (e.g., tree-like or multiplexer-derived circuits), and have been demonstrated on RISC-V cores such as RV32I and MicroRV32. State-based model checking uses BDDs together with Presburger arithmetic to compute reachable state sets via image/pre-image operations, and BDDs are the canonical data structure used by libraries such as CUDD for representing and simplifying Boolean formulas in hybrid model-checking frameworks.
WIKI
Overview
Binary Decision Diagrams (BDDs) are compact, canonical graph-based encodings of Boolean functions that have become a cornerstone of formal hardware verification, symbolic model checking, logic synthesis, and reactive synthesis. A BDD represents a Boolean function by recursively Shannon-expanding over its input variables and sharing isomorphic sub-graphs, yielding a reduced ordered binary decision diagram (ROBDD) that is canonical for a given variable ordering. This canonicality enables efficient equivalence checking, satisfiability analysis of combinational and sequential circuits, and symbolic image computations in unbounded model checking.
Use in Circuit Verification
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →