Improving the efficiency of BDD-based operators by means of partitioning
Binary decision diagrams (BDD's) are a state-of-the-art core technique for the symbolic representation and manipulation of Boolean functions, relations and finite sets. Many computer-aided design (CAD) applications resort to them, but size and time efficiency restrict their applicability to medium-small designs. We concentrate on complex operators used in symbolic manipulation. We analyze and optimize their performance by means of new dynamic partitioning strategies. We propose a novel quick algorithm for the estimation of cofactor size, and a technique to choose splitting variables according to their discrimination power, so that their cofactors may be optimized by different variable orderings (tending to the more flexible FBDD's), Furthermore, we analyze time efficiency and the impact of hashing/caching on BDD-based operators, We finally include an experimental observation of memory usage and running time for operators applied in symbolic manipulation.
binary decision diagrams (bdd's) finite state machines (fsm's) reachability analysis partitioning