Multiplexers Decoders and Encoders
Multiplexers Decoders and Encoders
The slides included herein were taken from the materials accompanying
Fundamentals of Logic Design, 6th Edition, by Roth and Kinney,
and were used with permission from Cengage Learning.
Multiplexers
Data
inputs
Z = A′.I0 + A.I1
Control
input
Spring 2011 ECE 331 - Digital System Design 4
Multiplexers
A B Z
0 0 I0
0 1 I1
1 0 I2
1 20 1 1 I3
2
m0 = A'.B'
MSB LSB m1 = A'.B
m2 = A.B'
m3 = A.B
MSB LSB
20
2n-1
Z = Σ mi.Ii
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
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
3-to-8
Decoder
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
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
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
ENTITY priority IS
PORT ( w : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;
y : OUT STD_LOGIC_VECTOR(1 DOWNTO 0) ;
z : OUT STD_LOGIC ) ;
END priority ;
valid indicator
2 output bits
ARCHITECTURE Behavior OF priority IS
BEGIN
y <= "11" WHEN w(3) = '1' ELSE
"10" WHEN w(2) = '1' ELSE Active-high
inputs and outputs
"01" WHEN w(1) = '1' ELSE
"00" ;
z <= '0' WHEN w = "0000" ELSE '1' ;
END Behavior ;
Spring 2011 ECE 331 - Digital System Design 28
Circuit Design using Multiplexers
Example:
F(A,B,C) = Σm(2, 3, 5, 6, 7)
Example:
F(A,B,C) = Σm(1, 2, 4)
Example:
F(A,B,C) = Σm(2, 3, 5, 6, 7)
Example:
F(A,B,C) = Σm(0, 1, 4, 6, 7)
Exercise:
Exercise:
Exercise: