230 likes | 492 Views
BDS – A BDD Based Logic Optimization System. Presented by Nitin Prakash (ECE 667, Spring 2011). Overview. Previous work Limitations Theory of BDD decomposition Using structure of BDD to identify decomposition AND/OR decomposition Other decompositions – XOR, MUX
E N D
BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)
Overview • Previous work • Limitations • Theory of BDD decomposition • Using structure of BDD to identify decomposition • AND/OR decomposition • Other decompositions – XOR, MUX • Comparison of BDS with algebraic methods • Theoretical differences • Performance comparison
Functional Decomposition – previous work • Ashenhurst [1959], Curtis [1962] • Tabular method based on cut: bound/free variables • BDD implementation: • Lai et al. [1993, 1996], Chang et al. [1996] • Stanionet al. [1995] • Roth, Karp [1962] • Similar to Ashenhurst, but using cubes, covers • Also used by SIS • Factorization based • SIS, algebraic factorization using cube notation • Bertaccoet al. [1997], BDD-based recursive bidecomp. Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Limitations of current decomposition methods • Algebraic factorization - optimal results for AND/OR intensive functions. not satisfactory for arithmetic, XOR-intensive logic functions . • Boolean factorization techniques perform better, but not used due to high computational complexity. • Data structure used to represent Boolean functions: cube representation – not suitable to identify XOR / MUX decompositions. • Different platforms for Boolean operations and factorization.
Using Structure of BDDs to identify decompositions – First Work : Karplus [1988]: 1-dominator F a + b c + d a b c a 1-dominator c * b d d 0 0 0 1 1 1 • Definition: 1-dominatoris a node that belongs to every path from root to terminal1. • 1-dominatordefines algebraic conjunctive(AND)decomposition: F = (a+b)(c+d). Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Karplus: 0-dominator F a b c d 1 1 1 a b c a 0-dominator c b d d 0 0 0 • Definition: 0-dominatoris a node that belongs to every path from root to terminal0. • 0-dominatordefines algebraic disjunctive(OR)decomposition:F = ab + cd. Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Non-Disjoint Bi-Decomposition F D cut BDD F/D • Bi-decomposition: F = D Q • usesBDD cut – a partition wherein the root node and the terminal nodes lie on opposite sides • Thetop setdefines a divisor D • Thebottom setdefines the quotient Q (sort of …) Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Boolean Factor - Theorem G F Theorem:Boolean functionGis aBoolean factorofBoolean functionF,iffF G, (i.e.FG’= 0, orG’ F’). Example: F = a + bc; G = (a+c) F=(a+b)(a+c); R=0 Proof: : G is a Boolean factor ofF. Then Hs.t.F = GH; Hence,F G(as well asF H). : F G F = GF = G(F + R) = GH. (HereRis any functionR G’) Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Boolean Division Boolean Space D Q F F F Goal : for a given F, find D and Q such that F = Q · D. F = e + bd, D = e + d, Q = e + b Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Conjunctive (AND) Decomposition Q D F • Conjunctive (AND) decomposition:F = D Q. • Theorem: Boolean function F has conjunctive decomposition iffF D. For a given choice ofD, the quotientQmust satisfy:F Q F + D’. • For a given pair (F,D),this provides a recipe for Q . Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
AND Decomposition (F = D Q) Example 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 • Recall: given (F,D), quotientQmust satisfy:F Q F + D’. Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Disjunctive (OR) Decomposition F H G • Disjunctive (OR) decomposition:F = G + H. • Theorem: Boolean function F has disjunctive decomposition iffG F. For a given choice of G, the term H must satisfy:F’ H’ F’ + G. Dual to conjunctive decomposition. • For a given (F,G),this provides a recipe for H . Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Boolean AND/OR Bi-decompositions • Conjunctive(AND)decomposition If FD, F = F D = Q D. • Disjunctive(OR)decomposition If GF, F = F + G = H + G. • D, G =generalized dominators Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Generalized Dominator D F a D f a b b f c c b b g c c d e 0 0 1 1 0 0 Boolean divisor F = D Q Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Generalized Dominator G F a G f a b b f c c b b g c c d e 0 0 0 1 0 0 Boolean “subtractor” F = G + H Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Boolean Division based on Generalized Dominator D = af + b + c Q F D D a a a a f f reduce b b b f f c c c b b b b 0 0 1 0 c c c c g Q d a Q = ag + d + e e minimize g g 1 0 0 d d e e 1 0 1 0 DC DC 1 Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.
Restricting the number of cuts • Check only horizontal cuts (to limit computational complexity). • Valid cuts – cuts with at least one leaf edge. Why ?? • Equivalent cuts – Two cuts are 0 – equivalent if they contain the same set of edges directed to 0. (Similarly, 1-equivalent). • Theorem – All Boolean divisors of a conjunctive division obtained from 0 – equivalent cuts, are identical. Similarly, all Boolean divisors of a disjunctive division obtained from 1 – equivalent cuts are equivalent.
Other Decompositions • Similar structures can be identified in the BDD for efficient algebraic and Boolean XOR decompositions. (Nodes with complement edges are identified and decomposition implemented as XNOR) • BDD structure inherently suits MUX decomposition. (F = hf + h’g)
Performance Benefits – BDS over SIS • For AND/OR intensive functions • Faster • Uses fewer gates • Slight increase in area due to use of XOR gates. • For arithmetic and XOR intensive functions • Huge benefit in all areas
References • Congguang Yang and Maciej Ciesielski, “BDS: A BDD-Based Logic Optimization System”, IEEE transactions on computer aided design of integrated circuits and systems, Vol. 21, No.7, July 2002, pp. – 866 -876 • Maciej Ciesielski, “Logic Synthesis Part III”, Department of Electrical and Computer Engineering, University of Massachusetts, Amherst.