1 BDS: A BDD-Based Logic Optimization System “BDS: A BDD-Based Logic Optimization System”, by Congguang Yang and Maciej Ciesielski, 2000 By Chang Seok Bae
2 Outline BDD-Based Decomposition –Algebraic –Boolean Theory of BDD decomposition Conclusions
3 BDD-based decomposition Identify functional decomposition of underlying logic function Efficient multilevel logic implementations Otherwise, require ordering of variables
4 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 …) F D Q Boolean operator (AND, OR, XOR) F D F/D BDD cut
5 Algebraic vs. Boolean The decomposition is Algebraic if the supports of Q and D are disjoint Otherwise, the decomposition is Boolean
6 1-dominator d 10 c a b 10 * a + bc + d 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 10 1-dominator
7 0-dominator a b 0 1 d 10 c a bc d 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. a b c d 10 F 0-dominator
8 Drawback of previous work Weak Boolean factorization capability Difficult to identify XOR and MUX decomposition
9 Generalized dominators Generalize the concept of algebraic decomposition and dominators to: –Generalized dominators –Boolean bi-decomposition: F = D Q, –where = AND, OR, XOR
10 AND Decomposition (F = DQ) Given (F,D), quotient Q must satisfy: F Q F + D’. d e b 01 F = e + bd e b 01 1 D e b 0 1 D = e + b, d e b 01 DC Q d e 01 Q = e + d DC eb d Q
11 OR Decomposition (F = G+H) Given (F,G), disjunctive term H must satisfy: F’ H’ F’ + G.
12 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)
13 QUESTIONS ?