Download presentation
Presentation is loading. Please wait.
Published byBeatrice Carroll Modified over 8 years ago
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)
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.