rolf drechlser’s slides used

26
Rolf Drechlser’s slides Rolf Drechlser’s slides used used Davio Gates and Kronecker Decision Diagrams Lecture 5

Upload: levana

Post on 07-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Davio Gates and Kronecker Decision Diagrams. Lecture 5. 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 F x + x’ F x’ - PowerPoint PPT Presentation

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