Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)"— Presentation transcript:

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

2 Overview Previous work o Limitations Theory of BDD decomposition o Using structure of BDD to identify decomposition o AND/OR decomposition o Other decompositions – XOR, MUX Comparison of BDS with algebraic methods o Theoretical differences o Performance comparison 2

3 Functional Decomposition – previous work Ashenhurst [1959], Curtis [1962] o Tabular method based on cut: bound/free variables o BDD implementation: Lai et al. [1993, 1996], Chang et al. [1996] Stanion et al. [1995] Roth, Karp [1962] o Similar to Ashenhurst, but using cubes, covers o Also used by SIS Factorization based o SIS, algebraic factorization using cube notation o Bertacco et al. [1997], BDD-based recursive bidecomp. Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 3

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

5 Using Structure of BDDs to identify decompositions – First Work : Karplus [1988]: 1-dominator Definition: 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 d 10 c a b 10 * a + bc + d Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 5

6 Karplus: 0-dominator Definition: 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 a b 0 1 d 10 c a bc d Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 6

7 Non-Disjoint Bi-Decomposition Bi-decomposition: F = D  Q o uses BDD cut – a partition wherein the root node and the terminal nodes lie on opposite sides o The top set defines a divisor D o The bottom set defines the quotient Q (sort of …) F D F/D BDD cut Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 7

8 Boolean Factor - Theorem Theorem: Boolean function G is a Boolean factor of Boolean function F, iff F  G, (i.e. FG’ = 0, or G’  F’). F G Example: F = a + bc; G = (a+c) F=(a+b)(a+c); R=0 Proof:  : G is a Boolean factor of F. Then  H s.t. F = GH; Hence, F  G (as well as F  H).  : F  G  F = GF = G(F + R) = GH. (Here R is any function R  G’) 8

9 Boolean Division Goal : for a given F, find D and Q such that F = Q · D. Boolean Space F F D F Q F = e + bd, D = e + d, Q = e + b Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 9

10 Conjunctive (AND) Decomposition Conjunctive (AND) decomposition: F = D Q. Theorem: Boolean function F has conjunctive decomposition iff F  D. For a given choice of D, the quotient Q must satisfy: F  Q  F + D ’. DQ F For a given pair (F,D), this provides a recipe for Q. Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 10

11 AND Decomposition ( Example AND Decomposition (F = D Q) Example Recall: 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 00 01 11 10 0101 11 111 Q Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 11

12 Disjunctive (OR) Decomposition Disjunctive (OR) decomposition: F = G + H. Theorem: Boolean function F has disjunctive decomposition iff G  F. For a given choice of G, the term H must satisfy: F ’  H ’  F ’ + G. For a given (F,G), this provides a recipe for H. GH F Dual to conjunctive decomposition. Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 12

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 Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 13

14 Generalized Dominator D a f b b cc 0 0 D g d e a f b b cc F 1 0 0 1 Boolean divisor F = D Q Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 14

15 Generalized Dominator G a f b b cc 0 0 G g d e a f b b cc F 1 0 0 0 Boolean “subtractor” F = G + H Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 15

16 Boolean Division based on Generalized Dominator a f b b cc 0 0 D g d e a f b b cc F 1 0 0 g d e a f b b cc Q 1 DC 0 minimize g d e a Q 1 0 Q = ag + d + e 1 reduce a f b c 0 D D = af + b + c 1 Adapted from Logic Synthesis, Part III - Prof. Maciej Ciesielski, University of Massachusetts, Amherst. 16

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

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

19 Key Differences - BDS and Algebraic Decomposition AlgebraicBDS Only disjoint decomposition.Can do non-disjoint decomposition. Works on the entire network, does iterative factorization. Before decomposition, the network is divided into local BDDs. Logic simplification by methods like two level logic minimization. Logic simplification by variable reordering. Looks at number of literals to perform elimination. Looks at number of nodes. Concentrates on AND/OR decomposition. Checks for all types of decomposition, AND/OR, XOR, MUX. 19

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 20

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

22 THANK YOU 22

23 Questions ??. 23


Download ppt "BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)"

Similar presentations


Ads by Google