- 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.. Boä giaûi maõ coù ngoõ vaøo cho phe[r]
(1)Chương 3: HỆ TỔ HỢP
I Giới thiệu – Cách thiết kế hệ tổ hợp: Mạch logic chia làm loại:
- Hệ tổ hợp (Combinational Circuit) - Hệ (Sequential Circuit).
Hệ tổ hợp mạch mà ngõ phụ thuộc vào giá trị ngõ vào Mọi thay đổi ngõ vào làm ngõ thay đổi theo
Ngõ vào
(2)* Các bước thiết kế:
- Phát biểu tốn
- Xác định số biến ngõ vào số biến ngõ
- Thành lập bảng giá trị rõ mối quan hệ ngõ vào và ngõ
- Tìm biểu thức rút gọn ngõ phụ thuộc vào các biến ngõ vào
- Thực sơ đồ logic
Ngoõ vào
Xn-1 … X1 X0
Ngõ ra
Ym-1 … Y1 Y0
0 … 0
… 1
(3)Vd: Thiết kế hệ tổ hợp có ngõ vào X, Y, Z; ngõ F, G - Ngõ F ngõ vào có số bit nhiều số bit 0; ngược lại F =
- Ngõ G giá trị nhị phân ngõ vào lớn hơn nhỏ 6; ngược lại G =
X Y Z F G
0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1
0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 XY Z F 0 1
00 01 11 10
1 1 Y Z 1 1 X Z X Y
F = X Y + Y Z + X Z
XY Z
G 0 1
00 01 11 10
1 1
1 1
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 hệ tổ hợp không sử dụng tất 2ợ n tổ hợp ngõ
vào, tổ hợp khơng sử dụng ngõ có giá trị tùy định.
Vd: Thiết kế hệ tổ
hợp có ngõ vào biểu diễn cho số mã BCD Nếu giá trị ngõ vào nhỏ ngõ có giá trị bình phương giá trị ngõ vào; ngược lại giá trị ngõ giá trị ngõ vào trừ
A B C D
0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1
F2 F1 F0
X X X X X X X X X X X X X X X X X 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0
F2 = A + B C D + B C D F1 = A D + B C D + B C D
(6)II Bộ cộng - trừ nhị phân: 1 Bộ cộng (Adder):
a Bộ cộng bán phần (Half Adder – H.A):
Bộ cộng bán phần hệ tổ hợp có nhiệm vụ thực phép cộng số học x + y (x, y bit nhị phân ngõ vào); hệ có ngõ ra: bit tổng S (Sum) bit nhớ C (Carry)
x y C S
0 0 0 1 1 0 1 1
0 0 0 1 0 1 1 0
S = x y + x y = x y
C = x y x
y S
C
x y
S C H.A
(7)b Bộ cộng toàn phần (Full Adder – F.A):
Bộ cộng toàn phần th c hi n phép cộng số học bit x + y + z ự ệ
(z biểu diễn cho bit nhớ từ v trí có trọng số nhỏ gởi tới)ị
x y
S C F.A z
x y z C S
0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1
0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1
xy z S
0 1
00 01 11 10
1
1
1
1
S = x y z + x y z + x y z + x y z
xy z C
0 1
00 01 11 10
1
1 1
1
(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 Bộ trừ (Subtractor):
a Bộ trừ bán phần (Half Subtractor – H.S):
Bộ trừ bán phần có nhiệm vụ thực phép trừ số học x - y (x, y bit nhị phân ngõ vào); hệ có ngõ ra: bit hiệu D (Difference) bit mượn B (Borrow)
x y
D B H.S
x y B D
0 0 0 1 1 0 1 1
0 0 1 1 0 1 0 0
D = x y + x y = x y
B = x y x
y D
(10)b Bộ trừ toàn phần (Full Subtractor – F.S):
Bộ trừ toàn phần th c hi n phép trừ số học bit x - y - z ự ệ
(z biểu diễn cho bit mượn từ ví trị có trọng số nhỏ hơn) x
y
D B F.S z
x y z B D
0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1
xy z D
0 1
00 01 11 10
1
1
1
1
xy z B
0 1
00 01 11 10
1
1 1
1
S = x y z + x y z + x y z + x y z
C = x y + x z + y z
S = z (x y)
C = x y + z (x y)
(11)74283 3 Bộ cộng/trừ nhị phân song song:
a Bộ cộng nhị phân:
M: M3 M2 M1 M0 N: N3 N2 N1 N0
S0 S1
S2 S3
C1 C2
+
C3
C4
x y z C
S
F.A
x y z C
S
F.A
x y z C
S
F.A
x y z C
S
F.A
M0 N0 M1 N1
M2 N2 M3 N3
S0
C0 = C1
C2 C3
S1 S2
(12)b Bộ trừ nhị phân:
- Sử dụng trừ toàn phần F.S
- Thực phép cộng với bù số trừ
M – N = M + Buø_2(N) = M + Buø_1(N) + 1
M0 N0 M1 N1
M2 N2 M3 N3
C0 =
x y z C
S
F.A
x y z C
S
F.A
x y z C
S
F.A
x y z C
S
F.A C3 C2 C1
S0 S1
S2 S3
C4
Kết quả: - C4 = kết số dương - C4 = kết số âm
(13)c Bộ cộng/trừ nhị phân:
M0 N0 M1 N1
M2 N2 M3 N3
C0
x y z C
S
F.A
x y z C
S
F.A
x y z C
S
F.A
x y z C
S
F.A C3 C2 C1
S0 S1
S2 S3
C4
Phép toán C0 yi
0 Ni
COÄNG
TRỪ 1 Ni
T = 0: Cộng T = 1: Trừ
Ngõ vào điều khiển
C0 = T
yi = T Ni
(14)III Hệ chuyển mã (Code Conversion):
- Hệ chuyển mã hệ tổ hợp có nhiệm vụ làm cho hệ thống tương thích với nhau, hệ thống dùng mã nhị phân khác
- Hệ chuyển mã có ngõ vào cung cấp tổ hợp mã nhị phân A và ngõ tạo tổ hợp mã nhị phân B Như vậy, ngõ vào ngõ phải có số lượng từ mã
Mã
nhị phân B
Hệ chuyển
mã
Mã
nhị phân A
(15)Vd: Thiết kế hệ chuyển mã từ mã BCD thành mã BCD A B C D
0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 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 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0
W = A + B (C + D) X = B (C + D)
Y = C D
Z = D A
B C D
W
X
(16)IV Bộ giải mã (DECODER): 1 Giới thiệu:
- Bộ giải mã hệ chuyển mã có nhiệm vụ chuyển từ mã nhị phân n bit ngõ vào thành mã nhị phân m ngõ
Maõ 1 m
X0 X1
Xn-1
Mã nhị phân
Y0 Y1
Ym-1
m = 2n
- Có dạng: ngõ tích cực cao (mức 1) ngõ tích cực thấp (mức 0).
- V i giaù tr ớ ị i c a t h p nh phân ngõ vào, ngõ ủ ổ ợ ị ở Yi
s tích c c ngõ l i s không tích c c ẽ ự ạ ẽ ự
(17)a Bộ giải mã ngõ tích cực cao:
X0 (LSB)
X1
Y0 Y1 Y2 Y3
X1 X0 Y3 Y2 Y1 Y0 0 0
0 1 1 0 1 1
0 1 0 0 0 0 1 0
Y0 = X1 X0 = m0 Y1 = X1 X0 = m1 Y2 = X1 X0 = m2 Y3 = X1 X0 = m3
X0
X1
Y0 Y1 Y2 Y3
Ngoõ ra: Yi = mi
(18)b Bộ giải mã ngõ tích cực thấp:
X1 X0 Y3 Y2 Y1 Y0 0 0
0 1 1 0 1 1
1 0 1 1 1 1 0 1
X0
X1
Ngoõ ra: Yi = Mi
(i = 0, 1, , 2n-1)
X0 (LSB)
X1
Y0 Y1 Y2 Y3
Y0 = X1 +X0 = M0 = m0 Y1 = X1 +X0 = M1 = m1 Y2 = X1 +X0 = M2 = m2 Y3 = X1 +X0 = M3 = m3
Y0 Y1 Y2 Y3
(19)c Bộ giải mã có ngõ vào cho phép:
- Ngồi ngõ vào liệu, giải mã có hay nhiều ngõ vào cho phép
- Khi ngõ vào cho phép trạng thái tích cực mạch giải mã hoạt động Ngược lại, mạch giải mã khơng hoạt động; ngõ trạng thái khơng tích cực
Y0 Y1 Y2 Y3 X0 (LSB)
X1 EN
EN X1 X0 Y3 Y2 Y1 Y0 0 X X
1 0 1 1 1 0 1 1
0 0 0 1 0 0 0 0 1 0
X0
X1
(20)2 IC giải mã:
a IC 74139: gồm giải mã sang ngõ tích cực thấ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 X
0 0 0 1 0 0 0 1
1 1 1 0 1 1 1 1 0 1
(21)b IC 74138: giải mã sang ngõ tích cực thấp Y0 Y1 Y2 Y3 A (LSB) B C Y4 Y5 Y6 Y7 G1 G2A G2B 1 2 3 4 6 5 9 12 11 10 7 15 14 13
G1 G2A G2B C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 X X X X X X X X X X X X X X X 1 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1
(22)3 Sử dụng giải mã thực hàm Boole:
Ngõ giải mã minterm (ngõ tích cực cao) hoặc maxterm (ngõ tích cực thấp) n biến ngõ vào Do đó, ta sử dụng giải mã thực hàm Boole theo dạng tắ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 Bộ mã hóa (ENCODER): 1 Giới thiệu:
- Encoder hệ chuyển mã thực hoạt động ngược lại với
decoder Nghóa encoder có m ngõ vào theo mã nhị phân
trong m và n ngõ theo mã nhị phân (với m 2≤ n).
- Với ngõ vào Ii tích cực ngõ tổ hợp giá trị
nhị phân i tương ứng.
I0 I1 I2 I3
(LSB)Z0
Z1
I3 I2 I1 I0 Z1 Z0
0 0 0 1 1 0 1 1 0 1
0 0 0 0 1 0
Z1 = I3 + I2 Z0 = I3 + I1
Z1
Z0 I3
I2
(24)* Bộ mã hóa có ưu tiên (Priority Encoder):
Bộ mã hóa có ưu tiên mạch mã hóa cho có nhiều
hơn ngõ vào tích cực ngõ giá trị nhị phân của ngõ vào có ưu tiên cao nhất.
I0 I1 I2 I3
(LSB)Z0
Z1 V
I3 I2 I1 I0 Z1 Z0 V X X 0 1 0 1 1 1 1 1 0 0
0 1 0 X 0 X X 1 X X X
Z1 = I3 + I2 Z0 = I3 + I2 I1
V = I3 + I2 + I1 + I0 I3
I2 I1
I0
Z1
Z0 V
Thứ tự ưu tiên: I3 I2 I1 I0
(25)2 IC mã hóa öu tieân 3 (74148):
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 A0 GS EO
1 X X X X X X X X 0 X X X X X X X 0 X X X X X X 0 1 X X X X X 0 1 X X X X 0 1 1 X X X 0 1 1 X X 0 1 1 1 X 0 1 1 1 0 0 1 1 1 1
1 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0
EI I7 I6 I5 I4 I3 I2 I1 I0
1 5
3
12 14
9
A2
A1
(LSB)A0
GS EO
7 6
15 4
(26)VI Bộ dồn kênh (Multiplexer - MUX): 1 Giới thiệu:
- MUX 2n 1 hệ tổ hợp có nhi u ngõ vàoề có
1 ngõ Ngõ vào gồm nhóm: m ngõ vào liệu (data input)
và n ngõ vào lựa chọn (select input)
- Với giá trị i tổ hợp nhị phân ngõ vào lựa chọn,
ngõ vào liệu Di chọn đưa đến ngõ (m = 2n)
D0
D1
:
Dm-1
S0(LSB)
S1 : Sn-1
Y
Ngõ vào liệu (Data Input)
Ngõ vào lựa chọn (Select Input)
(27)* Boä MUX 1:
D0
D1
D2
D3
S0(LSB)
S1
Y
S1 S0 Y 0 0
0
1 0 1 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
(28)2 IC dồn kênh:
a 74LS153: gồm MUX 1
1G
1C0
1C1
1C2
1C3
A(LSB)
B
1Y 2G
2C0
2C1
2C2
2C3
2Y
14
15 10 11 12 13 2 1 6 5 4 3
7
9
G B A Y
1 X X 0 0 0
0 0 0 1
0
C0
C1
C2
C3
(29)b 74151: boä MUX 1
EN A(LSB)
B C
Y
D0
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 A Y
1 X X X 0 0 0
0 0 0 1 0 0 0
0 0 0 1
0
D0
D1
D2
D3
D4
D5
D6
(30)3 Sử dụng MUX thực hàm Boole:
a Bộ MUX 2n thực hàm Boole n biến:
EN A(LSB)
B C
Y
D0
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 + m5 + m6 + m7 1 Y = mi Di
= m0D0 + m1D1 + m2D2 + m3D3
+ m4D4 + m5D5 + m6D6 + m7D7
D0 = D1 = D4 = D7 = 1
D2 = D3 = D5 = D6 = 0
z y x 0
1 0
F
(31)b Bộ MUX 2n thực hàm Boole n+1 biế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 + x y z + x y z Y = m0D0 + m1D1 + m2D2 + m3D3
D0 = 1; D1 = 0; D2 = z; D3 = z
1G
1C0
1C1
1C2
1C3
A(LSB)
B
1Y 2G
2C0
2C1
2C2
2C3
2Y
y x 0 1 0
z F
= m0 1 + m1 + m2 z + m3 z
x y z F
0 0 0 0 0 0 1 1 0 1 1 0 1 1
1 1 0 0 1 0 0 1
(32)VII Bộ phân kênh (DEMUX): 1 Giới thiệu:
- Bộ DEMUX 12n có chức thực hoạt động ngược
lại với MUX Mạch có ngõ vào liệu, n ngõ vào lựa
chọn 2n ngoõ
- Với giá trị i tổ hợp nhị phân ngõ vào lựa chọn,
ngõ vào liệu D đưa đến ngõ Yi
Y0
Y1
:
Ym-1
S0(LSB)
S1 : Sn-1 D
Ngõ vào liệu (Data Input)
Ngõ vào lựa chọn (Select Input) Ngõ vào liệu
(Data Input) Ngõ ra
(33)* Bộ DEMUX 4:
Y0 Y1 Y2 Y3 D
S0 (LSB)
S1
S1 S0 Y3 Y2 Y1 Y0 0 0
0 1 1 0 1 1
0 D 0 D 0 0 D 0 D 0
Y0 = S1 S0 D = m0 D Y1 = S1 S0 D = m1 D Y2 = S1 S0 D = m2 D Y3 = S1 S0 D = m3 D
Y0 Y1 Y2 Y3 S1
(34)B A 1G 1C 1Y0 1Y1 1Y2 1Y3
2 IC phân kênh 74LS155: gồm phân kênh
1Y0 1Y1 1Y2 1Y3 A (LSB) B 2Y 0 2Y1 2Y2 2Y3 2G 2C 1 2 15 13 3 7 6 5 4 12 10 11 9 14 1G 1C
X X X X 0 0 0 1 1 0 1 1
1 X X 0 0 1 0 1 0 1 0 1
1 1 1 1 0 1 1 1 1 1 1 0
B A 2G 2C 2Y0 2Y1 2Y2 2Y3
X X X X 0 0 0 1 1 0 1 1
1 X X 1 0 0 0 0 0 0 0 0
1 1 1 1 0 1 1 1 1 1 1 0
(35)VIII Bộ so sánh ộ lớn (Comparator):đ
1 Giới thiệu:
- Bộ so sánh hệ tổ hợp có nhiệm vụ so sánh số nh phân ị
không dấu A B (mỗi số n bit)
- Bộ so sánh có ngõ (A>B), (A=B) (A<B); có ngõ tích cực theo kết so sánh
* Bộ so sánh bit:
A: A2 A1 A0 B: B2 B1 B0
Sử dụng biến trung gian:
xi = Ai Bi (i = 0, 1, 2)
(A = B) = x2 x1 xo
(A > B) = A2 B2 + x2 A1 B1 +x2x1 A0 B0 (A < B) = A B + x A B +x x A B
(A>B) (A=B) (A<B) A
B
(36)x0 x1 x2
(A=B) B0
A0
B1 A1
B2 A2
(A>B) (A<B)
(37)2 IC so saùnh 74LS85:
3 4
9
ALTBIN AEQBIN AGTBIN
B0
B1
B2
B3
10 12 13 15
11 14 1
7 5
A0
A1
A2
A3 AEQBOUTALTBOUT
AGTBOUT
6 2
AGTBOUT = (A>B) + (A=B)AGTBIN
AEQBOUT = (A=B) AEQBIN