Escolar Documentos
Profissional Documentos
Cultura Documentos
BUILDING BLOCKS
Introduction
Decoders
Encoders
Priority Encoders
Demultiplexers
Multiplexers
Carry Select Adders
Shifters
AY11/12 Sem 1
INTRODUCTION
Decoder
Demultiplexer
Encoder
Multiplexer
input
decoder
mux
select
AY11/12 Sem 1
entity
data
entity
encoder
data
demux
code
output
select
Other Important Building Blocks
DECODERS
DECODERS (1/5)
AY11/12 Sem 1
DECODERS (2/5)
Example: If codes 00, 01, 10, 11 are used to identify four light
bulbs, we may use a 2-bit decoder.
2x4
F0
X Dec F
2-bit
code
Bulb 0
Bulb 1
Bulb 2
Bulb 3
F2
F3
0
0
1
1
AY11/12 Sem 1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
DECODERS (3/5)
F0 = X'Y'
Y F0
0 1
1 0
0 0
1 0
AY11/12 Sem 1
F1 F2 F3
0 0 0
1 0 0
0 1 0
0 0 1
F1 = X'Y
F2 = XY'
F3 = XY
DECODERS (4/5)
F0 = x'y'z'
Design a 38 decoder.
F1 = x'y'z
F2 = x'yz'
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z F0
0 1
1 0
0 0
1 0
0 0
1 0
0 0
1 0
F1
0
1
0
0
0
0
0
0
F2
0
0
1
0
0
0
0
0
F3
0
0
0
1
0
0
0
0
F4
0
0
0
0
1
0
0
0
F5
0
0
0
0
0
1
0
0
F6
0
0
0
0
0
0
1
0
F7
0
0
0
0
0
0
0
1
F3 = x'yz
F4 = xy'z'
F5 = xy'z
F6 = xyz'
F7 = xyz
x
AY11/12 Sem 1
z
8
DECODERS (5/5)
n-bit
code
AY11/12 Sem 1
n to 2n
decoder
up to 2n
output lines
AY11/12 Sem 1
10
3x8
Dec
x
S2
S1
AY11/12 Sem 1
S0
0
1
2
3
4
5
6
7
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
C S
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
11
3x8
Dec
0 x
S2
0 y
S1
0 z
S0
AY11/12 Sem 1
0
1
2
3
4
5
6
7
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
C S
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
12
3x8
Dec
0 x
S2
0 y
S1
1 z
S0
AY11/12 Sem 1
0
1
2
3
4
5
6
7
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
C S
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
13
3x8
Dec
1 x
S2
1 y
S1
1 z
S0
AY11/12 Sem 1
0
1
2
3
4
5
6
7
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
C S
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
14
Truth table:
E X
1 0
1 0
1 1
1 1
0 X
Y
0
1
0
1
X
F0 = EX'Y'
F0 F1 F2 F3
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
F1 = EX'Y
F2 = EXY'
F3 = EXY
Circuit of a 24 decoder
with enable:
X
AY11/12 Sem 1
E
15
Y
0
1
0
1
X
F0 F1 F2 F3
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
AY11/12 Sem 1
E'
0
0
0
0
1
X
0
0
1
1
X
Y
0
1
0
1
X
F0 F1 F2 F3
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
16
Example: A 38 decoder
can be built from two 24
decoders (with oneenable) and an inverter.
w
x
y
w
x
y
S2
S1
S0
3x8
Dec
S1
S0
S1
S0
AY11/12 Sem 1
2x4
Dec
E
2x4
Dec
E
F0 = w'x' y'
F1 = w' x' y
:
:
F 7 = w x y
0
1
:
:
7
0
1
2
3
0
1
2
3
F4 = w x' y'
F5 = w x' y
F6 = w x y'
F7 = w x y
17
w
x
y
S1
S0
S1
S0
AY11/12 Sem 1
2x4
Dec
E
2x4
Dec
E
0
1
2
3
S2
S1
S0
3x8
Dec
0
1
:
:
7
F0 = w'x' y'
F1 = w' x' y
:
:
F 7 = w x y
F4 = w x' y'
F5 = w x' y
F6 = w x y'
F7 = w x y
18
w
x
y
z
S3
S2
S1
S0
4x16
Dec
AY11/12 Sem 1
0
1
:
:
15
F0
F1
:
:
F15
S2
S1
S0
S2
S1
S0
3x8
Dec
3x8
Dec
0
1
:
7
F0
F1
:
F7
0
1
:
7
F8
F9
:
F15
19
Note: The input, w and its complement, w', are used to select
either one of the two smaller decoders.
AY11/12 Sem 1
20
21
(c)
AY11/12 Sem 1
22
AY11/12 Sem 1
23
A
B
C
0
1
2
3
4
5
6
7
f(Q,X,P)
= m(0,1,4,6,7)
f(Q,X,P)
A
B
C
0
1
2
3
4
5
6
7
A
B
C
0
1
2
3
4
5
6
7
f(Q,X,P)
f(Q,X,P)
Q
X
P
Q
X
P
3x8
Dec
A
B
C
0
1
2
3
4
5
6
7
f(Q,X,P)
24
READING ASSIGNMENT
Reducing Decoders
Read up DLD pg 134 138.
AY11/12 Sem 1
25
ENCODERS
ENCODERS (1/4)
Select via
switches
AY11/12 Sem 1
F1
F2
F3
D0
4-to-2
Encoder
D1
2-bits
code
27
ENCODERS (2/4)
Truth table:
Circuit:
AY11/12 Sem 1
F0 F1
1 0
0 1
0 0
0 0
0 0
0 0
0 1
0 1
0 1
1 0
1 0
1 0
1 1
1 1
1 1
1 1
F2 F3
0 0
0 0
1 0
0 1
0 0
1 1
0 1
1 0
1 1
0 1
1 0
1 1
0 0
0 1
1 0
1 1
D1
0
0
1
1
X
X
X
X
X
X
X
X
X
X
X
X
D0
0
1
0
1
X
X
X
X
X
X
X
X
X
X
X
X
28
ENCODERS (3/4)
D0
1
0
0
0
0
0
0
0
AY11/12 Sem 1
D1
0
1
0
0
0
0
0
0
D2
0
0
1
0
0
0
0
0
D3
0
0
0
1
0
0
0
0
D4
0
0
0
0
1
0
0
0
Outputs
D5
0
0
0
0
0
1
0
0
D6
0
0
0
0
0
0
1
0
D7
0
0
0
0
0
0
0
1
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
29
ENCODERS (4/4)
x = D4 + D5 + D6 + D7
D2
D3
y = D2 + D3 + D6 + D7
D4
D5
D6
D7
z = D1 + D3 + D5 + D7
An 8-to-3 encoder
AY11/12 Sem 1
30
AY11/12 Sem 1
31
AY11/12 Sem 1
32
F2 F3
0 0
0 0
1 0
0 1
0 0
1 1
0 1
1 0
1 1
0 1
1 0
1 1
0 0
0 1
1 0
1 1
D1
0
0
1
1
X
X
X
X
X
X
X
X
X
X
X
X
D0
0
1
0
1
X
X
X
X
X
X
X
X
X
X
X
X
F3 F2
1 X
0 1
0 0
0 0
F1
X
X
1
0
F0
X
X
X
X
D1
1
1
0
0
D0
1
0
1
0
Priority encoder
(Implementation a tutorial
exercise.)
33
DEMULTIPLEXERS
DEMULTIPLEXERS (1/2)
Given an input line and a set of selection lines, a
demultiplexer directs data from the input to one selected
output line.
Example: 1-to-4 demultiplexer.
Outputs
Y0 = DS1'S0'
Data D
demux
Y1 = DS1'S0
Y2 = DS1S0'
Y3 = DS1S0
S1 So
0 0
0 1
1 0
1 1
Y0
D
0
0
0
Y1
0
D
0
0
Y2
0
0
D
0
Y3
0
0
0
D
S1 S0
select
AY11/12 Sem 1
35
DEMULTIPLEXERS (2/2)
S1
S0
0
24
Decoder
1
A
B
2
Y0 = ?
Y3 = ?
Y1 = ?
Y2 = ?
AY11/12 Sem 1
36
MULTIPLEXERS
MULTIPLEXERS (1/5)
inputs
2n:1
Multiplexer
output
...
select
AY11/12 Sem 1
38
MULTIPLEXERS (2/5)
I1
d1
d1
d1
d1
I2
d2
d2
d2
d2
I3
d3
d3
d3
d3
S1
0
0
1
1
S0
0
1
0
1
Inputs
I0
I1
I2
I3
Y
d0
d1
d2
d3
S1
0
0
1
1
Y
I0
I1
I2
I3
Inputs
0
4:1
1 MUX
Y
2
3
S1 S 0
Output
I0
I1
I2
I3
4:1
mux
S1 S 0
select
select
AY11/12 Sem 1
S0
0
1
0
1
39
MULTIPLEXERS (3/5)
Output of multiplexer is
sum of the (product of data lines and selection lines)
0
0
1
1
AY11/12 Sem 1
0
1
0
1
I0
I1
I2
I3
40
MULTIPLEXERS (4/5)
I0
I1
I1
Y
I2
I2
I3
I3
0 1 2 3
2-to-4
Decoder
S1
S1 S0
AY11/12 Sem 1
S0
41
MULTIPLEXERS (5/5)
An application:
AY11/12 Sem 1
42
MULTIPLEXER IC PACKAGE
Y0
A1
Y1
A2
Y2
A3
Y3
E S Output Y
1 X
all 0s
0 0 select A
0 1 select B
B0
B1
B2
S
B3
(select)
E'
(enable)
AY11/12 Sem 1
43
I0
I1
I2
I3
4:1
MUX
S1 S0
I4
I5
I6
I7
4:1
MUX
2:1
MUX
S2
S2
0
0
0
0
1
1
1
1
S1
0
0
1
1
0
0
1
1
S0
0
1
0
1
0
1
0
1
Y
I0
I1
I2
I3
I4
I5
I6
I7
S1 S0
AY11/12 Sem 1
44
I0
I1
I2
I3
4:1
MUX
2:1
MUX
S1 S0
I4
I5
I6
I7
4:1
MUX
I0 I1 I6
I4 I5 I6
S2
S1 S0
AY11/12 Sem 1
S2
0
0
0
0
1
1
1
1
S1
0
0
1
1
0
0
1
1
S0
0
1
0
1
0
1
0
1
Y
I0
I1
I2
I3
I4
I5
I6
I7
45
2:1
MUX
I1
I2
I3
I2
2:1
MUX
I0
S0
4:1
MUX
S0
I4
I5
2:1 I4
MUX
S0 I6
I7
I0
S2
0
0
0
0
1
1
1
1
S1
0
0
1
1
0
0
1
1
S0
0
1
0
1
0
1
0
1
Y
I0
I1
I2
I3
I4
I5
I6
I7
S2 S 1
2:1
MUX
S0
AY11/12 Sem 1
S2S1S0 = 000
I6
46
AY11/12 Sem 1
47
(b)
AY11/12 Sem 1
48
(c)
74151A 8-to-1 multiplexer. (c) Logic diagram. (d) Generic logic symbol.
(e) IEEE standard logic symbol.
Source: The TTL Data Book Volume 2. Texas Instruments Inc.,1985.
AY11/12 Sem 1
49
MULTIPLEXERS: IMPLEMENTING
FUNCTIONS (1/3)
AY11/12 Sem 1
50
MULTIPLEXERS: IMPLEMENTING
FUNCTIONS (2/3)
F(A,B,C) = m(1,3,5,6)
0
1
0
1
0
1
1
0
0
1
2
3 mux
4
5
6
7
A B C
AY11/12 Sem 1
51
MULTIPLEXERS: IMPLEMENTING
FUNCTIONS (3/3)
52
AY11/12 Sem 1
53
0
1
2
3 mux
4
5
6
7
1
C
0
C'
A B C
0
1
2
mux
A B
AY11/12 Sem 1
54
Procedure
1. Express Boolean function in sum-of-minterms form.
Example: F(A,B,C) = m(0,1,3,6)
AY11/12 Sem 1
55
AY11/12 Sem 1
MUX
input
?
?
?
?
0
1
2
mux
A B
56
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
?
?
?
?
AY11/12 Sem 1
A
0
0
0
0
1
1
1
1
Mux
Input
1
C
0
C
0
1
2
mux
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
1
1
0
1
0
0
1
0
B C
57
AY11/12 Sem 1
58
AY11/12 Sem 1
59
BH
cin
AH
AL
BH
cout
cout
cin
BL
+
cin
CL
2-to-1 MUX
MUX
cout
AY11/12 Sem 1
CH
Other Important Building Blocks
60
AY11/12 Sem 1
61
SHIFTERS
SHIFTERS
0010 = 2
AY11/12 Sem 1
63
SHIFTERS
0010 = 4
0100
2
AY11/12 Sem 1
64
SHIFTERS
0010 = 4
0100
2
0101 = 5
AY11/12 Sem 1
65
SHIFTERS
0010 = 4
0100
2
0101 = 2
0010
5
AY11/12 Sem 1
66
SHIFTERS
AY11/12 Sem 1
67
SHIFTERS
AY11/12 Sem 1
68
SHIFTERS
AY11/12 Sem 1
69
SHIFTERS
LSB
MSB
7 6 5 4 3 2 1 0
LSB
MSB
LSB
7 6 5 4 3 2 1 0
LSB
7 6 5 4 3 2 1 0
MSB
MSB
Left shifts
7 6 5 4 3 2 1 0
0
Logical left shift
AY11/12 Sem 1
0
Arithmetic left shift
70
SHIFTERS
7 6 5 4 3 2 1 0
LSB
MSB
LSB
MSB
Right shifts
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
LSB
MSB
LSB
MSB
0100 = 4
7 6 5 4 3 2 1 0
0
Logical right shift
AY11/12 Sem 1
71
SHIFTERS
7 6 5 4 3 2 1 0
LSB
MSB
LSB
MSB
Right shifts
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
LSB
MSB
LSB
MSB
0010 = 2
7 6 5 4 3 2 1 0
0
Logical right shift
AY11/12 Sem 1
72
SHIFTERS
7 6 5 4 3 2 1 0
LSB
MSB
LSB
MSB
Right shifts
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
LSB
MSB
LSB
MSB
1110 = -2
7 6 5 4 3 2 1 0
0
Logical right shift
AY11/12 Sem 1
73
SHIFTERS
7 6 5 4 3 2 1 0
LSB
MSB
LSB
MSB
Right shifts
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
LSB
MSB
LSB
MSB
1111 = -1
7 6 5 4 3 2 1 0
0
Logical right shift
AY11/12 Sem 1
But what
if I right
shift some
more???
74
BARREL SHIFTERS
Stage 0: shift by 4
Stage 1: shift by 2
Stage 2: shift by 1
AY11/12 Sem 1
75
BARREL SHIFTERS
Use MUX!
X7
X6
X5
X4
X3
X2
S2
Shift by 2 stage
S1
0
Shift by 1 stage
AY11/12 Sem 1
X0
Shift by 4 stage
0
X1
S0
76
BARREL SHIFTERS
An Example:
X7
X6
X5
X4
X3
X2
S2 = 0
Shift by 2 stage
S1 = 1
0
Shift by 1 stage
AY11/12 Sem 1
X0
Shift by 4 stage
0
X1
S0 = 1
77
BARREL SHIFTERS
An Example:
X7
X6
X5
X4
X3
X2
S2 = 0
Shift by 2 stage
S1 = 1
0
Shift by 1 stage
AY11/12 Sem 1
X0
Shift by 4 stage
0
X1
S0 = 1
78
BARREL SHIFTERS
An Example:
X7
X6
X5
X4
X3
X2
S2 = 0
Shift by 2 stage
S1 = 1
0
Shift by 1 stage
AY11/12 Sem 1
X0
Shift by 4 stage
0
X1
S0 = 1
79
BARREL SHIFTERS
An Example:
X7
X6
X5
X4
X3
X2
S2 = 0
Shift by 2 stage
S1 = 1
0
Shift by 1 stage
AY11/12 Sem 1
X0
Shift by 4 stage
0
X1
S0 = 1
80
BARREL SHIFTERS
An Example:
X7
X6
X5
X4
X3
X2
X1
X0
Shift by 4 stage
0
S2 = 0
Shift by 2 stage
S1 = 1
0
Shift by 1 stage
S0 = 1
0
AY11/12 Sem 1
X7
X6
X5
X4
X3
81
BARREL SHIFTERS
An Example:
X7
X6
X5
X4
X3
X2
X1
X0
tic
e
thm
i
r
ta
u
bo
a
at
h
W
Shift by 2 stage
0
Shift by 1 stage
0
AY11/12 Sem 1
t)
gSh2 = 0
Shift by 4 stage
X7
X6
X5
X4
ri
(
t
if
sh
S1 = 1
S0 = 1
X3
82
END
AY11/12 Sem 1
83