34
1 ECE 667 - Synthesis & Verification - Lecture 14 ECE 697B (667) ECE 697B (667) Spring 2006 Spring 2006 Synthesis and Verification of Digital Systems BDD-based Bi-decomposition BDD-based Bi-decomposition BDS system BDS system

ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

Embed Size (px)

DESCRIPTION

ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems. BDD-based Bi-decomposition BDS system. Outline. Review of current decomposition methods Algebraic Boolean Theory of BDD decomposition [C. Yang 1999] Bi-decomposition F = D  Q Boolean AND/OR Decomposition - PowerPoint PPT Presentation

Citation preview

Page 1: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

1ECE 667 - Synthesis & Verification - Lecture 14

ECE 697B (667)ECE 697B (667)Spring 2006Spring 2006

Synthesis and Verificationof Digital Systems

BDD-based Bi-decompositionBDD-based Bi-decomposition

BDS systemBDS system

Page 2: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 2

OutlineOutline

• Review of current decomposition methods– Algebraic – Boolean

• Theory of BDD decomposition [C. Yang 1999]

– Bi-decomposition F = D Q– Boolean AND/OR Decomposition– Boolean XOR Decomposition– MUX Decomposition

• Logic optimization based on BDD decomposition

Page 3: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 3

Functional Decomposition – previous workFunctional 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.

Page 4: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 4

Drawbacks of Traditional Synthesis MethodsDrawbacks 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

Page 5: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 5

What is wrong with Algebraic Division?What is wrong with Algebraic Division?

• Divisor and quotient are orthogonal!!• Better factored form might be:

(q1+ q2+ …+qn) (d1+d2+…+dm)

– gi and dj may share same or opposite literals

• Example:

SOP form: F = abg + acg + adf + aef + afg + bd + ce + be + cd. (23 lits)

Algebraic: F = (b + c)(d + e + ag) + (d + e +g)af. (11 lits)

Boolean: F = (af + b + c)(ag + d + e). (8 lits)

Page 6: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 6

First work, Karplus [1988]: 1-dominatorFirst work, Karplus [1988]: 1-dominator

d

10

ca

b

1 0

*

a + b c + 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

bc

d

10

1-dominator

Page 7: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 7

Karplus: 0-dominatorKarplus: 0-dominator

a

b

0 1

d

10

c

a b c 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

bc

d

10

F

0-dominator

Page 8: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 8

Bi-decomposition based on DominatorsBi-decomposition based on Dominators

• We can generalize the concept of algebraic decomposition and dominators to:• Generalized dominators• Boolean bi-decompositions (AND, OR, XOR)

• Bi-decomposition: F = D Q

• First, let’s review fundamental theorems for Boolean division and factoring.

Page 9: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 9

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

Page 10: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 10

Boolean Factor - Boolean Factor - TheoremTheorem

Theorem:

Boolean function G is a Boolean factor of Boolean function F iff F G , (i.e. FG’ = 0, or G’ F’).

FF

GGProof:: 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’.)

Notes:

- Given F and G, H is not unique. - To get a small H is the same as getting a small F + R.

Since RG = 0, this is the same as minimizing (simplifying) f with DC = G’.

Page 11: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 11

Boolean Division - Boolean Division - TheoremTheorem

Theorem: G is a Boolean divisor of F if and only if F G 0.

GGFF

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

Page 12: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 12

Boolean DivisionBoolean Division

Goal : for a given F, find D and Q such that F = Q · D.

Boolean Space

FFD

FQ

F = e + bd, D = e + d, Q = e + b

Page 13: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 13

