Presentation is loading. Please wait.

Presentation is loading. Please wait.

Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA.

Similar presentations


Presentation on theme: "Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA."— Presentation transcript:

1 Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski ciesiel@ecs.umass.edu Univ. of Massachusetts Amherst, MA

2 Logic Synthesis 3 2 Non-Disjoint Bi-Decomposition A systematic method to perform non-disjoint decomposition Bi-decomposition: F = D  Q – –uses BDD cut, but there is no concept of bound set / free set – –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

3 Logic Synthesis 3 3 Outline Review of current decomposition methods – –Algebraic – –Boolean Theory of BDD decomposition [Yang, Ciesielski 1999, 2000] – –Bi-decomposition F = D  Q – –Boolean AND/OR Decomposition – –Boolean XOR Decomposition – –MUX Decomposition Logic optimization based on BDD decomposition

4 Logic Synthesis 3 4 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] Stanion et al. [1995] Roth, Karp [1962] – –Similar to Ashenhurst, but using cubes, covers – –Also used by SIS Factorization based – –SIS, algebraic factorization using cube notation – –Bertacco et al. [1997], BDD-based recursive bidecomp.

5 Logic Synthesis 3 5 Drawbacks of Traditional Synthesis Methods Weak Boolean factorization capability. Difficult to identify XOR and MUX decomposition. Separate platforms for Boolean operations and factorization. Our goal: use a common platform to carry out both Boolean operations and factorization: BDD’s

6 Logic Synthesis 3 6 First work, Karplus [1988]: 1-dominator d 10 c a b 10 * a + bc + d 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

7 Logic Synthesis 3 7 Karplus: 0-dominator a b 0 1 d 10 c a bc d 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

8 Logic Synthesis 3 8 Bi-decomposition based on Dominators Generalize the concept of algebraic decomposition and dominators to: Generalized dominators Boolean bi-decomposition: F = D  Q, where  = AND, OR, XOR First, let’s review fundamental theorems for Boolean division and factoring.

9 Logic Synthesis 3 9 Boolean Division Definitions G is a Boolean divisor of F if there exist H and R such that F = G H + R, and G H  0. G is said to be a factor of F if, in addition, R=0, that is: F = G H. where H is the quotient, R is the remainder. Note: H and R may not be unique.

10 Logic Synthesis 3 10 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’)

11 Logic Synthesis 3 11 Boolean Division - Theorem Theorem: G is a Boolean divisor of F if and only if F G  0. GF Proof:  : F = GH + R, GH  0  FG = GH + GR. Since GH  0, FG  0.  : Assume that FG  0. F = FG + FG’ = G(F + K) + FG’. (Here K  G’.) Then F = GH + R, with H = F + K, R = FG’. Since GH = FG  0, then GH  0. Note: F has many divisors. We are looking for a G such that F = GH + R, where G, H, R are simple functions (simplify F with DC = G’) Example: F = ab+ac+bc; G = b+c F= a(b+c)+bc; R=bc

12 Logic Synthesis 3 12 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

13 Logic Synthesis 3 13 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.

14 Logic Synthesis 3 14 Boolean Division AND decomposition Boolean Division  AND decomposition F F D F Q F = e + bd, Q = e + b  F + D’ Boolean Space D = e + d, Given function F and divisor D  F, find Q such that: F  Q  F + D’. D’

15 Logic Synthesis 3 15 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

16 Logic Synthesis 3 16 Disjunctive (OR) Decomposition Disjunctive (OR) decomposition: F = G + H. Theorem: Boolean function F has disjunctive decomposition iff F  G. 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.

17 Logic Synthesis 3 17 Boolean AND/OR Bi-decompositions Conjunctive (AND) decomposition If D  F, F = F D = Q D. Disjunctive (OR) decompositionDisjunctive (OR) decomposition If If G  F, F = F + G = H + G. D, G = generalized dominators

18 Logic Synthesis 3 18 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

19 Logic Synthesis 3 19 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

20 Logic Synthesis 3 20 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

21 Logic Synthesis 3 21 Special Case: 1-dominator a b 10 a + b d 10 c * c + d F a b c d 10 1-dominator F = (a+b)(c+d)

22 Logic Synthesis 3 22 Special Case: 0-dominators a b 0 1 d 10 c a bc d a b c d 10 F 0-dominator F = ab + cd

23 Logic Synthesis 3 23 Algebraic XOR Decomposition h F f h F f’f + = h f 0 hf h f’ 0 h’f’ = complement edge = 1-edge edge = 0-edge edge

24 Logic Synthesis 3 24 Algebraic XOR Decomposition: x-dominators F 1 a d b c x-dominator a+b 1 a b c+d 1 d c

25 Logic Synthesis 3 25 Boolean XOR Decomposition: Generalized x-dominators Given F and G, there exists H : F = G  H; H = F  G. F 1 a d b c c Generalized x-dominator c d 1 G 1 H a d b c

26 Logic Synthesis 3 26 MUX Decomposition f g F v 0 1 f g F v f g h F 0 1 f g h F Simple MUX decomposition Complex MUX decomposition

27 Logic Synthesis 3 27 Functional MUX Decomposition - example F h f g F h f g 01 1 01 b a 0 F d c F 1 d b a c 0

28 Logic Synthesis 3 28 Synthesis Flow Boolean Network Construct Global BDDs Variable Reorder Decompose BDD Factoring Tree Processing Technology Mapping Construct Factoring Trees

29 Logic Synthesis 3 29 Factoring Tree Processing:

30 Logic Synthesis 3 30 A Complete Synthesis Example

31 Logic Synthesis 3 31 A Complete Synthesis Example (Decompose function g)

32 Logic Synthesis 3 32 A Complete Synthesis Example (Decompose function h)

33 Logic Synthesis 3 33 A Complete Synthesis Example (Sharing Extraction)

34 Logic Synthesis 3 34 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)


Download ppt "Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA."

Similar presentations


Ads by Google