Davio Gates and Kronecker Decision Diagrams Lecture 5

  • Slides: 26
Download presentation
Davio Gates and Kronecker Decision Diagrams Lecture 5 Rolf Drechlser’s slides used

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 •

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 • Typically done using APPLY operator • Reduction rules – remove duplicate

BDD Construction • Typically done using APPLY operator • Reduction rules – remove duplicate terminals – merge duplicate nodes (isomorphic subgraphs) – remove redundant nodes a b f f b • Redundant nodes: – nodes with identical children a b c 0 1

BDD Construction – your first BDD • Construction of a Reduced Ordered BDD a

BDD Construction – your first BDD • Construction of a Reduced Ordered BDD a b c f 0 0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 Truth table 1 edge 0 edge f f = ac + bc a b b c 0 0 c 1 Decision tree 0 1

BDD Construction – cont’d f f a a b b b c c 0

BDD Construction – cont’d f f a a b b b c c 0 f = (a+b)c c c 1 1. Remove duplicate terminals c 0 a b b c 1 2. Merge duplicate nodes c 0 1 3. Remove redundant nodes

Decomposition types are associated to the variables in Xn with the help of a

Decomposition types are associated to the variables in Xn with the help of a decomposition type list (DTL) d: =(d 1, …, dn) where di { S, p. D, n. D}

KFDD • Definition

KFDD • Definition

Three different reductions types Type I : f g xi xi Each node in

Three different reductions types Type I : f g xi xi Each node in a DD is a candidate for the application f g xi

Three different reductions types (cont’d) Type S xi xj xj f g

Three different reductions types (cont’d) Type S xi xj xj f g

Three different reductions types (cont’d) Type D xi 0 This is used in functional

Three different reductions types (cont’d) Type D xi 0 This is used in functional diagrams such as KFDDs xj xj f g

Example for OKFDD 1 x 1 F=

Example for OKFDD 1 x 1 F=

Example for OKFDD (cont’d) This diagram below explains the expansions from previous slide X

Example for OKFDD (cont’d) This diagram below explains the expansions from previous slide X 1 S-node X 2 p. D-node X 3 n. D-node

Example for OKFDD’s with different DTL’s You can save a lot of nodes by

Example for OKFDD’s with different 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

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

XOR-operation • D-node • S-node Such recursive operations are a base of diagram creation and operation

AND-operation Such recursive operations are a base of diagram creation and operation

AND-operation Such recursive operations are a base of diagram creation and operation

Restriction of Variables for S nodes is trivial Xi=0 xi f Xi=1 S-node g

Restriction of Variables for S nodes is trivial Xi=0 xi f Xi=1 S-node g f Cofactor for Xi=0 g Cofactor for Xi=1

Restriction of Variables for D nodes is more complex, requires XORing Xi=0 p. D-node

Restriction of Variables for D nodes is more complex, requires XORing Xi=0 p. D-node xi f g f Please remember this Xi=1

Restriction of Variables (cond’t) Xi=1 n. D-node xi f g f Xi=0

Restriction of Variables (cond’t) Xi=1 n. D-node xi f g f Xi=0

Optimization of OKFDD-Size • Exchange of Neighboring Variables • DTL Sifting

Optimization of OKFDD-Size • Exchange of Neighboring Variables • DTL Sifting

Experimental Results

Experimental Results

Experimental Results (cont’d)

Experimental Results (cont’d)

DIY PROBLEM • Use simulated annealing algorithm for choice of a better variable ordering

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

Simple solution • Solution space X 1 X 2 X 3 X 4 X

Simple solution • Solution space X 1 X 2 X 3 X 4 X 1 X 2 A solution • Neighborhood structure X 1 X 2 X 3 X 4 X 1 X 3 X 2 X 4 change End of Lecture 5