Applications of Binary Decision Diagrams in Logic Synthesis, Ve

May 30, 2000 - Binary expression diagrams (Andersen/Hulgaard,1997). • Advantages and ... Boole-Shannon expansion can be rewritten as. F = F. 0. + x & (F. 1. - F. 0. ) ... 9. Multiplicative BMDs. • An edge has an integer (rational) weight.
882KB taille 0 téléchargements 318 vues
ECE 510 OCE BDDs and Their Applications Lecture 18. Verification Using Specialized DDs May 30, 2000 Alan Mishchenko

Overview • Extensions of Binary Decision Diagrams – Multi-terminal BDDs (MTBDDs) (Clarke, DAC‘93) – (Multiplicative) binary moment diagrams (BMDs/*BMDs) (Bryant, DAC’95) – Edge-valued BDDs (EVBDDs) (Lai, DAC’92) – Kronecker functional decision diagrams (OKFDDs) (Drechsler/Sarabi/Perkowski, DAC’94) – Kronecker multiplicative moment diagrams (K*BMDs) (Drechsler, EDTC’96)

• Word-level DDs vs. bit level DDs for verification • Binary expression diagrams (Andersen/Hulgaard,1997) • Advantages and limitations of the specialized DDs October 25, 2004

ECE 510 OCE: BDDs and Their Applications

2

Extensions of BDDs • Representation of “pseudo-Boolean” functions: integer (real) number functions over Boolean functions • Applications: integer linear programming, matrix multiplication, spectral transforms, wordlevel analysis of digital systems

October 25, 2004

ECE 510 OCE: BDDs and Their Applications

3

Multi Terminal BDDs X 0 0 1 1

Y 0 1 0 1

October 25, 2004

F 8 -12 10 -6

X 1

0 Y

Y

0

1

8

-12

0 10

ECE 510 OCE: BDDs and Their Applications

1 -6

4

Generalization of Expansion • Boole-Shannon expansion: F = x′ & F0 + x & F1 • For numeric value functions, generalized to F = (1-x) & F0 + x & F1 • Boole-Shannon expansion can be rewritten as F = F0 + x & (F1 - F0) where Fx = F1 - F0 is the binary moment (derivitive of F w.r.t. variable x) October 25, 2004

ECE 510 OCE: BDDs and Their Applications

5

Binary Moment Diagrams (BMDs) X 0 0 1 1

Y 0 1 0 1

F 8 -12 10 -6

X 1

0 Y

Y

0

1

8

-20

0 2

1 4

F = 8(1-x)(1-y) -12(1-x)y + 10x(1-y) - 6xy = = 8 - 20y + 2x + 4xy October 25, 2004

ECE 510 OCE: BDDs and Their Applications

6

Edge-Valued BDDs • An edge has an integer weight • The weights are combined additively • The value of the function is derived by following a path from the root to a leaf and summing the edge weights encountered

October 25, 2004

ECE 510 OCE: BDDs and Their Applications

7

Example: F = X = 4x2 + 2x1 + x0 MTBDD

EVBDD

x2

x1 x0 0

x0 2

1

x2

x1 x0

x0 3

5

4

6

4 7 x1

x2

BMD

2

x1 x0

0 October 25, 2004

x0 1

2

4

0

ECE 510 OCE: BDDs and Their Applications

1 8

Multiplicative BMDs • An edge has an integer (rational) weight • The weights are combined multiplicatively • The value of the function is derived by following a path from the root to a leaf and multiplying the edge weights encountered

October 25, 2004

ECE 510 OCE: BDDs and Their Applications

9

Example: F=8-20z+2y+4yz+12x+24xz+15xy

BMD

*BMD

x y

z 8 -20 2

x 2

y z

z

y

4 12 24 15

y

2

4

z -5 October 25, 2004

3

z 2

ECE 510 OCE: BDDs and Their Applications

1

5 10

Word-Level Operation Complexity Form MTBDD EVBDD BMD *BMD K*BMD

October 25, 2004

x exp lin lin lin lin

x+y exp lin lin lin lin

x*y exp exp quadr lin lin

x2 exp exp quadr quadr quadr

ECE 510 OCE: BDDs and Their Applications

cx exp exp exp lin lin

11

Sum/Product *BMD Representation x2

F=x+y

x2

F=x*y x1

x1

4

x0

x0

2

x2

x2

x1

x1

x0 0 October 25, 2004

x0 1

2

4

0

1

ECE 510 OCE: BDDs and Their Applications

2

4 12

Unary Word-Level *BMD Operations x3

F=x x3

F=2x 255

16

x2

x2

x2

x2

15 x1

x1

0

8 x1

1

October 25, 2004

2

4

8

x1

x1

4

3

x0

F=x2

x3

x0

x0

1

0

x0 1

ECE 510 OCE: BDDs and Their Applications

x0

x0 2

4 13

*BMDs for Common Boolean Functions AND

w

OR

w

EXOR

w x

x

x

x

x

-1 y

y

-2

y

y

y

-1 z 0 October 25, 2004

1

z 0

-2

z 1

z -1

0

ECE 510 OCE: BDDs and Their Applications

z 1

-2 14

Kronecker Multiplicative (K*)BMDs • An edge has two integer (rational) weights • The weights are combined additively and multiplicatively • The value of the function is derived by following a path from the root to a leaf and adding/multiplying edge weights encountered • Three types of expansion are used: Shannon, Positive Davio, Negative Davio • Normalization rules are quite complicated October 25, 2004

ECE 510 OCE: BDDs and Their Applications

15

Expansion Rules • Shannon Expansion = a + m( (1-x)*F0 + x*F1 ) • Positive Davio Expansion = a + m( F0 + x*F1 ) • Negative Davio Expansion = a + m( F0 + (1-x)*F1 )

October 25, 2004

ECE 510 OCE: BDDs and Their Applications

16

K*BMD Normalization Rules • There is only one leaf labeled 0 • The low-edge of a node always has additive weight 0 and multiplicative weight 1 • The multiplicative weight at the high-edge is 1, if F0 = 0. If the high-edge points to the leaf, then the multiplicative weight is normalized to 1

October 25, 2004

ECE 510 OCE: BDDs and Their Applications

17

*BMD vs. K*BMD for Integer Encoding K*BMD

*BMD x0

S

x1

(0, 1) x2

nD x2 (0, 1)

x3 0

pD

x0

(0, 1) x1

(1/8, 0)

(1/4, 1)

(-1/2, 0)

8

October 25, 2004

4

2

1

pD x3 (1, 0) (0, 1) 0

ECE 510 OCE: BDDs and Their Applications

18