Upload
team-vlsi-itmu
View
242
Download
3
Embed Size (px)
DESCRIPTION
Reduced ordered binary decision diagram
Citation preview
REDUCED ORDERED BINARY DECISION DIAGRAM
(ROBDD)
Devi Sivaraman12ECP026
M.Tech-VLSI
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
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:
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
ROBDD Flow
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
Binary Decision Diagram
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
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)
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
Reduction rules of OBDD
Elimination rule
Reduction Rule
OBDT to ROBDD Rule 1: Collapse Leaf Nodes to remove redundant tests
It’s no longer a tree
OBDT to ROBDD Rule 2: Isomorphic sub-graphs
OBDT to ROBDD Final Representation
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
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
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
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
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
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
Thank You