advance logic
TRANSCRIPT
10/11/13 1
Overview
What is functional decomposition Why functional decomposition Decomposition using decomposition chart Decomposition using BDD
10/11/13 2
Functional decomposition
Functional decomposition refers to the process by which a complex problem or system is broken down into parts that are easier to conceive, understand and maintain.
10/11/13 3
Functional Decomposition
functional decomposition generally refers to a process of identifying a set of functions such thatƒ(x,y) = h(g1(x), g2(x), ……, gn(x), y)
ƒg1
hgn
X
Y
X
X
Y
10/11/13 4
Why functional decomposition
Requires less number of logic gates than the original networks.
Reduces the complexity of the circuit Parallel execution is possible for the different
module of the function
10/11/13 5
Procedure of Decomposing a Function
Construct decomposition charts for all possible bipartition of the inputs.
Determine the column multiplicity of each chart. Calculate the gain, if gain > 1 then the function is
decomposable. We will choose that particular bipartition, for
which gain is maximum. Construct the logic circuit applying
decomposition of the given function
10/11/13 6
Functional Decomposition using Decomposition Chart
X1
X2
X3
X4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
ƒ 1 0 0 1 1 0 0 1 1 1 0 0 1 0 0 1
00 01 10 11
00 1 1 1 1
01 0 0 1 0
10 0 0 0 0
11 1 1 0 1
X1X2X3X4
Figure: Decomposition Chart
10/11/13 7
Decomposition Chart
00 01 10 11
00 1 1 1 1
01 0 0 1 0
10 0 0 0 0
11 1 1 0 1
The number of distinct columns in the decomposition chart is called Column Multiplicity
Here Column multiplicity is 2
X1X2
X3X4
10/11/13 8
Decomposition Chart
1 1
0 1
0 0
1 0
00
01
10
11
000111
10 Bound Set (X1,X2)
Free Set (X3,X4)
10/11/13 9
Condition for Decomposition
A function f is decomposable if we get at least one non-trivial decomposition for the function.
The decomposition is said to be non-trivial if Gain > 1.
Gain = min(2n1,22*n2) / µ
Where, n1 = bound Set n2 = free Setµ = column multiplicity
10/11/13 10
Example
x4x5
000
001
010
011
100
101
110
100
00 0 1 0 0 0 1 1 0
01 1 1 1 1 1 1 1 1
10 1 0 1 1 1 0 0 1
11 0 1 0 0 0 1 1 0
x3x4x500011011
000 0 1 1 0
001 0 1 1 1
010 1 0 0 0
011 1 1 1 1
100 0 0 0 1
101 0 1 1 0
110 1 0 0 1
111 1 0 1 1
Gain = MIN(22,22*3) / 3 = 1.33
Gain = MIN(23, 22*2) / 2 = 4
10/11/13 11
Decomposition using BDD
•BDD is a directed acyclic graph which represents a Boolean function•Each node represents a sub-function and two incoming edges of this node represent cofactors of this function
10/11/13 12
0 1
0 1 0 1
0 10 1
0 1 0 1
0 1
0 1
0 1
X4
X3
X2
X1
x4x3x2 + (x4 + x3 + x2) x1
x2x1
(x3 + x2) x1 x3x2 + x1
x2 + x1 x1
x10 1
Decomposition using BDD
10/11/13 13
0 1
0 1 0 1
0 10 1
0 1 0 1
0 1
0 1
0 1
X4
X3
X2
X1
x4x3x2 + (x4 + x3 + x2) x1
x2x1
(x3 + x2) x1 x3x2 + x1
x2 + x1 x1
x10 1
Decomposition using BDD
10/11/13 14
0 1
0 1 0 1
0 10 1
0 1
0 1
X4
X3
X2
X1
x4x3x2 + (x4 + x3 + x2) x1
x2x1
(x3 + x2) x1 x3x2 + x1
x2 + x1
x1
ROBDD
10/11/13 15
Thank You