Transcript
Page 1: Rolf Drechlser’s slides used

Rolf Drechlser’s slides usedRolf Drechlser’s slides used

Davio Gates and Kronecker Decision

DiagramsLecture 5

Page 2: Rolf Drechlser’s slides used

Absolutely Minimum Background on Binary Decision Diagrams (BDD) and Kronecker

Functional Decision Diagrams

• BDDs are based on recursive Shannon expansion

F = x Fx + x’ Fx’

• Compact data structure for Boolean logic– can represents sets of objects (states) encoded as Boolean

functions

• Canonical representation– reduced ordered BDDs (ROBDD) are canonical– essential for simulation, analysis, synthesis and verification

Page 3: Rolf Drechlser’s slides used

BDD Construction BDD Construction

• Typically done using APPLY operator

• Reduction rules– remove duplicate terminals– merge duplicate nodes

(isomorphic subgraphs)– remove redundant nodes

• Redundant nodes:

– nodes with identical children

10

b

10

b

c

a b

fff

a b

Page 4: Rolf Drechlser’s slides used

BDD Construction – your first BDD

• Construction of a Reduced Ordered BDD

1 edge

0 edgea b c f

0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 01 1 1 1

Truth table

f = ac + bc

Decision tree

10 0 0 1 0 10

a

b

c

b

c c c

f

Page 5: Rolf Drechlser’s slides used

BDD Construction – cont’dBDD Construction – cont’d

10

a

b

c

b

c c c

f f

10

a

b

c

b

c

10

a

b

c

f = (a+b)c

2. Merge duplicate nodes

1. Remove duplicate terminals

3. Remove redundant nodes

Page 6: Rolf Drechlser’s slides used

Decomposition typesDecomposition types

Decomposition types are associated to the variables in Xn with the help of a decomposition type list (DTL) d:=(d1,…,dn) where di { S, pD, nD}

Page 7: Rolf Drechlser’s slides used

KFDDKFDD

• Definition

Page 8: Rolf Drechlser’s slides used

Three different reductions typesThree different reductions types

Type I :

Each node in a DD is a candidate for the application

xi xi xi

gfgf

Page 9: Rolf Drechlser’s slides used

xi

xj xj

f g f g

Type S

Three different reductions types (cont’d)Three different reductions types (cont’d)

Page 10: Rolf Drechlser’s slides used

xi

xjxj

0

f g f g

Type D

Three different reductions types (cont’d)Three different reductions types (cont’d)

This is used in

functional diagrams such as KFDDs

Page 11: Rolf Drechlser’s slides used

Example for OKFDDExample for OKFDD

42131321421 xxxxxxxxxxx F=

1 x1

Page 12: Rolf Drechlser’s slides used

332421421 xxxxxxxxx

4323 xxxx

134 xx

420 xx

10 3x

X1 S-node

X2 pD-node

X3 nD-node

Example for OKFDD (cont’d)Example for OKFDD (cont’d)

This diagram below explains the expansions from previous slide

Page 13: Rolf Drechlser’s slides used

Example for OKFDD’s with Example for OKFDD’s with different DTL’sdifferent DTL’s

You can save a lot of nodes by a good DTL

Page 14: Rolf Drechlser’s slides used

Complement Edges

They can be applied for

S-nodes

They can be applied for D-nodes

This is a powerful idea in more

advanced diagrams – any operator on

representation

Page 15: Rolf Drechlser’s slides used

XOR-operation

•D-node

•S-node

Such recursive operations are a base of diagram creation

and operation

Page 16: Rolf Drechlser’s slides used

AND-operationAND-operation

Such recursive operations are a base of diagram creation

and operation

Page 17: Rolf Drechlser’s slides used

Restriction of Variables for S Restriction of Variables for S nodes is trivialnodes is trivial

xi

f g

S-node

f g

Xi=0 Xi=1

Cofactor for Xi=0 Cofactor for Xi=1

Page 18: Rolf Drechlser’s slides used

xi

f g

pD-node

f gf

Xi=0Xi=1

Restriction of Variables for D nodes Restriction of Variables for D nodes is more complex, requires XORingis more complex, requires XORing

Please remember this

Page 19: Rolf Drechlser’s slides used

xi

f g

nD-node

f gf

Xi=1 Xi=0

Restriction of Variables (cond’t)Restriction of Variables (cond’t)

Page 20: Rolf Drechlser’s slides used

Optimization of OKFDD-SizeOptimization of OKFDD-Size

• Exchange of Neighboring Variables

• DTL Sifting

Page 21: Rolf Drechlser’s slides used

Experimental ResultsExperimental Results

Page 22: Rolf Drechlser’s slides used

Experimental Results (cont’d)Experimental Results (cont’d)

Page 23: Rolf Drechlser’s slides used

DIY PROBLEM

• Use simulated annealing algorithm for choice of a better variable ordering of the OKFDD

Page 24: Rolf Drechlser’s slides used
Page 25: Rolf Drechlser’s slides used
Page 26: Rolf Drechlser’s slides used

Simple solution

•Solution space

X1 X2 X3 X4 X3 X4 X1 X2

A solution A solution

•Neighborhood structure

X1 X2 X3 X4

change

X1 X3 X2 X4

End of Lecture 5End of Lecture 5


Top Related