ETE 204 - Digital Electronics
Multiplexers, Decoders and Encoders
[Lecture:10]
Instructor: Sajib Roy
Lecturer, ETE, ULAB
Multiplexers
● A multiplexer has
- 2n data inputs
- n control inputs
- 1 output
●A multiplexer routes (or connects) the selected
data input to the output.
- The value of the control inputs determines the
data input that is selected.
Summer2012 ETE 204 - Digital Electronics 2
Multiplexers
Data
inputs
Z = A′.I0 + A.I1
Control
input
Summer2012 ETE 204 - Digital Electronics 3
Multiplexers
A B Z
0 0 I0
0 1 I1
1 0 I2
20 1 1 I 3
21
m0 = A'.B'
MSB LSB m1 = A'.B
m2 = A.B'
m3 = A.B
Z = A′.B'.I0 + A'.B.I1 + A.B'.I2 + A.B.I3
Summer2012 ETE 204 - Digital Electronics 4
Multiplexers
A B C Z
0 0 0 I0 m0
0 0 1 I1 m1
0 1 0 I2 m2
0 1 1 I3 m3
1 0 0 I4 m4
1 0 1 I5 m5
1 1 0 I m66
20
22 1 1 1 I m77
MSB LSB
Z = A′.B'.C'.I0 + A'.B'.C.I1 + A'.B.C'.I2 + A'.B.C.I3 +
A.B'.C'.I0 + A.B'.C.I1 + A'.B.C'.I2 + A.B.C.I3
Summer2012 ETE 204 - Digital Electronics 5
Multiplexers
20
2n-1
Z = [Link]
Summer2012 ETE 204 - Digital Electronics 6
Decoders
● A decoder has
- n inputs
- 2n outputs
● A decoder selects one of 2n outputs by
decoding the binary value on the n inputs.
● The decoder generates all of the minterms of
the n input variables.
- Exactly one output will be active for each
combination of the inputs.
What does “active” mean?
Summer2012 ETE 204 - Digital Electronics 7
Decoders
Z0
A
2-to-4 Z1
Decoder Z2 Zi = mi
msb B
Z3
active-high output
A B Z0 Z1 Z2 Z3
0 0 1 0 0 0 m0
0 1 0 1 0 0 m1
1 0 0 0 1 0 m2
1 1 0 0 0 1 m3
Summer2012 ETE 204 - Digital Electronics 8
Decoders
Z0
A
2-to-4 Z1
Decoder Z2 Zi = (mi)' = Mi
msb B
Z3
active-low output
A B Z0 Z1 Z2 Z3
0 0 0 1 1 1 M0
0 1 1 0 1 1 M1
1 0 1 1 0 1 M2
1 1 1 1 1 0 M3
Summer2012 ETE 204 - Digital Electronics 9
Decoders
msb
3-to-8
Decoder
Summer2012 ETE 204 - Digital Electronics 10
Decoder with Enable
A Z0
2-to-4
B Decoder Z1
with Z2
Enable
En Z3
active-high enable
En A B Z0 Z1 Z2 Z3
1 0 0 1 0 0 0
1 0 1 0 1 0 0
enabled
1 1 0 0 0 1 0
1 1 1 0 0 0 1
disabled 0 x x 0 0 0 0
Summer2012 ETE 204 - Digital Electronics 11
Decoder with Enable
A Z0
2-to-4
B Decoder Z1
with Z2
Enable
En Z3
active-low enable
En A B Z0 Z1 Z2 Z3
0 0 0 1 0 0 0
0 0 1 0 1 0 0
enabled
0 1 0 0 0 1 0
0 1 1 0 0 0 1
disabled 1 x x 0 0 0 0
Summer2012 ETE 204 - Digital Electronics 12
Encoders
● An encoder has
- 2n inputs
- n outputs
● Outputs the binary value of the selected
(or active) input.
● Performs the inverse operation of a decoder.
● Issues
- What if more than one input is active?
- What if no inputs are active?
Summer2012 ETE 204 - Digital Electronics 13
Encoders
Y0
A
Y1 4-to-2
Y2 Encoder
B
Y3
Y0 Y1 Y2 Y3 A B
1 0 0 0 0 0
0 1 0 0 0 1
0 0 1 0 1 0
0 0 0 1 1 1
Summer2012 ETE 204 - Digital Electronics 14
Priority Encoders
● If more than one input is active, the higher-order
input has priority over the lower-order input.
- The higher value is encoded on the output
●A valid indicator, d, is included to indicate whether or
not the output is valid.
- Output is invalid when no inputs are active
d=0
●
- Output is valid when at least one input is active
● d=1
Why is the valid indicator needed?
Summer2012 ETE 204 - Digital Electronics 15
Priority Encoders
msb
8-to-3
Priority
Encoder
Valid bit
Summer2012 ETE 204 - Digital Electronics 16
Using a 2n-input Multiplexer
● Use a 2n-input multiplexer to realize a logic circuit for
a function with 2n minterms.
- n = # of control inputs = # of variables in the function
●Each minterm of the function can be mapped to a
data input of the multiplexer.
● For each row in the truth table, for the function,
where the output is 1, set the corresponding data
input of the multiplexer to 1.
-That is, for each minterm in the minterm expansion of the
function, set the corresponding input of the multiplexer to 1.
● Set the remaining inputs of the multiplexer to 0.
Summer2012 ETE 204 - Digital Electronics 17
Using an 2n-input Mux
Example:
Using an 8-to-1 multiplexer, design a logic circuit
to realize the following Boolean function
F(A,B,C) = m(2, 3, 5, 6, 7)
Summer2012 ETE 204 - Digital Electronics 18
Using an 2n-input Mux
Example:
Using an 8-to-1 multiplexer, design a logic circuit
to realize the following Boolean function
F(A,B,C) = m(1, 2, 4)
Summer2012 ETE 204 - Digital Electronics 19
Using an 2(n-1)-input Multiplexer
● Use a 2(n-1)-input multiplexer to realize a logic circuit
for a function with 2n minterms.
- n - 1 = # of control inputs; n = # of variables in function
● Group the rows of the truth table, for the function, into
2(n-1) pairs of rows.
- Each pair of rows represents a product term of (n - 1)
variables.
- Each pair of rows is mapped to one data input of the mux.
● Determine the logical function of each pair of rows in
terms of the remaining variable.
- If the remaining variable, for example, is x, then the
possible values are x, x', 0, and 1. 20
Summer2012 ETE 204 - Digital Electronics
Using an 2(n-1)-input Mux
Example: F(x,y,z) = m(1, 2, 6, 7)
Summer2012 ETE 204 - Digital Electronics 22
Using an 2(n-1)-input Mux
Example: F(A,B,C,D) = m(1,3,4,11,12-15)
Summer2012 ETE 204 - Digital Electronics 22
Using a 2(n-2)-input Mux
A similar design approach can be implemented
using a 2(n-2)-input multiplexer.
Summer2012 ETE 204 - Digital Electronics 23
Circuit Design using Decoders
Summer2012 ETE 204 - Digital Electronics 24
Using an n-output Decoder
● Use an n-output decoder to realize a logic circuit for a
function with n minterms.
●Each minterm of the function can be mapped to an
output of the decoder.
● For each row in the truth table, for the function, where
the output is 1, sum (or “OR”) the corresponding
outputs of the decoder.
-That is, for each minterm in the minterm expansion of the
function, OR the corresponding outputs of the decoder.
● Leave remaining outputs of the decoder unconnected.
Summer2012 ETE 204 - Digital Electronics 25
Using an n-output Decoder
Example:
Using a 3-to-8 decoder, design a logic circuit to
realize the following Boolean function
F(A,B,C) = m(2, 3, 5, 6, 7)
Summer2012 ETE 204 - Digital Electronics 26
Using an n-output Decoder
Example:
Using two 2-to-4 decoders, design a logic circuit
to realize the following Boolean function
F(A,B,C) = m(0, 1, 4, 6, 7)
Summer2012 ETE 204 - Digital Electronics 27
Hierarchical Design
● Several issues arise when designing large
multiplexers and decoders (as 2-level circuits).
- Number of logic gates gets prohibitively large
- Number of inputs to each logic gate (i.e. fan-in)
gets prohibitively large
● Instead, design both hierarchically
- Use smaller elements as building blocks
- Interconnect building blocks in a multi-tier
structure
Summer2012 ETE 204 - Digital Electronics 28
Hierarchical Design
Exercise:
Design an 8-to-1 multiplexer using
4-to-1 and 2-to-1 multiplexers only.
Summer2012 ETE 204 - Digital Electronics 29
Hierarchical Design
Exercise:
Design a 16-to-1 multiplexer using
4-to-1 multiplexers only.
Summer2012 ETE 204 - Digital Electronics 30
Hierarchical Design
Exercise:
Design a 4-to-16 decoder using
2-to-4 decoders only.
Summer2012 ETE 204 - Digital Electronics 31
Questions?
Summer2012 ETE 204 - Digital Electronics 32