Binary decision diagrams (BDD - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Binary decision diagrams (BDD

Description:

Binary decision diagrams (BDD s) Compact representation of a logic function ROBDD s (reduced ordered BDD s) are a canonical representation: equivalence of ROBDD ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 9
Provided by: Sachi4
Category:

less

Transcript and Presenter's Notes

Title: Binary decision diagrams (BDD


1
Binary decision diagrams (BDDs)
  • Compact representation of a logic function
  • ROBDDs (reduced ordered BDDs) are a canonical
    representation equivalence of ROBDDs implies
    that the functions are identical
  • Example f abc bd cd
  • T then edge, E else edge
  • Same variable ordering on
  • each path a ? b ? c ? d
  • (Ordered BDD)

Material taken mostly from G. Hachtel and F.
Somenzi, Logic Synthesis and Verification
Algorithms, Kluwer Academic Publishers,
Boston, MA, 1996.
2
Effect of variable ordering
  • Size of diagram varies with variable ordering
  • a ? d ? b ? c b ? c ? a ? d

b
a
E
T
E
T
d
d
c
E
T
E
T
T
b
b
E
a
E
E
E
T
T
d
T
c
c
T
E
E
E
T
T
1
0
1
0
3
Relation to the Shannon expansion
  • Each node is basically a Shannon expansion
  • f a fa a fa

f
fa
fa
4
Building a BDD from a Shannon expansion
f abc bd cd
b
T
E
fb ac cd
c
fbc d
T
fb d
E
fbc a
( and so on )
5
BDD as a compact truth table
  • Truth table complete ordered binary tree
  • Reduce this by combining isomorphic parts and
    removing redundant nodes (T,E point to same node)
    to get ROBDD

redundant
T
E
T
E
E
T
E
T
T
T
E
E
E
T
T
E
T
T
redundant
E
T
1
0
E
E
E
E
T
T
T
T
1
0
1
0
1
0
E
E
T
T
BDD shown earlier for the ordering b ? c ? a ? d
isomorphic
1
0
1
0
isomorphic
6
Multioutput BDDs
  • (Notation solid line Then edge dashed line
    Else edge)
  • Example F1 bc, F2 a bc

Combined Multioutput BDD
Separate BDDs
F2
F2
F1
F1
a
a
b
b
b
c
c
c
1
0
1
0
1
0
7
Compactness of BDDs
  • BDDs are successful at compactly representing
    many common functions
  • XOR is an example of a function with a large
    SOP/POS representation, but a very compact BDD
  • Worst case O(2n) nodes
  • Functions that require this many nodes do exist
  • Can use multilevel techniques to represent BDDs
    more compactly (partitioned ROBDDs)

8
Operations on BDDs
  • Given BDDs for functions f and g, can use
    Shannon expansion to see how operations are
    performed
  • Assume variables v1, v2 vn
  • f ltopgt g v1 (f ltopgt g)v1 v1 (f ltopgt g)v1
  • v1 (fv1 ltopgt gv1) v1 (fv1 ltopgt gv1)
  • Can now do this recursively
  • Pictorially
  • Identify identical subtrees as we come up the
    recursion tree using a hashing function

v1
E
T
(BDD for fv1 ltopgt gv1)
(BDD for fv1 ltopgt gv1)
Write a Comment
User Comments (0)
About PowerShow.com