CSE2105 Lecture14 Chapter4 Part3
CSE2105 Lecture14 Chapter4 Part3
DATA SELECTOR
MULTIPLEXERS
A multiplexer is a combinational circuit that
selects one of many input lines (2n) and directs it to
its single output line.
There are n selection lines whose bit combinations
determine which input is selected.
A multiplexer is also called a data selector, since it
selects one of many inputs and steers the binary
information to the output line.
The size of a multiplexer is specified by the
number 2n of its input lines and the single output
line. It is then implied that it also contains n
selection lines.
Example: 2X1 MUX, 4X1 MUX, 8X1 MUX, 16X1
MUX etc.
MULTIPLEXERS I0
I1 4X1
Y
I2 MUX
4-to-1 MUX I3
S1 S0
I0
Fig: Block diagram of a 4X1 MUX
I1
Y Function Table of a 4X1 MUX:
I2
S1 S0 Y
I3 0 0 I0
0 1 I1
1 0 I2
1 1 I3
S1 S0
Fig: Logic diagram Output Equation:
of a 4X1 MUX
Y = S1’S0’I0 + S1’S0I1 + S1S0’I2 + S1S0I3
USES OF MUX
Input Selectors
Procedure 1
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 1
F(A, B, C) = ∑(1, 3, 5, 6)
Steps:
1. Choose the selector variables.
Lets choose,
• B, C as selector S1 and S0
• A as input line
2. In the first row, list the name of the input lines
of the multiplexers horizontally
3. In the second row, list the minterms where A is
complemented
4. In the third row, list the minterms where A is
uncomplemented
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 1
F(A, B, C) = ∑(1, 3, 5, 6)
Steps:
5. Circle the minterms for which the function
outputs 1
6. Fourth row presents the multiplexer inputs
• If the two minterms in a column are not circled, apply
0 to the corresponding multiplexer input
• If the two minterms in a column are circled, apply 1 to
the corresponding multiplexer input
• If the bottom minterm is circled and the top is not
circled, apply A to the corresponding multiplexer input
• If the top minterm is circled and the bottom is not
circled, apply A’ to the corresponding multiplexer input
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 1
F(A, B, C) = ∑(1, 3, 5, 6)
Implementation Table:
MUX input I0 I1 I2 I3 0 I0
1 I1 4x1 F
line
I2 MUX
A’ 0 1 2 3
I3 S S
1 0
A 4 5 6 7
Input values 0 1 A A’
A B C
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 1
F(A, B, C) = ∑(1, 3, 5, 6)
What if A, B are the selectors and C goes to input line?
Implementation Table:
MUX input I0 I1 I2 I3 I0
line I1 4x1 F
I2 MUX
C’ 0 2 4 6
I3 S S
1 0
C 1 3 5 7
Input values C C C C’
C A B
Procedure 2
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 2
Steps:
1. Complete the truth table from the SOP.
2. The first n – 1 variables in the table are applied
to the selection inputs of the multiplexer.
3. For each combination of the selection variables,
we evaluate the output as a function of the last
variable.
4. Apply these values to the data input in proper
order.
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 2
Example F(x, y) = ∑(0, 1, 3)
x y F I0
1
0 0 1 1 I1 4X1
Y F
0 1 1 0 I2 MUX
1 0 0 1 I3
S1 S0
1 1 1
x y
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 2
Example F(x, y, z) = ∑(1, 2, 6, 7)
x y z F I0
0
0 0 0 0 1 I1
0 0 1 1 1 I2
0 1 0 1 0 I3 8X1
Y F
0 1 1 0 0 I4 MUX
0 I5
1 0 0 0
1 I6
1 0 1 0 1 I7
1 1 0 1 S2 S1 S0
1 1 1 1
x y z
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 2
F(x, y, z) = ∑(1, 2, 6, 7)
x y z F
0 0 0 0 z I0
0 0 1 1 F=z z I1 4X1 F
Y
0 1 0 1 0 I2 MUX
0 1 1 0 F=z 1 I3
S1 S0
1 0 0 0
F=0 x y
1 0 1 0
1 1 0 1
F = z + z’= 1
1 1 1 1
15 / 65
IMPLEMENTATION USING MULTIPLEXERS:
PROCEDURE 2
F(A, B, C, D) = ∑(1, 3, 4, 11, 12, 13, 14, 15)
A B C D F
0 0 0 0 0 D I0
0 0 0 1 1 F=D
0 0 1 0 0
D I1
0 0 1 1 1
F=D D I2
0 1 0 0 1
0 1 0 1 0
F=D 0 I3 8 X1
Y F
0 1 1 0 0
F=0
0 I4 MUX
0 1 1 1 0
1 0 0 0 0
D I5
1 0 0 1 0 F=0 1 I6
1 0 1 0 0
1 0 1 1 1 F=D 1 I7
1 1 0 0 1 S2 S1 S0
F=1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
F=1 A B C
PROCEDURE 1 VS PROCEDURE 2
Among the function variables, if the first or some
middle variable other than the last one is to be
used in input line then procedure 1 is preferable.
MULTIPLEXER EXPANSION
4-TO-1 MUX USING 2-TO-1 MUX
I0
2X1
MUX
I1 S1 S0 Y
0 0 I0
0
2X1 0 1 I1
MUX Y
1 1 0 I2
I2 1 1 I3
2X1
MUX
I3
S0 S1
MULTIPLEXER EXPANSION
4-TO-1 MUX USING 2-TO-1 MUX
I0
I1 S1 S0 Y
0 0 I0
0
Y 0 1 I1
1 1 0 I2
I2 1 1 I3
I3
S1 S0
MULTIPLEXER EXPANSION
4-TO-1 MUX USING 2-TO-1 MUX
I0
I1 S1 S0 Y
0 0 I0
0
Y 0 1 I1
1 1 0 I2
I2 1 1 I3
I3
S1 S0
MULTIPLEXER EXPANSION
4-TO-1 MUX USING 2-TO-1 MUX
I0
I1 S1 S0 Y
0 0 I0
0
Y 0 1 I1
1 1 0 I2
I2 1 1 I3
I3
S1 S0
MULTIPLEXER EXPANSION
4-TO-1 MUX USING 2-TO-1 MUX
I0
I1 S1 S0 Y
0 0 I0
0
Y 0 1 I1
1 1 0 I2
I2 1 1 I3
I3
S1 S0
MULTIPLEXER EXPANSION [SELF STUDY]
8-TO-1 MUX USING DUAL 4-TO-1 MUX
I0 I0
I1 I1
MUX Y
I2 I2
I3 I3
S1 S0 I0
I1 MUX Y Y
I0 S
I4
I5 I1
MUX Y
I6 I2
I7 I3
S1 S0
1 0 0
S2 S1 S0
MULTIPLEXERS
A3 I0
B3 MUX Y
I1
S A3
A2
A1
A2 I0 A0
Y3
B2 MUX Y Y
I1 MUX Y 2
S 1
B3 Y0
B2
A1 I0 B1
B1 MUX Y B0
I1 S E
S
A0 I0
B0 MUX Y
I1
S
S
MULTIPLEXERS
Quad 2-to-1 MUX
A3
Y3
A3 I0 A2
B3 MUX Y Y2
I1
S A1
Y1
A0
A2 I0 Y0
B2 MUX Y
I1 B3
S
B2
A1 I0
B1 MUX Y B1
I1
S
B0
A0 I0
B0 MUX Y
I1
S S E
S Active High Enable:
E The output is
enabled when E=1
MULTIPLEXERS
Quad 2-to-1 MUX
A3
Y3
A3 I0 A2
B3 MUX Y Y2
I1
S A1
Y1
A0
A2 I0 Y0
B2 MUX Y
I1 B3
S
B2
A1 I0
B1 MUX Y B1
I1
S
B0
A0 I0
B0 MUX Y
I1
S S E
S
Active Low Enable:
E
The output is
enabled when E=0