reduced ordered binary decision diagram
DESCRIPTION
Reduced ordered binary decision diagramTRANSCRIPT
![Page 1: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/1.jpg)
REDUCED ORDERED BINARY DECISION DIAGRAM
(ROBDD)
Devi Sivaraman12ECP026
M.Tech-VLSI
![Page 2: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/2.jpg)
Binary Decision Diagrams
• Boolean function of m variables defines a Boolean space of 2m points
• The data structure to represent Boolean function should be compact and easy to manipulate
• A binary decision diagram (BDD) is a data structure that is used to represent a Boolean function, directly derivable from Shannon’s expansion
![Page 3: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/3.jpg)
Shannon’s Expansion• Shannon's expansion is a method by which a Boolean
function can be represented by the sum of two sub-functions of the original
• For Example:
![Page 4: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/4.jpg)
BINARY TREE REPRESENTATION
11
1
0
0
0
x
yy
( ) ( )
x x
xy x y xy x y
f xf x f
x yf y f x yf y f
xyfx yfxy
fx yf
![Page 5: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/5.jpg)
ROBDD Flow
![Page 6: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/6.jpg)
Example 1: XOR
Truth Table Binary Decision Tree
A B F
0 0 0
0 1 1
1 0 1
1 1 0
A
BB
0 1 1 0
0
0
1
1 0 1
![Page 7: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/7.jpg)
Binary Decision Diagram
![Page 8: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/8.jpg)
OBDDOrdered BDD (OBDD) : Input variables are ordered – each path
from root to sink visits nodes with labels (variables) in ascending order.
a
c c
b
0 1
orderedorder = a,c,b
a
b c
c
0 1
notordered
b
![Page 9: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/9.jpg)
Ordered Binary Decision Tree (OBDT)
• This graph representation is called OBDT or OBDD (Ordered binary Decision Diagram) which has a directed tree structure
• Each vertex has two children. Two edges originated from a vertex are called high (positive co-factor) & low (negative co-factor)
![Page 10: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/10.jpg)
OBDT to ROBDD ROBDD can be obtained from an OBDT (Ordered Binary
Decision Tree) by repeatedly applying following reduction rules (until none of the them can be applied anymore):
• Remove duplicate terminal (leaf) nodes• Remove duplicate non-terminal (internal) nodes• Remove nodes with redundant tests
![Page 11: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/11.jpg)
Reduction rules of OBDD
Elimination rule
Reduction Rule
![Page 12: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/12.jpg)
OBDT to ROBDD Rule 1: Collapse Leaf Nodes to remove redundant tests
It’s no longer a tree
![Page 13: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/13.jpg)
OBDT to ROBDD Rule 2: Isomorphic sub-graphs
![Page 14: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/14.jpg)
OBDT to ROBDD Final Representation
![Page 15: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/15.jpg)
BDDs 15
ROBDDs• Directed acyclic graph (DAG)• One root node per function, two terminals 0, 1• Each node, two children, and a variable• Shannon co-factoring tree, except reduced and ordered
(ROBDD)Reduced:– any node with two identical children is removed– two nodes with isomorphic BDD’s are merged
Ordered: Co-factoring variables (splitting variables) always
follow the same order from a root to a terminalxi1
< xi2 < xi3
< … < xin
![Page 16: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/16.jpg)
Example 2Binary Decision Tree
16
a c
b
f
a
b b
cccc
0 0 1 0 0 1 1 1
0 1
0 0 0
01
11 1
1
1
0
0Graph representation of a Boolean function.
Leaf nodes
![Page 17: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/17.jpg)
Ordered Binary Decision Diagram (OBDD)
17
a c
b
f
a
b b
cc
0 1 0 0 1 1
0 1
0 0
01
1 1
10a
b b
cccc
0 0 1 0 0 1 1 1
0 1
0 0 0
01
11 1
1
1
0
0
TreeOBDD
![Page 18: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/18.jpg)
OBDD With Different Input Ordering
18
a c
b
f
a
b b
cc
0 1 0 0 1 1
0 1
0 0
01
1 1
10
c
b b
a
0 1 0 1 1
0 1
0
0
1
1
0 a
0
1 0 1
![Page 19: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/19.jpg)
Reduction: OBDD to ROBDD
19
a c
b
f
a
b b
cc
0 1 0 0 1 1
0 1
0 0
01
1 1
10
a
10
cc
b b
0
00 0
1
1
1 1
1
0
![Page 20: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/20.jpg)
Properties of ROBDD• The 0- and 1-succesor of any node should not be identical• ROBDDs provide canonical representation of switching
functions• ROBDDs can be manipulated efficiently• ROBDDs representations are small for many important
switching functions• Isomorphic graph should not be there i.e. sub-graphs that
yields same information about function several times
![Page 21: Reduced ordered binary decision diagram](https://reader035.vdocuments.us/reader035/viewer/2022062219/554a2a40b4c9051b578b4cea/html5/thumbnails/21.jpg)
Thank You