21
REDUCED ORDERED BINARY DECISION DIAGRAM (ROBDD) Devi Sivaraman 12ECP026 M.Tech-VLSI

Reduced ordered binary decision diagram

Embed Size (px)

DESCRIPTION

Reduced ordered binary decision diagram

Citation preview

Page 1: Reduced ordered binary decision diagram

REDUCED ORDERED BINARY DECISION DIAGRAM

(ROBDD)

Devi Sivaraman12ECP026

M.Tech-VLSI

Page 2: Reduced ordered binary decision diagram

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

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

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

ROBDD Flow

Page 6: Reduced ordered binary decision diagram

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

Binary Decision Diagram

Page 8: Reduced ordered 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

Page 9: Reduced ordered binary decision diagram

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

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

Reduction rules of OBDD

Elimination rule

Reduction Rule

Page 12: Reduced ordered binary decision diagram

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

OBDT to ROBDD Rule 2: Isomorphic sub-graphs

Page 14: Reduced ordered binary decision diagram

OBDT to ROBDD Final Representation

Page 15: Reduced ordered binary decision diagram

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

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

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

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

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

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

Thank You