Multiplexer
Multiplexer
Multiplexer
▪ A multiplexer is a device which has
(i) a number of input lines
(ii) a number of selection lines
(iii) one output line
▪ It steers one of 2n inputs to a single output line, using n
selection lines. Also known as a data selector.
2n:1
inputs Multiplexer output
...
select
Multiplexer
▪ Truth table for a 4-to-1 multiplexer:
Inputs Inputs
I0 0 I0
I1 4:1
1 I1
MUX
I2 2 Y Output I2 mux Y
I3 3 I3
S1 S 0
S1 S 0
select select
Multiplexer
▪ Output of multiplexer is
“sum of the (product of data lines and selection lines)”
I1
Y
I2
I3
S1 S0
Multiplexer
▪ An application:
I0
I1 4:1
I2 MUX
I3
2:1
S1 S 0 MUX Y
I4
I5 4:1
I6 MUX S2
I7
S1 S 0
Larger Multiplexers
I0 When
I1
I0 S2S1S0 = 000
4:1
I2 MUX
I3
2:1 I0
S1 S 0 MUX Y
I4
I5 4:1 I4
I6 MUX S2
I7
S1 S 0
Larger Multiplexers
When
I0
I1
I2 S2S1S0 = 110
4:1
I2 MUX
I3
2:1 I6
S1 S 0 MUX Y
I4
I5 4:1 I6
I6 MUX S2
I7
S1 S 0
Larger Multiplexers
▪ Another implementation of an 8-to-1 multiplexer using
smaller multiplexers:
When
I0 2:1 I0 S2S1S0 = 000
I1 MUX
I2 2:1 I2 S0
I3 MUX
4:1 I0
S0 MUX
I4 2:1 I4
I5 MUX
S2 S 1
S0 I6 2:1
I7 MUX I6
S0
Larger Multiplexers
When
S2S1S0 = 001
I0
I1 4:1
I2 MUX
I3
2:1
S1 S 0 MUX Y
I4
I5 4:1
I6 MUX S2
I7
S1 S 0
Larger Multiplexers
▪ A 16-to-1 multiplexer
can be constructed
from five 4-to-1
multiplexers:
Multiplexers: Implementing Functions
F(A,B,C) = Σ m(1,3,5,6)
0 0
1 1 This method works because:
0 2
1 3 mux F Output = m0.I0 + m1.I1 + m2.I2 + m3.I3
0 4 + m4.I4 + m5.I5 + m6.I6 + m7.I7
1 5
1 6
0 7 Supplying ‘1’ to I1,I3,I5,I6 , and ‘0’ to
A B C
the rest:
Output = m1 + m3 + m5 + m6
Multiplexers: Implementing Functions
▪ A Boolean function can be implemented using multiplexers.
▪ A 2n-to-1 multiplexer can implement a Boolean function of n
input variables, as follows:
❖ (i) Express in sum-of-minterms form.
Example: F(A,B,C) = A'B'C + A'BC + AB'C + ABC'
= Σ m(1,3,5,6)
❖ (ii) Connect n variables to the n selection lines.
❖ (iii) Put a '1' on a data line if it is a minterm of the function, '0'
otherwise.
Multiplexers: Implementing Functions
F(A,B,C) = Σ m(1,3,5,6)
0 0
1 1 This method works because:
0 2
1 3 mux Output
F = m0.I0 + m1.I1 + m2.I2 + m3.I3
0 4 + m4.I4 + m5.I5 + m6.I6 + m7.I7
1 5
1 6
0 7 Supplying ‘1’ to I1,I3,I5,I6 , and ‘0’ to
the rest:
A B C
Output = m1 + m3 + m5 + m6
Multiplexers: Implementing Functions
▪ Example: Use a 74151A to implement:
f(x1,x2,x3) = ∑ m(0,2,3,5)
A’B’
1 0
1 1
0 2 1 0
1 3 mux F C 1 F
0 4 mux
0 5
0 2
1 6 C' 3
0 7
A B C A B
1 0
C 1 F
mux
0 2
3
A B
Using Smaller Multiplexers
▪ Alternative: What if we use A for input lines, and B, C for
selector lines?
A’ (when BC = 00)
A’ (when BC = 01)
A (when BC = 10)
A 0
1 F A’ (when BC = 11)
mux
2
3
B C
Using Smaller Multiplexers
▪ Example: Implement using a 74151A the function:
f(x1,x2,x3,x4) = ∑ m(0,1,2,3,4,9,13,14,15)
Implement the Boolean function by using 8x1 MUX –
F(A,B,C,D)=∑m(0,1,3,4,8,9,14,15)
Total number of variables , n= 4 (A,B,C,D)
Select line variable (n-1) = 3 (B,C,D) Input variable = 1 (A)
Implementation table –
I0 I1 I2 I3 I4 I5 I6 I7
(A’)0 0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
(A)1
1 1 0 A’ A’ 0 A A
Implement the following function using 4x1 MUX-
F(A,B,C,D)=∑m(0,1,3,4,7,8,9,11,14,15)
•Solving minterms corresponding to I0-
•I0 C’D’+C’D+CD
=C’(D’+D)+CD
=C’+CD
=C’+D
•Solving minterms corresponding to I1-
•I1 C’D’+CD = C (X-NOR) D
•Solving minterms corresponding to I2-
•I2 C’D’+C’D+C = C’+D
•Solving minterms corresponding to I3-
•I3 CD’+CD = C
End of file