decoders. outline useful msi circuits decoders implementing functions with decoders decoders...
Post on 24-Dec-2015
262 Views
Preview:
TRANSCRIPT
Decoders
Outline
Useful MSI circuits
Decoders
Implementing Functions with Decoders
Decoders with Enable
Larger Decoders
Standard MSI Decoders
Implementing Functions with Decoders
Outline
Useful MSI circuits
Decoders
Implementing Functions with Decoders
Decoders with Enable
Larger Decoders
Standard MSI Decoders
Implementing Functions with Decoders
Useful MSI circuits
Four common and useful MSI circuits are: Decoder Encoder Demultiplexer Multiplexer
Block-level outlines of MSI circuits:
decodercode entity
encodercodeentity
mux datainput
select
demuxdata output
select
Outline
Useful MSI circuits
Decoders
Implementing Functions with Decoders
Decoders with Enable
Larger Decoders
Standard MSI Decoders
Implementing Functions with Decoders
Decoders (1/5)
Codes are frequently used to represent entities, e.g. your name is a code to denote yourself (an entity!).
These codes can be identified (or decoded) using a decoder. Given a code, identify the entity.
Convert binary information from n input lines to (max. of) 2n output lines.
Known as n-to-m-line decoder, or simply n:m or nm decoder (m 2n).
May be used to generate 2n (or fewer) minterms of n input variables.
Decoders (2/5)
Example: if codes 00, 01, 10, 11 are used to identify four light bulbs, we may use a 2-bit decoder:
2x4Dec2-bit
codeX
Y
F0
F1
F2
F3
Bulb 0Bulb 1Bulb 2Bulb 3
This is a 24 decoder which selects an output line based on the 2-bit code supplied.
Truth table:X Y F0 F1 F2 F3
0 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1
Decoders (3/5)
From truth table, circuit for 24 decoder is:
Note:
Each output is a 2-variable minterm (X'.Y', X'.Y, X.Y' or X.Y)
X Y F0 F1 F2 F3
0 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1
F0 = X'.Y'
F1 = X'.Y
F2 = X.Y'
F3 = X.Y
X Y
Decoders (4/5)
Design a 38 decoder.
x y z F0 F1 F2 F3 F4 F5 F6 F7
0 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1
F1 = x'.y'.z
x zy
F0 = x'.y'.z'
F2 = x'.y.z'
F3 = x'.y.z
F5 = x.y'.z
F4 = x.y'.z'
F6 = x.y.z'
F7 = x.y.z
Application?
Binary-to-octal conversion.
Decoders (5/5)
In general, for an n-bit code, a decoder could select up to 2n lines:
: :n-bitcode
n to 2n
decoderup to 2n
output lines
Outline
Useful MSI circuits
Decoders
Implementing Functions with Decoders
Decoders with Enable
Larger Decoders
Standard MSI Decoders
Implementing Functions with Decoders
Decoders: Implementing Functions (1/5)
A Boolean function, in sum-of-minterms form decoder to generate the minterms, and an OR gate to form the sum.
Any combinational circuit with n inputs and m outputs can be implemented with an n:2n decoder with m OR gates.
Good when circuit has many outputs, and each function is expressed with few minterms.
Decoders: Implementing Functions (2/5)
Example: Full adder
S(x, y, z) = m(1,2,4,7)
C(x, y, z) = m(3,5,6,7)
3x8Dec
S2
S1
S0
x
y
z
0
1
2
3
4
5
6
7
S
C
x y z C S0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1
Decoders: Implementing Functions (3/5)
3x8Dec
S2
S1
S0
x
y
z
0
1
2
3
4
5
6
7
S
C
x y z C S0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1
10000000
0
0
0
0
0
Decoders: Implementing Functions (4/5)
3x8Dec
S2
S1
S0
x
y
z
0
1
2
3
4
5
6
7
S
C
x y z C S0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1
01000000
1
0
0
0
1
Decoders: Implementing Functions (5/5)
3x8Dec
S2
S1
S0
x
y
z
0
1
2
3
4
5
6
7
S
C
x y z C S0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1
00000001
1
1
1
1
1
Outline
Useful MSI circuits
Decoders
Implementing Functions with Decoders
Decoders with Enable
Larger Decoders
Standard MSI Decoders
Implementing Functions with Decoders
Decoders with Enable (1/2)
Decoders often come with an enable signal, so that the device is only activated when the enable, E=1.
Truth table:
E X Y F0 F1 F2 F3
1 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 10 X X 0 0 0 0
F0 = EX'Y'
F1 = EX'Y
F2 = EXY'
F3 = EXY
X Y E
Circuit:
Decoders with Enable (2/2)
In the previous slide, the decoder has a one-enable signal, that is, the decoder is enabled with E=1.
In most MSI decoders, enable signal is zero-enable, usually denoted by E’ (or E). The decoder is enabled when the signal is zero.
E X Y F0 F1 F2 F3
1 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 10 X X 0 0 0 0
E' X Y F0 F1 F2 F3
0 0 0 1 0 0 00 0 1 0 1 0 00 1 0 0 0 1 00 1 1 0 0 0 11 X X 0 0 0 0
Decoder with 1-enable Decoder with 0-enable
Outline
Useful MSI circuits
Decoders
Implementing Functions with Decoders
Decoders with Enable
Larger Decoders
Standard MSI Decoders
Implementing Functions with Decoders
Larger Decoders (1/6)
Larger decoders can be constructed from smaller ones.
For example, a 3-to-8 decoder can be constructed from two 2-to-4 decoders (with one-enable), as follows:
3x8Dec
S2
S1
S0
wxy
01::7
F0 = w'x'y'F1 = w'x'y::F7 = wxy
2x4Dec
S1
S0
0123
F0 = w'x'y'F1 = w'x'yF2 = w'xy'F3 = w'xyE
2x4Dec
S1
S0
0123
F4 = wx'y'F5 = wx'yF6 = wxy'F7 = wxyE
wxy
Larger Decoders (2/6)
3x8Dec
S2
S1
S0
wxy
01::7
F0 = w'x'y'F1 = w'x'y::F7 = wxy
2x4Dec
S1
S0
0123
F0 = w'x'y'F1 = w'x'yF2 = w'xy'F3 = w'xyE
2x4Dec
S1
S0
0123
F4 = wx'y'F5 = wx'yF6 = wxy'F7 = wxyE
wxy
000
0000
1000
0 = disabled
1 = enabled
Larger Decoders (3/6)
3x8Dec
S2
S1
S0
wxy
01::7
F0 = w'x'y'F1 = w'x'y::F7 = wxy
2x4Dec
S1
S0
0123
F0 = w'x'y'F1 = w'x'yF2 = w'xy'F3 = w'xyE
2x4Dec
S1
S0
0123
F4 = wx'y'F5 = wx'yF6 = wxy'F7 = wxyE
wxy
001
0000
0100
0 = disabled
1 = enabled
Larger Decoders (4/6)
3x8Dec
S2
S1
S0
wxy
01::7
F0 = w'x'y'F1 = w'x'y::F7 = wxy
2x4Dec
S1
S0
0123
F0 = w'x'y'F1 = w'x'yF2 = w'xy'F3 = w'xyE
2x4Dec
S1
S0
0123
F4 = wx'y'F5 = wx'yF6 = wxy'F7 = wxyE
wxy
110
0010
0000
1 = enabled
0 = disabled
Larger Decoders (5/6)
Construct a 4x16 decoder from two 3x8 decoders with 1-enable.
4x16DecS3
S2
S1
S0
wxyz
01::
15
F0
F1
::F15
3x8Dec
S2
S1
S0
01:7
F0
F1
:F7E
3x8Dec
S2
S1
S0
01:7
F8
F9
:F15E
wxyz
Larger Decoders (6/6)
Note: The input, w and its complement, w', is used to select either one of the two smaller decoders.
Decoders may also have zero-enable and/or negated outputs. (Normal outputs = active high; negated outputs = active low.)
Exercise:
What modifications must be made to provide an ENABLE input for the 3x8 decoder (2 slides ago) and the 4x16 decoder (previous slide) created?
Exercise:
How to construct a 4x16 decoder using five 2x4 decoders with enable?
Outline
Useful MSI circuits
Decoders
Implementing Functions with Decoders
Decoders with Enable
Larger Decoders
Standard MSI Decoders
Implementing Functions with Decoders
Standard MSI Decoders (1/2)
74138 (3-to-8 decoder)
74138 decoder module. (a) Logic circuit. (b) Package pin configuration.
Standard MSI Decoders (2/2)
74138 decoder module.
(c) Function table.
74138 decoder module. (d) Generic symbol. (e) IEEE standard logic symbol.
Source: The Data Book Volume 2, Texas Instruments Inc.,1985
Negated outputs
Outline
Useful MSI circuits
Decoders
Implementing Functions with Decoders
Decoders with Enable
Larger Decoders
Standard MSI Decoders
Implementing Functions with Decoders
Decoders: Implementing Functions Revisit (1/2)
Example: Implement the following logic function using decoders and logic gates
f(Q,X,P) = m(0,1,4,6,7) = M(2,3,5)
We may implement the function in several ways:
(a) Use a decoder (with active-high outputs) with an OR gate:f(Q,X,P) = m0 + m1 + m4 + m6 + m7
(b) Use a decoder (with active-low outputs) with a NAND gate:
f(Q,X,P) = ( m0' . m1' . m4' . m6' . m7' )'
(c) Use a decoder (with active-high outputs) with a NOR gate:f(Q,X,P) = ( m2 + m3 + m5 )' [ = M2.M3.M5]
(d) Use a decoder (with active-low outputs) with an AND gate:f(Q,X,P) = m2' . m3' . m5'
Decoders: Implementing Functions Revisit (2/2)
3x8Dec
A
B
C
Q
X
P
01234567
f(Q,X,P) f(Q,X,P)
3x8Dec
A
B
C
Q
X
P
01234567
3x8Dec
A
B
C
Q
X
P
01234567
f(Q,X,P) f(Q,X,P)
3x8Dec
A
B
C
Q
X
P
01234567
(a) Active-high decoder with OR gate. (b) Active-low decoder with NAND gate.
(c) Active-high decoder with NOR gate. (d) Active-low decoder with AND gate.
f(Q,X,P) = m(0,1,4,6,7)
top related