0% found this document useful (0 votes)
157 views28 pages

Multiplexer

A multiplexer is a device that selects one of several input lines and outputs the selected line to a single output line. It has multiple data inputs, selection lines that determine which input is output, and a single output. A multiplexer can be used to implement Boolean functions by expressing the function in sum-of-products form and using the selection lines as variables and setting the data inputs to 1 or 0 based on the minterms. Larger multiplexers can be built by combining smaller multiplexers. Boolean functions of n variables can be implemented using an n-to-1 multiplexer by assigning n-1 variables to selection lines and the remaining variable to the data inputs.

Uploaded by

Gautam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
157 views28 pages

Multiplexer

A multiplexer is a device that selects one of several input lines and outputs the selected line to a single output line. It has multiple data inputs, selection lines that determine which input is output, and a single output. A multiplexer can be used to implement Boolean functions by expressing the function in sum-of-products form and using the selection lines as variables and setting the data inputs to 1 or 0 based on the minterms. Larger multiplexers can be built by combining smaller multiplexers. Boolean functions of n variables can be implemented using an n-to-1 multiplexer by assigning n-1 variables to selection lines and the remaining variable to the data inputs.

Uploaded by

Gautam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

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)”

▪ Example: the output of a 4-to-1 multiplexer is:


Y = I0.(S1’.S0') + I1.(S1’.S0) + I2.(S1.S0') + I3.(S1.S0)

▪ A 2n-to-1-line multiplexer, or simply 2n:1 MUX, is made from


an n: 2n decoder by adding to it 2n input lines, one to each AND
gate.
Multiplexer
▪The output of a 4-to-1 multiplexer is:
Y = I0.(S1’.S0') + I1.(S1’.S0) + I2.(S1.S0') + I3.(S1.S0)
I0

I1
Y
I2

I3

S1 S0
Multiplexer
▪ An application:

Helps share a single communication line among a


number of devices.
At any time, only one source and one destination
can use the communication line.
Larger Multiplexers
▪ Larger multiplexers can be constructed from smaller ones.
▪ An 8-to-1 multiplexer can be constructed from smaller
multiplexers like this (note placement of selector lines):

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)

Realization of f(x1,x2,x3) = ∑m(0,2,3,5).


(a)Truth table.
(b)Implementation with 74151A.
Using Smaller Multiplexers
▪ Earlier, we saw how a 2n-to-1 multiplexer can be used to
implement any Boolean function of n (input) variables.
▪ However, we can use a single smaller 2(n-1)-to-1
multiplexer to implement any Boolean function of n
(input) variables.
▪ In particular, the earlier function
F(A,B,C) = ∑ m(1,3,5,6)
can be implemented using a 4-to-1 multiplexer (rather
than an 8-to-1 multiplexer).
Using Smaller Multiplexers
Let’s look at this example:
F(A,B,C) = Σ m(0,1,3,6) = A’B’C’ + A’B’C + A’BC + ABC’

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

▪ Note: Two of the variables, A, B, are applied as selection


lines of the multiplexer, while the inputs of the
multiplexer contain 1, C, 0 and C'.
Using Smaller Multiplexers
▪ Procedure
1) Express boolean function in “sum-of-minterms” form.
e.g. F(A,B,C)= Σ m(0,1,3,6)
2) Reserve one variable (in our example, we take the least significant
one) for input lines of multiplexer, and use the rest for selection
lines.
e.g. C is for input lines, A and B for selection lines.
Using Smaller Multiplexers
3) Draw the truth table for function, but grouping inputs by selection
line values, and then determine multiplexer inputs by comparing
input line (C) and function (F) for corresponding selection line
values.

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

You might also like