1 / 23

BDS – A BDD Based Logic Optimization System

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

kallima
Download Presentation

BDS – A BDD Based Logic Optimization System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)

  2. 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

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. Boolean AND/OR Bi-decompositions • Conjunctive(AND)decomposition If FD, F = F D = Q D. • Disjunctive(OR)decomposition If GF, F = F + G = H + G. • D, G =generalized dominators Adapted from LogicSynthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst.

  14. 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.

  15. 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.

  16. 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.

  17. 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.

  18. 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)

  19. Key Differences - BDS and Algebraic Decomposition

  20. 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

  21. 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.

  22. THANK YOU

  23. Questions ??.

More Related