Conjunctive (AND) DecompositionConjunctive (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’.

DDQQ F

• For a given pair (F,D), this provides a recipe for Q .

Page 14: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 14

Boolean Division Boolean Division AND decompositionAND decomposition

FFD

FQ

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’

Page 15: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 15

AND DecompositionAND Decomposition ( (F = D Q): Example Example

• Recall: given (F,D), quotient Q must satisfy: F Q F + D’.

d

e

b

0 1

F = e + bde

b

0 11

De

b

0 1

D = e + b,

d

e

b

0 1

DC

Q

d

e

0 1

Q = e + d

DC

DC

ebd

00 01 11 10

0

1

1 1

111

Q

Page 16: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 16

Disjunctive (OR) DecompositionDisjunctive (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 .

GGHH

F

Dual to conjunctive

decomposition.

Page 17: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 17

Boolean AND/OR Bi-decompositionsBoolean AND/OR Bi-decompositions

• Conjunctive (AND) decomposition

If D F, F = F D = Q D.

• Disjunctive (Disjunctive (OROR) decomposition) decomposition

If If G F, F = F + G = H + G.

• D, G = generalized dominators

Page 18: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 18

Generalized DominatorGeneralized Dominator D D

af

bb

c c

0 0

D

g

d

e

a

f

bb

c c

F

1 00

1

Boolean divisor

F = D Q

Page 19: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 19

Generalized DominatorGeneralized Dominator G G

af

bb

c c

0 0

G

g

d

e

a

f

bb

c c

F

1 00

0

Boolean “subtractor”

F = G + H

Page 20: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 20

Boolean Division Based on Boolean Division Based on Generalized DominatorGeneralized Dominator

a

f

bb

c c

0 0

D

g

d

e

a

f

bb

c c

F

1 00

g

d

e

a

f

bb

c c

Q

1

DC

0

DC

minimizeg

d

e

a

Q

10

Q = ag + d + e

1

reduce

a

f

b

c

0

D

D = af + b + c

1

Page 21: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 21

Special Case: Special Case: 1-dominator1-dominator

a

b

1 0

a + b

d

10

c

*

c + dFa

b

c

d

10

1-dominator

F = (a+b)(c+d)

Page 22: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 22

Special Case: Special Case: 0-dominators0-dominators

a

b

0 1

d

10

c

a b c da

b

c

d

10

F

0-dominator

F = ab + cd

Page 23: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 23

Algebraic Algebraic XOR XOR DecompositionDecomposition

h

F

f

h

F

f’f

+= h

f

0

hf

h

f’

0

h’f’

= complement edge = 1-edge edge

= 0-edge edge

Page 24: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 24

AlgebraicAlgebraic XOR XOR Decomposition: Decomposition: x-dominatorsx-dominators

F

1

a

d

b

c

x-dominator a+b

1

a

b

c+d

1

d

c

Page 25: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 25

Boolean Boolean XORXOR Decomposition: Decomposition: Generalized x-dominatorsGeneralized 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

Page 26: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 26

MUX MUX DecompositionDecomposition

f g

F

v 0 1

f g

F

v

f g

h

F

0 1

f gh

F

• Simple MUX decomposition

• Complex MUX

decomposition

Page 27: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 27

FunctionalFunctional MUX MUX Decomposition - example Decomposition - example

F

h

f g

F

h

f g

0 1

1

0 1

b

a

0

F

dc

F

1

d

b

a

c

0

Page 28: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 28

Synthesis FlowSynthesis FlowBoolean Network

Construct Global BDDs

Variable Reorder

Decompose BDD

Factoring Tree Processing

Technology Mapping

Construct Factoring Trees

Page 29: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 29

Factoring Tree Processing: Factoring Tree Processing:

Page 30: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 30

A Complete Synthesis ExampleA Complete Synthesis Example

Page 31: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 31

A Complete Synthesis Example (Decompose function A Complete Synthesis Example (Decompose function gg))

Page 32: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 32

A Complete Synthesis Example (Decompose function A Complete Synthesis Example (Decompose function hh))

Page 33: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 33

A Complete Synthesis Example (Sharing Extraction)A Complete Synthesis Example (Sharing Extraction)

Page 34: ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems

ECE 667 - Synthesis & Verification - Lecture 14 34

ConclusionsConclusions

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