kts c3-he to hop
TRANSCRIPT
1
Chöông 3: HEÄ TOÅ HÔÏP
I. Giôùi thieäu – Caùch thieát keá heä toå hôïp:
Maïch logic ñöôïc chia laøm 2 loaïi:
- Heä toå hôïp (Combinational Circuit)
- Heä tuaàn töï (Sequential Circuit).Heä toå hôïp laø maïch maø caùc ngoõ ra chæ
phuï thuoäc vaøo giaù trò cuûa caùc ngoõ vaøo. Moïi söï thay ñoåi cuûa ngoõ vaøo seõ laøm ngoõ ra thay ñoåi theo.
Ngoõ vaøo
(INPUT)
Ngoõ ra (OUTPUT
)
COÅNG
LOGIC
2
* Caùc böôùc thieát keá:
- Phaùt bieåu baøi toaùn.
- Xaùc ñònh soá bieán ngoõ vaøo vaø soá bieán ngoõ ra.
- Thaønh laäp baûng giaù trò chæ roõ moái quan heä giöõa ngoõ vaøo vaø ngoõ ra.
- Tìm bieåu thöùc ruùt goïn cuûa töøng ngoõ ra phuï thuoäc vaøo caùc bieán ngoõ vaøo.
- Thöïc hieän sô ñoà logic.
Ngoõ vaøoXn-1 … X1 X0
Ngoõ raYm-1 … Y1 Y0
0 … 0 0
1 … 1 1
3
Vd: Thieát keá heä toå hôïp coù 3 ngoõ vaøo X, Y, Z; vaø 2 ngoõ ra F, G. - Ngoõ ra F laø 1 neáu nhö 3 ngoõ vaøo coù soá bit 1 nhieàu hôn soá bit 0; ngöôïc laïi F = 0. - Ngoõ ra G laø 1 neáu nhö giaù trò nhò phaân cuûa 3 ngoõ vaøo lôùn hôn 1 vaø nhoû hôn 6; ngöôïc laïi G = 0.
X Y Z F G
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
000 101 11
001 111 00
XYZ
F
0
1
00
01
11
10
1 1
Y Z
1
1
X Z
X Y
F = X Y + Y Z + X Z
XYZ
G
0
1
00
01
11
10
11
11
X Y X Y
G = X Y + X Y = X ⊕ Y
4
F
F = X Y + Y Z + X Z G = X Y + X Y = X ⊕ Y
X
Y
Z
G
5
Tr ng h p heä toå hôïp khoâng söû duïng taát caû ườ ợ2n toå hôïp cuûa ngoõ vaøo, thì taïi caùc toå hôïp khoâng söû duïng ñoù ngoõ ra coù giaù trò tuøy ñònh.
Vd: Thieát keá heä toå hôïp coù ngoõ vaøo bieåu dieãn
cho 1 soá maõ BCD. Neáu giaù trò
ngoõ vaøo nhoû hôn 3 thì ngoõ ra
coù giaù trò baèng bình phöông giaù
trò ngoõ vaøo; ngöôïc laïi giaù trò ngoõ ra baèng giaù trò ngoõ vaøo tröø
ñi 3.
A B C D
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
F2 F1
F0
X X XX X X X X X X X X X X X X X X
0 0 0 0 0 1 1 0 00 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0
F2 = A + B C D + B C D
F1 = A D + B C D + B C D
F0 = A D + B D + A B C D
6
II. Boä coäng - tröø nhò phaân:
1. Boä coäng (Adder):
a. Boä coäng baùn phaàn (Half Adder – H.A): Boä coäng baùn phaàn laø heä toå hôïp coù nhieäm vuï thöïc hieän pheùp coäng soá hoïc x + y (x, y laø 2 bit nhò phaân ngoõ vaøo); heä coù 2 ngoõ ra: bit toång S (Sum) vaø bit nhôù C (Carry).
x y C S0 00 11 01 1
0 00 10 11 0
S = x y + x y = x ⊕ y C = x y
x
yS
C
x
y
S
CH.A
7
b. Boä coäng toaøn phaàn (Full Adder – F.A): Boä coäng toaøn phaàn th c hi n pheùp coäng ự ệ
soá hoïc 3 bit x + y + z (z bieåu dieãn cho bit nhôù töø v trí coù troïng soá nhoû hôn gôûi tôùi)ị
x
y
S
C
F.A
z
x y z
C S0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
0 00 10 11 00 11 01 01 1
xyz
S
0
1
00
01
11
10
1
1
1
1
S = x y z + x y z + x y z + x y z
xyz
C
0
1
00
01
11
10
11 1
1
C = x y + x z + y z
8
S = x y z + x y z + x y z + x y z = z (x y + x y) + z (x y + x y) = z (x ⊕ y) + z (x ⊕ y) S = z ⊕ (x ⊕ y)
C = x y + x z + y z = x y + x y z + x y z + x y z = x y (1 + z) + z (x y + x y) C = x y + z (x ⊕ y)
x
y
z
S
C
9
2. Boä tröø (Subtractor): a. Boä tröø baùn phaàn (Half Subtractor – H.S):
Boä tröø baùn phaàn coù nhieäm vuï thöïc hieän pheùp tröø soá hoïc x - y (x, y laø 2 bit nhò phaân ngoõ vaøo); heä coù 2 ngoõ ra: bit hieäu D (Difference) vaø bit möôïn B (Borrow).
x
y
D
BH.S
x y B D0 00 11 01 1
0 01 10 10 0
D = x y + x y = x ⊕ y B = x y
x
yD
B
10
b. Boä tröø toaøn phaàn (Full Subtractor – F.S): Boä tröø toaøn phaàn th c hi n pheùp tröø soá ự ệhoïc 3 bit x - y - z (z bieåu dieãn cho bit möôïn töø ví trò coù troïng soá nhoû hôn)
x
y
D
B
F.S
z
x y z
B D0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
0 01 11 11 00 10 00 01 1
xyz
D
0
1
00
01
11
10
1
1
1
1
xyz
B
0
1
00
01
11
10
11 1
1
D = x y z + x y z + x y z + x y z
B = x y + x z + y z
S = z ⊕ (x ⊕ y)
B = x y + z (x ⊕ y)
11
74283
3. Boä coäng/tröø nhò phaân song song: a. Boä coäng nhò phaân:
M: M3 M2 M1 M0N: N3 N2 N1 N0
S0S1S2S3
C1C2
+
C3
C4
x y
zC
S
F.Ax y
zC
S
F.Ax y
zC
S
F.Ax y
zC
S
F.A
M0 N0
M1 N1
M2 N2
M3 N3
S0
C0 = 0
C1 C2 C3
S1
S2
S3
C4
12
b. Boä tröø nhò phaân: - Söû duïng caùc boä tröø toaøn phaàn F.S- Thöïc hieän baèng pheùp coäng vôùi buø 2 cuûa soá tröøM – N = M + Buø_2(N) = M + Buø_1(N)
+ 1 M0 N0
M1 N1
M2 N2
M3 N3
C0 = 1
x y
zC
S
F.Ax y
zC
S
F.Ax y
zC
S
F.Ax y
zC
S
F.A C1 C2 C3
S0
S1
S2
S3
C4
Keát quaû: - C4 = 1 keát quaû laø soá döông - C4 = 0 keát quaû laø soá aâm
13
c. Boä coäng/tröø nhò phaân:
M0 N0M1 N1M2 N2M3 N3
C0
x y
zC
S
F.Ax y
zC
S
F.Ax y
zC
S
F.Ax y
zC
S
F.A C1 C2 C3
S0
S1
S2
S3
C4
Pheùp toaùn
C0 yi
0 Ni
COÄNGTRÖØ 1
Ni
T = 0: CoängT = 1: Tröø
Ngoõ vaøo ñieàu khieån C0 =
T yi = T⊕ Ni T
14
III. Heä chuyeån maõ (Code Conversion):- Heä chuyeån maõ laø heä toå hôïp coù nhieäm vuï laøm cho 2 heä thoáng töông thích vôùi nhau, maëc duø moãi heä thoáng duøng maõ nhò phaân khaùc nhau.
- Heä chuyeån maõ coù ngoõ vaøo cung caáp caùc toå hôïp maõ nhò phaân A vaø caùc ngoõ ra taïo ra caùc toå hôïp maõ nhò phaân B. Nhö vaäy, ngoõ vaøo vaø ngoõ ra phaûi coù soá löôïng töø maõ baèng nhau.
Maõ nhò phaân B
Heä chuyeån maõ
Maõ nhò phaân A
15
Vd: Thieát keá heä chuyeån maõ töø maõ BCD thaønh maõ BCD quaù 3.
A B C D0 0 0
00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
W X Y Z
X X X X
X X X X X X X X X X X X X X X
X X X X
X
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
W = A + B (C + D)X = B ⊕ (C + D)Y = C ⊕ DZ = D
A
B
C
D
W
X
Z
Y
16
IV. Boä giaûi maõ (DECODER):
1. Giôùi thieäu: - Boä giaûi maõ laø heä chuyeån maõ coù nhieäm vuï chuyeån töø maõ nhò phaân cô baûn n bit ôû ngoõ vaøo thaønh maõ nhò phaân 1 trong m ôû ngoõ ra.
Maõ 1 trong m
X0
X1
Xn-1
Maõ nhò phaân
Y0
Y1
Ym-1m = 2n
- Coù 2 daïng: ngoõ ra tích cöïc cao (möùc 1) vaø ngoõ ra tích cöïc thaáp (möùc 0).
- V i giaù tr ớ ị i c a t h p nh phaân ngoõ vaøo, ủ ổ ợ ị ởthì ngoõ ra Yi s tích c c vaø caùc ngoõ ra coøn l i ẽ ự ạs khoâng tích c c. ẽ ự
17
a. Boä giaûi maõ ngoõ ra tích cöïc cao:
X0 (LSB)
X1
Y0
Y1
Y2
Y3
X1 X0 Y3 Y2 Y1 Y0 0
00 11 01 1
0 0 0 10 0 1 00 1 0 01 0 0 0
Y0 = X1 X0 = m0Y1 = X1 X0 = m1Y2 = X1 X0 = m2Y3 = X1 X0 = m3
X0
X1
Y0
Y1
Y2
Y3Ngoõ ra: Yi = mi
(i = 0, 1, .., 2n-1)
18
b. Boä giaûi maõ ngoõ ra tích cöïc thaáp:
X1 X0 Y3 Y2 Y1 Y0 0
00 11 01 1
1 1 1 01 1 0 11 0 1 10 1 1 1X0
X1
Ngoõ ra: Yi = Mi
(i = 0, 1, .., 2n-1)
X0 (LSB)
X1
Y0
Y1
Y2
Y3
Y0 = X1 + X0 = M0 = m0Y1 = X1 + X0 = M1 = m1Y2 = X1 + X0 = M2 = m2Y3 = X1 + X0 = M3 = m3
Y0
Y1
Y2
Y3
19
c. Boä giaûi maõ coù ngoõ vaøo cho pheùp: - Ngoaøi caùc ngoõ vaøo döõ lieäu, boä giaûi maõ coù theå coù 1 hay nhieàu ngoõ vaøo cho pheùp. - Khi caùc ngoõ vaøo cho pheùp ôû traïng thaùi tích cöïc thì maïch giaûi maõ môùi ñöôïc hoaït ñoäng. Ngöôïc laïi, maïch giaûi maõ seõ khoâng hoaït ñoäng; khi ñoù caùc ngoõ ra ñeàu ôû traïng thaùi khoâng tích cöïc.
Y0
Y1
Y2
Y3
X0
(LSB)
X1
ENEN X1
X0 Y3 Y2 Y1
Y0 0 X X1 0 01 0 11 1 01 1 1
0 0 0 00 0 0 10 0 1 00 1 0 01 0 0 0
X0
X1
Y0
Y1
Y2
Y3
EN
20
2. IC giaûi maõ: a. IC 74139: goàm 2 boä giaûi maõ 2 sang 4 ngoõ ra tích cöïc thaáp
1Y0
1Y1
1Y2
1Y3
1A (LSB)
1B
1G
2Y0
2Y1
2Y2
2Y3
2A (LSB)
2B
2G
1
2
3
15
14
13
4
5
6
7
12
11
10
9
G B A Y3 Y2 Y1
Y0 1 X X0 0 00 0 10 1 00 1 1
1 1 1 11 1 1 01 1 0 11 0 1 10 1 1 1
21
b. IC 74138: boä giaûi maõ 3 sang 8 ngoõ ra tích cöïc thaáp
Y0
Y1
Y2
Y3
A (LSB)
B
C
Y4
Y5
Y6
Y7
G1
G2A
G2B
1
2
3
4
6
59
121110
7
151413
G1 G2A G2B C B A
Y7 Y6 Y5 Y4 Y3 Y2 Y1
Y0 0 X X X X XX 1 X X X XX X 1 X X X1 0 0 0 0 01 0 0 0 0 11 0 0 0 1 01 0 0 0 1 11 0 0 1 0 01 0 0 1 0 11 0 0 1 1 01 0 0 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 0
1 1 1 1 1 1 0 1
1 1 1 1 1 0 1 1
1 1 1 1 0 1 1 1
1 1 1 0 1 1 1 1
1 1 0 1 1 1 1 1
1 0 1 1 1 1 1 1
0 1 1 1 1 1 1 1
22
3. Söû duïng boä giaûi maõ thöïc hieän haøm Boole: Ngoõ ra cuûa boä giaûi maõ laø minterm (ngoõ ra tích cöïc cao) hoaëc maxterm (ngoõ ra tích cöïc thaáp) cuûa n bieán ngoõ vaøo. Do ñoù, ta coù theå söû duïng boä giaûi maõ thöïc hieän haøm Boole theo daïng chính taéc.
z
y
x
0
1
0
F1 (x, y, z) = ∑ (2, 5, 7) = m2 + m5 + m7
= M2 + M5 + M7
= M2 M5 M7
F2 (x, y, z) = ∏ (0, 1, 4) = M0 M1 M4
F1
F2
Y0
Y1
Y2
Y3
A (LSB)
B
C
Y4
Y5
Y6
Y7
G1
G2A
G2B
74138
23
V. Boä maõ hoùa (ENCODER):1. Giôùi thieäu: - Encoder laø heä chuyeån maõ thöïc hieän hoaït
ñoäng ngöôïc laïi vôùi decoder. Nghóa laø encoder coù m ngoõ vaøo theo maõ nhò phaân 1 trong m vaø n ngoõ ra theo maõ nhò phaân cô baûn (vôùi m ≤ 2n).- Vôùi ngoõ vaøo Ii ñöôïc tích cöïc thì ngoõ ra chính laø toå hôïp giaù trò nhò phaân i töông öùng.
I0
I1
I2
I3
(LSB) Z0
Z1
I3 I2 I1 I0 Z1 Z0
0 00 11 01 1
0 0 0 10 0 1 00 1 0 01 0 0 0
Z1 = I3 + I2
Z0 = I3 + I1
Z1
Z0
I3
I2
I1
24
* Boä maõ hoùa coù öu tieân (Priority Encoder): Boä maõ hoùa coù öu tieân laø maïch maõ hoùa sao cho neáu coù nhieàu hôn 1 ngoõ vaøo cuøng tích cöïc thì ngoõ ra seõ laø giaù trò nhò phaân cuûa ngoõ vaøo coù öu tieân cao nhaát.
I0
I1
I2
I3
(LSB) Z0
Z1
V
I3 I2 I1 I0 Z1 Z0 VX X
0 0 0 10 1 11 0 11 1 1
0 0 0 00 0 0 10 0 1 X0 1 X X1 X X X
Z1 = I3 + I2
Z0 = I3 + I2 I1
V = I3 + I2 + I1
+ I0 I3I2
I1
I0
Z1
Z0
V
Thöù töï öu tieân: I3 > I2 > I1 > I0
25
2. IC maõ hoùa öu tieân 8 →3 (74148):
EI I7 I6 I5 I4 I3 I2
I1 I0
A2 A1 A0 GS EO
1 X X X X X X X X0 0 X X X X X X X0 1 0 X X X X X X0 1 1 0 X X X X X0 1 1 1 0 X X X X0 1 1 1 1 0 X X X0 1 1 1 1 1 0 X X0 1 1 1 1 1 1 0 X0 1 1 1 1 1 1 1 00 1 1 1 1 1 1 1 1
1 1 1 1 1
0 0 0 0 1
0 0 1 0 1
0 1 0 0 1
0 1 1 0 1
1 0 0 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 0 1
1 1 1 1 0
EI
I7
I6
I5
I4
I3
I2
I1
I0
1
5
3
1214
9
A2
A1
(LSB)A0
GSEO
7
6
15
4
2
13
11
10
26
VI. Boä doàn keânh (Multiplexer - MUX):1. Giôùi thieäu: - MUX 2n →1 laø heä toå hôïp coù nhi u ngoõ vaøoề
nhöng chæ coù 1 ngoõ ra. Ngoõ vaøo goàm 2 nhoùm: m ngoõ vaøo döõ lieäu (data input) vaø n ngoõ vaøo löïa choïn (select input).
- Vôùi 1 giaù trò i cuûa toå hôïp nhò phaân caùc ngoõ vaøo löïa choïn, ngoõ vaøo döõ lieäu Di seõ ñöôïc choïn ñöa ñeán ngoõ ra. (m = 2n)
D0
D1
:Dm-1
S0(LSB)
S1
:Sn-1
Y
Ngoõ vaøo döõ lieäu
(Data Input)
Ngoõ vaøo löïa choïn
(Select Input)
27
* Boä MUX 4 → 1:
D0
D1
D2
D3
S0(LSB)
S1
Y
S1 S0 Y
0 00 1 1 01 1
D0
D1
D2
D3
= m0 D0 + m1 D1 + m2 D2 + m3 D3 = ∑ mi Di (i = 0, 1, 2, 3)
Y = S1 S0 D0 + S1 S0 D1 + S1 S0 D2 + S1 S0 D3
S1
S0
D0
D1
D2
D3
Y
Toång quaùt: Y = ∑ mi Di (vôùi i = 0, 1, .., 2n-1)
28
2. IC doàn keânh:
a. 74LS153: goàm 2 boä MUX 4 →1
1G1C 0
1C1
1C2
1C3
A(LSB)
B
1Y
2G2C0
2C1
2C2
2C3
2Y
14
15
10
11
12
13
2
1
6
5
4
3
7
9
G B A Y
1 X X0 0 00 0 1 0 1 00 1 1
0C0
C1
C2
C3
29
b. 74151: boä MUX 8 →1
ENA(LSB)
BC
YD0
D1
D2
D3
D4
D5
D6
D7
Y
15
14
13
12
9
4
3
2
1
5
6
11
10
7
EN C B
AY
1 X X X0 0 0 00 0 0 1 0 0 1 00 0 1 10 1 0 00 1 0 1 0 1 1 00 1 1 1
0D0
D1
D2
D3
D4
D5
D6
D7
30
3. Söû duïng boä MUX thöïc hieän haøm Boole:
a. Boä MUX 2n thöïc hieän haøm Boole n bieán:
ENA(LSB)
BC
YD0
D1
D2
D3
D4
D5
D6
D7
Y
F(x, y, z) = ∑ (0, 1, 4, 7)= m0 + m1 + m4 + m7= m0 1 + m1 1 + m2 0 + m3 0
+ m4 1 + m5 0 + m6 0 + m7 1
Y = ∑ mi Di = m0D0 + m1D1 + m2D2 + m3D3
+ m4D4 + m5D5 + m6D6 + m7D7
D0 = D1 = D4 = D7 = 1 D2 = D3 = D5 = D6 = 0
zyx
0
1
0
F
31
b. Boä MUX 2n thöïc hieän haøm Boole n+1 bieán:
F(x, y, z) = ∑ (0, 1, 4, 7) = x y z + x y z + x y z + x y z= x y .1 + x y .0 + x y .z + x y .z
Y = m0D0 + m1D1 + m2D2 + m3D3 D0 = 1; D1 = 0; D2 = z;
D3 = z
1G1C0
1C1
1C2
1C3
A(LSB)
B
1Y
2G2C0
2C1
2C2
2C3
2Y
yx
010
zF
= m0 .1 + m1 .0 + m2 .z + m3 .z
x y z F0 0 00 0 1 0 1 00 1 11 0 01 0 1 1 1 01 1 1
11001001
D0 = 1
D1 = 0
D3 = z
D2 = z
32
VII. Boä phaân keânh (DEMUX):1. Giôùi thieäu:
- Boä DEMUX 1→2n coù chöùc naêng thöïc hieän hoaït ñoäng ngöôïc laïi vôùi boä MUX. Maïch coù 1 ngoõ vaøo döõ lieäu, n ngoõ vaøo löïa choïn vaø 2n ngoõ ra.
- Vôùi 1 giaù trò i cuûa toå hôïp nhò phaân caùc ngoõ vaøo löïa choïn, ngoõ vaøo döõ lieäu D seõ ñöôïc ñöa ñeán ngoõ ra Yi.
Y0
Y1
:Ym-1
S0(LSB)
S1
:Sn-1
DNgoõ vaøo döõ lieäu
(Data Input)
Ngoõ vaøo löïa choïn
(Select Input)
Ngoõ vaøo döõ lieäu
(Data Input)Ngoõ ra
33
* Boä DEMUX 1 → 4:
Y0
Y1
Y2
Y3
D
S0 (LSB)
S1
S1 S0 Y3 Y2 Y1 Y0 0
00 11 01 1
0 0 0 D0 0 D 00 D 0 0D 0 0 0
Y0 = S1 S0 D = m0 DY1 = S1 S0 D = m1 DY2 = S1 S0 D = m2 DY3 = S1 S0 D = m3 D
Y0
Y1
Y2
Y3
S1
S0
D
34
B A 1G 1C 1Y0 1Y1 1Y2 1Y3
2. IC phaân keânh 74LS155: goàm 2 boä phaân keânh 1 → 4
1Y0
1Y1
1Y2
1Y3
A (LSB)
B 2Y0
2Y1
2Y2
2Y3
2G
2C
1
2
15
13
3
7
6
5
4
12
1011
9
14
1G
1CX XX X0 00 11 01 1
1 XX 00 10 10 10 1
1 1 1 11 1 1 10 1 1 11 0 1 11 1 0 11 1 1 0
B A 2G 2C 2Y0 2Y1 2Y2 2Y3 X
XX X0 00 11 01 1
1 XX 10 00 00 00 0
1 1 1 11 1 1 10 1 1 11 0 1 11 1 0 11 1 1 0