rolf drechlser’s slides used

Post on 07-Jan-2016

25 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

Rolf Drechlser’s slides usedRolf Drechlser’s slides used

Davio Gates and Kronecker Decision

DiagramsLecture 5

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

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

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

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

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}

KFDDKFDD

• Definition

Three different reductions typesThree different reductions types

Type I :

Each node in a DD is a candidate for the application

xi xi xi

gfgf

xi

xj xj

f g f g

Type S

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

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

Example for OKFDDExample for OKFDD

42131321421 xxxxxxxxxxx F=

1 x1

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

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

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

XOR-operation

•D-node

•S-node

Such recursive operations are a base of diagram creation

and operation

AND-operationAND-operation

Such recursive operations are a base of diagram creation

and operation

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

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

xi

f g

nD-node

f gf

Xi=1 Xi=0

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

Optimization of OKFDD-SizeOptimization of OKFDD-Size

• Exchange of Neighboring Variables

• DTL Sifting

Experimental ResultsExperimental Results

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

DIY PROBLEM

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

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