BDS: A BDD-Based Logic Optimization System - Efficient Multilevel Implementations
E N D
Presentation Transcript
BDS: A BDD-Based Logic Optimization System By Chang Seok Bae “BDS: A BDD-Based Logic Optimization System”, by Congguang Yang and Maciej Ciesielski, 2000
Outline • BDD-Based Decomposition • Algebraic • Boolean • Theory of BDD decomposition • Conclusions
BDD-based decomposition • Identify functional decomposition of underlying logic function • Efficient multilevel logic implementations • Otherwise, require ordering of variables
F D Q D F cut BDD F/D Boolean operator (AND, OR, XOR) Bi-decomposition • Bi-decomposition: F = D Q • uses BDD cut • The top set defines a divisor D • The bottom set defines the quotient Q (sort of …)
Algebraic vs. Boolean • The decomposition is Algebraic if the supports of Q and D are disjoint • Otherwise, the decomposition is Boolean
F a + b c + d a b c a 1-dominator c * b d d 0 0 0 1 1 1 1-dominator • 1-dominator is a node that belongs to every path from root to terminal 1. • 1-dominator defines algebraic conjunctive(AND) decomposition: F = (a+b)(c+d).
F a b c d 1 1 1 a b c a 0-dominator c b d d 0 0 0 0-dominator • 0-dominator is a node that belongs to every path from root to terminal 0. • 0-dominator defines algebraic disjunctive(OR) decomposition: F = ab + cd.
Drawback of previous work • Weak Boolean factorization capability • Difficult to identify XOR and MUX decomposition
Generalized dominators • Generalize the concept of algebraic decomposition and dominators to: • Generalized dominators • Boolean bi-decomposition: F = D Q, • where = AND, OR, XOR
F = e + bd D = e + b, D e e e e e b b b b 1 d d d Q Q = e + d 0 0 0 0 0 1 1 1 1 1 eb Q 00 01 11 10 d DC 1 1 DC 0 1 DC 1 1 1 AND Decomposition (F = DQ) • Given (F,D), quotient Q must satisfy: F Q F + D’.
OR Decomposition (F = G+H) • Given (F,G), disjunctive term H must satisfy: F’H’ F’ + G.
Conclusions • BDD-based bi-decomposition is a good alternative to traditional, algebraic logic optimization • Produces Boolean decomposition • Several types: AND, OR, XOR, MUX • BDD decomposition-based logic optimization is fast. • Stand-alone BDD decomposition scheme is not amenable to large circuits • Global BDD too large • Must partition into network of BDDs (local BDDs)