CECS470

advertisement
Combinational Logic Building Blocks
• Decoders:
– Binary n-to-2n decoders.
– Implementing functions using
decoders.
• Encoders:
– 2n -to-n binary decoders.
• Three-State Buffers.
• Multiplexers.
• Demultiplexers
EECC341 - Shaaban
#1 Lec # 9 Winter 2001 1-10-2002
Decoders
• A decoder is a multiple-input, multiple-output logic
circuit that converts coded inputs into coded outputs,
where the input and output codes are different.
e.g. n-to-2n, BCD decoders.
• Enable inputs must be on for the decoder to function,
otherwise its outputs assume a single “disabled” output
code word.
Input
Code word
Decoder
Map
Output
code word
Enable
inputs
EECC341 - Shaaban
#2 Lec # 9 Winter 2001 1-10-2002
Decoder Example: Seven-Segment Decoders
/Bl
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
-- don’t care inputs --
• A seven segment decoder
has 4-bit BCD input and
the seven segment display
code as its output:
• In minimizing the circuits
for the segment outputs all
non-decimal input combinations
(1010, 1011, 1100,1101, 1110,
1111) are taken as don’t-cares
DC
x x
0 0
0 0
0 0
0 0
0 1
0 1
0 1
0 1
1 0
1 0
1 0
1 0
1 1
1 1
1 1
1 1
B
x
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
A
x
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
a
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
b
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
c
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
d e
0 0
1 1
0 0
1 1
1 0
0 0
1 0
1 1
0 0
1 1
0 0
1 1
1 0
0 0
1 0
1 1
0 0
f
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
g
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
EECC341 - Shaaban
#3 Lec # 9 Winter 2001 1-10-2002
Binary n-to-2n Decoders
• A binary decoder has n inputs and 2n outputs.
• Only the output corresponding to the input value is equal
to 1.
n
inputs
:
n to 2n
decoder
:
2n
outputs
EECC341 - Shaaban
#4 Lec # 9 Winter 2001 1-10-2002
2-to-4 Binary Decoder
Truth Table:
X
0
0
1
1
•
•
Y F0
0 1
1 0
0 0
1 0
F1 F2 F3
0 0 0
1 0 0
0 1 0
0 0 1
F0 = X'Y'
F1 = X'Y
From truth table, circuit for
2x4 decoder is:
F2 = XY'
Note: Each output is a 2variable minterm (X'Y', X'Y,
XY' or XY)
F3 = XY
F0
X
Y
2-to-4
Decoder
X
Y
F1
F2
F3
EECC341 - Shaaban
#5 Lec # 9 Winter 2001 1-10-2002
3-to-8 Binary Decoder
Truth Table:
F0 = x'y'z'
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
F1 = x'y'z
F2 = x'yz'
F3 = x'yz
F4 = xy'z'
F5 = xy'z
F6 = xyz'
F0
Y
Z
F7 = xyz
F1
X
3-to-8
Decoder
F2
F3
F4
F5
F6
x
y
z
F7
EECC341 - Shaaban
#6 Lec # 9 Winter 2001 1-10-2002
Implementing Functions Using Decoders
• Any n-variable logic function, in canonical sum-of-minterms
form can be implemented using a single n-to-2n decoder to
generate the minterms, and an OR gate to form the sum.
– The output lines of the decoder corresponding to the minterms
of the function are used as inputs to the or gate.
• Any combinational circuit with n inputs and m outputs can be
implemented with an n-to-2n decoder with m OR gates.
• Suitable when a circuit has many outputs, and each output
function is expressed with few minterms.
EECC341 - Shaaban
#7 Lec # 9 Winter 2001 1-10-2002
Implementing Functions Using Decoders
• Example: Full adder
S(x, y, z) = S (1,2,4,7)
C(x, y, z) = S (3,5,6,7)
3-to-8 0
Decoder 1
x
S2
y
S1
z
S0
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
S
C
EECC341 - Shaaban
#8 Lec # 9 Winter 2001 1-10-2002
Standard MSI Binary Decoders Example
74138 (3-to-8 decoder)
(a) Logic circuit.
(b) Package pin configuration.
(c) Function table.
EECC341 - Shaaban
#9 Lec # 9 Winter 2001 1-10-2002
Encoders
• If the a decoder's output code has fewer bits than the
input code, the device is usually called an encoder.
e.g. 2n-to-n, priority encoders.
• The simplest encoder is a 2n-to-n binary encoder, where it
has only one of 2n inputs = 1 and the output is the n-bit
binary number corresponding to the active input.
• For an 8-to-3 binay encoder with inputs I0-I7 the logic
expressions of the outputs Y0-Y2 are:
Y0 = I1 + I3 + I5 + I7
Y1= I2 + I3 + I6 + I7
Y2 = I4 + I5 + I6 +I7
2n
inputs
.
.
.
Binary
encoder
.
.
.
n
outputs
EECC341 - Shaaban
#10 Lec # 9 Winter 2001 1-10-2002
8-to-3 Binary Encoder
At any one time, only
one input line has a value of 1.
I0
I1
Inputs
I0
1
0
0
0
0
0
0
0
I1
0
1
0
0
0
0
0
0
I2
0
0
1
0
0
0
0
0
I3
0
0
0
1
0
0
0
0
I4
0
0
0
0
1
0
0
0
Outputs
I5
0
0
0
0
0
1
0
0
I6
0
0
0
0
0
0
1
0
I7
0
0
0
0
0
0
0
1
y2
0
0
0
0
1
1
1
1
y1
0
0
1
1
0
0
1
1
y2
0
1
0
1
0
1
0
1
Y2 = I4 + I5 + I6 + I7
I2
I3
y 1 = I2 + I 3 + I6 + I7
I4
I5
I6
I7
Y0 = I1 + I3 + I5 + I7
EECC341 - Shaaban
#11 Lec # 9 Winter 2001 1-10-2002
Three State (Tri-State) Buffers
• Three state buffers are CMOS and TTL devices whose
outputs may be in one of three states: 0, 1 or Hi-Z (high
impedance, or floating state.
• Have an extra input called “output enable” or “output
disable”.
• When enables the device transmits the input value or its
complement to the output.
Enable
Input
Output
EECC341 - Shaaban
#12 Lec # 9 Winter 2001 1-10-2002
Multiplexers
• A multiplexer (MUX) is a digital switches which
connects data from one of n sources to the output.
• A number of select inputs determine which data source is
connected to the output.
Enable
1Y
D0
Multiplexer
EN
s bits
Select
2Y
SEL
Data
output
b bits
D0
b bits
D1
n Data
Sources
.
.
b bits
Y
D1
.
.
.
.
.
.
bY
Dn-1
Dn-1
SEL
EN
EECC341 - Shaaban
#13 Lec # 9 Winter 2001 1-10-2002
4-to-1 MUX
Truth table for a 4-to-1 multiplexer:
I0
d0
d0
d0
d0
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
Y
d0
d1
d2
d3
Inputs
I0
I1
I2
I3
S1
0
0
1
1
S0
0
1
0
1
Y
I0
I1
I2
I3
Inputs
0
4:1
1
MUX
Y
2
3
S 1 S0
I0
I1
Output
I2
mux
Y
I3
S1 S 0
select
select
EECC341 - Shaaban
#14 Lec # 9 Winter 2001 1-10-2002
4-to-1 MUX Circuit
I0
I0
I1
I1
Y
I2
Y
I2
I3
I3
0 1 2 3
2-to-4
Decoder
S1 S0
S1
S0
EECC341 - Shaaban
#15 Lec # 9 Winter 2001 1-10-2002
Larger Multiplexers
• Larger multiplexers can be constructed from smaller ones.
• An 8-to-1 multiplexer can be constructed from smaller
multiplexers as shown:
I0
I1
I2
I3
4:1
MUX
S1 S0
I4
I5
I6
I7
4:1
MUX
2:1
MUX
S2
Y
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
EECC341 - Shaaban
#16 Lec # 9 Winter 2001 1-10-2002
Larger Multiplexers
• A 16-to-1 multiplexer can be
constructed from five 4-to-1
multiplexers:
EECC341 - Shaaban
#17 Lec # 9 Winter 2001 1-10-2002
Standard MSI Multiplexer Example
74151A 8-to-1 multiplexer.
EECC341 - Shaaban
#18 Lec # 9 Winter 2001 1-10-2002
Demultiplexers
• Digital switches to connect data from one input source to one
of n outputs.
• Usually implemented by using n-to-2n binary decoders where
the decoder’s enable line is used for data input of the
demultiplexer.
Demux
b bits
Select
Data
Input
One of n
Data
Sources
selected
Select
lines
b bits
.
.
b bits
One of n outputs
s bits
2X4
Decoder
Input
data (1bit)
One of
four 1-bit
outputs
Enable
1-bit 4-output demultiplexer using
a 2x4 binary decoder.
EECC341 - Shaaban
#19 Lec # 9 Winter 2001 1-10-2002
1-to-4 Demultiplexer
Outputs
Y0 = D.S1'.S0'
Y1 = D.S1'.S0
Data D
demux
Y2 = D.S1.S0'
Y3 = D.S1.S0
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
Y0 = D.S1'.S0'
S1
2x4
Decoder
S0
Y1 = D.S1'.S0
Y2 = D.S1.S0'
E
Y3 = D.S1.S0
D
EECC341 - Shaaban
#20 Lec # 9 Winter 2001 1-10-2002
Mux-Demux Application Example
This enables sharing a single communication line
among a number of devices.
At any time, only one source and one destination can
use the communication line.
EECC341 - Shaaban
#21 Lec # 9 Winter 2001 1-10-2002
Download