You are on page 1of 22

Presented by,

Nefy Babu
S1. M.Tech

BDS : A BDD BASED LOGIC
OPTIMISATION SYSTEM
INTRODUCTION
Logic optimization methods based on Boolean
factorization fails due to high computational
complexity caused by inappropriate data
structure used to represent Boolean functions.
BDS:
Based on a new binary decision
diagram decomposition technique.
capability to handle very large circuits.
Employs BDD decomposition
technique in the partioned boolean
network environment.
2
BACKGROUND AND PREVIOUS
WORK
A. Boolean functions and BDDs

where B={0,1}
ON(f) = {x: f(x)=1}
For incompletely specified boolean function with n
i/ps and 1 o/p

where Y={0,1,*}
DC(f)= {x: f(x)= * }


Support of boolean function F denoted as supp[F] is
the set of variables on which F depends.

3
BDD
4
Rooted, directed, acyclic graph which consists of
several decision nodes and terminal nodes: -
represents boolean function

5
6
7
B. Functional Decomposition
Proposed by Ashenhurst.
f(X) can be expressed as f(X)=F( G1(Y),
G2(Y),..,Gk(Y),Z)
here , Y : bound set
Z : free set
If
: (disjoint decomposition) and k=1(simple
decomposition) , boolean function can
represented by a decomposition chart.
The functional decomposition methods based on
the decomposition charts are inefficient because
the number of columns in the chart grows
exponentially with the number of bound set
variables.


C.Previouse work in bdd decomposition

ASHENHURST DECOMPOSITION USING BDD
8
9
Ashenhurst decomposition using bdd:-
cut set is selected that partitions the variables
into bound set and free set.
Each node in the cut set :- unique coloumn of
decomposition chart.
Serious limitation is finding the cut
Bidecomposition
Decomposition is of the type

stands for any binary operation.


10
Karpluss method
Relies on structure of BDD to identify good
decomposition.
1 dominator ,0 dominator
1 dominator: Node which belongs to every path
from root to terminal node 1.

None of these methods can detect algebraic or quasi-
algebraic decomposition and require re-ordering of
variables.
BDS can detect algebraic as well as Boolean
decompositions even for the variable order that is
inconsistent with the variable partitioning.





11
THEORY OF BDD DECOMPOSITION
12
A. Terminology and fundamentals.
1. BDD:- DAG representing boolean function.
BDD=
-function node(root) ,V- set of nodes ,E-set of
edges , {0,1}-terminal nodes
2.Leaf edges :- The leaf edge is an edge e E
which is
directly connected to a terminal node of the BDD.
-Set of leaf edges connected to 0
-Set of leaf edges connected to 1
3.Paths:- A path from root to terminal node 0(1) is
called a 0-path (1-path)
-set of all 0 paths.
-set of all 1 paths
13
Theorem 1: Every internal edge belongs
to at least one path and to one path
4. cut : The cut in a BDD is a set of edges which
partitions its nodes V into two disjoint subsets,D and
(V -D)
ie. Root and
5. (Conjunctive Decomposition): Boolean function F
has the conjunctive (AND) decomposition if it can be
represented as
F=D * Q Function D is called the Boolean divisor
and Q is the quotient of F under this decomposition
6. (Disjunctive Decomposition) : Boolean function F
has the disjunctive (OR) decomposition if it can be
represented as F =G + H.

.

14


Theorem 2: Boolean function F has a conjunctive
Boolean decomposition F = D * Q if and only if
. For a given choice of D,the quotient Q must
satisfy

Theorem 3: Boolean function F has a disjunctive
Boolean decomposition F = G+H if and only if
. Then, for a given choice of G, the disjunctive
termH must satisfy the condition

B. AND -OR decomposition
15
7. Generalized dominator :- a cut partitioning
the set of BDD nodes of function F into D and (V
-VD) portion of
the BDD defined by nodes VD is copied to form
a separate graph.

16
an edge e is connected to 0 if , and it is
connected to 1 if . All the internal edges
are left dangling; they are referred to as free
edges. The resulting graph is called the
generalized dominator of F with respect to the
given cut, denoted GD(F).
how to obtain a Boolean divisor and perform
the conjunctive Boolean decomposition.
Lemma 1: Given a generalized dominator GD(F)
of function F, the Boolean divisor D is obtained
from GD(F) by redirecting its free edges to 1. The
quotient Q is obtained from F by redirecting the
edges in F to dont care nodes.
Satisfies the conditions,
17
18
Disjunctive (OR) decomposition is dual to the
conjunctive decomposition.

Lemma 2: Consider a disjunctive Boolean
decomposition
F = G+ H. Given a generalized dominator GD(F)
of function F , the Boolean term G can be
obtained by redirecting the free edges of GD(F) to
0. The Boolean term H is obtained from F by
redirecting the edges in F to dont care
nodes.

19
c. Identifying Useful Cuts
20
The number of possible cuts that should be examined
in the search for an optimal AND/OR decomposition
can be large.
only cuts which contain at least one leaf edge can
lead to nontrivial Boolean decomposition . We refer to
them as valid cuts.
8. Equivalent cuts: Two cuts are 0-equivalent if they
contain the same set of edges. Similarly, two cuts
are 1-equivalent if they contain the same set of
edges.
Theorem 4: All Boolean divisors of a conjunctive
decomposition, obtained from 0-equivalent cuts, are
identical. Similarly, all Boolean terms of a disjunctive
decomposition, obtained from 1-equivalent cuts are
identical.


21
22



THANK YOU

You might also like