Upload
levana
View
27
Download
0
Tags:
Embed Size (px)
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
Citation preview
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