Professional Documents
Culture Documents
BGĐTS - Chương 4 - T NG H P VÀ PHÂN TÍCH M CH T H P - Version 2007
BGĐTS - Chương 4 - T NG H P VÀ PHÂN TÍCH M CH T H P - Version 2007
7400
1 2 3 4 5 6
GN
D7
Bộ môn Kỹ thuật vi xử lý
1 1 1 1 1
2
1. KIẾN THỨC CHUNG
3
1.1. Giới thiệu về mạch tổ hợp
x0 y0
x1
Mạch y1
X logic Y
… …
tổ hợp
xn-1 ym-1
Đường truyền của mạch: đường đi dài nhất (qua nhiều phần tử logic
nhất) của tín hiệu từ đầu vào tới đầu ra
Cấp của mạch: số lượng các phần tử logic trên đường truyền
4
1.1. Giới thiệu về mạch tổ hợp
x0
a a
b
c
f b
x1
d g
x2 e
f e c
x3 g
d
5
1. KIẾN THỨC CHUNG
6
1.2. Các phương trình mạch tổ hợp
7
1. KIẾN THỨC CHUNG
8
1.3. Các phương pháp biểu diễn
10
2.1. Các bước tổng hợp mạch
Sử dụng
Phân
Mô tảtích làmhệ
quan
các phương
rõlogic yếu
bằngtốtối
các pháp một
đầu
thiểu
vào(hệ)
mô hình
và các
hàm yếu
logic tố đã
logic
nào đầu
đó,học
ra để
cũng
thông thường
rútnhư
ra biểu
mối
sử
dụng
thức hệ logic
bảng
quanlogic tối
giáthiểu
giữa
trị hàm
của (hệ) hàm logic
chúng
Biến đổi đại số logic biểu thức tối thiểu ở bước 3 để thu được biểu thức
logic tối ưu tùy thuộc đặc điểm yêu cầu thực tế (ưu tiên về số cấp của
mạch, ưu tiên về số cổng logic hay ưu tiên về loại cổng logic sử dụng…)11
2. TỔNG HỢP MẠCH TỔ HỢP
12
2.2. Tổng hợp mạch một đầu ra
Ví dụ 1: Tổng hợp mạch logic tổ hợp có bốn đầu vào chọn đa số bit 1
Bước 1 Mạch có 4 đầu vào ký hiệu A, B, C, D; 1 đầu ra ký hiệu Y
Đầu ra Y bằng 1 khi quá nửa số đầu vào A, B, C, D bằng 1
Bước 2 Xây dựng bảng giá trị hàm >> …
Bước 3 Tối thiểu hàm logic >> Sử dụng phương pháp bảng Karnaugh
Y CD 00 01 11 10
AB
00 0 0 0 0 Biểu thức logic
01 0 0 1 0 Y = ABC + ACD + ABD + BCD
11 0 1 1 1
10 0 0 1 0
13
2.2. Tổng hợp mạch một đầu ra
Ví dụ 1: Tổng hợp mạch logic tổ hợp có bốn đầu vào chọn đa số bit 1
Bước 4 Tr.h 1: Các cổng logic không bị hạn chế về số đầu vào
Y = ABC + ACD + ABD + BCD (1)
Bước 5
A BC D 14
VCC
13 12 11 10 9 8
7415
GND
1 2 3 4 5 6 7
Y
14 13 12 11 10 9 8
VCC
7415
GND
1 2 3 4 5 6 7
14
2.2. Tổng hợp mạch một đầu ra
VD1: Tổng hợp mạch logic tổ hợp có bốn đầu vào chọn đa số bit 1
Bước 4 Tr.h 2: Chỉ sử dụng các cổng logic có hai đầu vào
Y = ABC + ACD + ABD + BCD
(1)
Y= [A∙(B∙C) + (B ∙C) ∙D] + [(A ∙D) ∙B + (A ∙D) ∙C] (2)
Bước 5
A BC D
15
2.2. Tổng hợp mạch một đầu ra
VD1: Tổng hợp mạch logic tổ hợp có bốn đầu vào chọn đa số bit 1
Bước 4 Tr.h 3: Chỉ sử dụng các cổng logic có hai đầu vào, tối ưu hóa
Y= [A∙(B∙C) + (B ∙C) ∙D] + [(A ∙D) ∙B + (A ∙D) ∙C]
(2)
= (A + D)∙(B ∙C) + (A ∙D) ∙(B + C) (3)
Bước 5
A BC D
16
2.2. Tổng hợp mạch một đầu ra
VD1: Tổng hợp mạch logic tổ hợp có bốn đầu vào chọn đa số bit 1
Bước 4 Tr.h 4: Chỉ sử dụng các cổng NAND (NOR)
(1) Y = ABC + ACD + ABD + BCD
A BC D
17
2.2. Tổng hợp mạch một đầu ra
VD1: Tổng hợp mạch logic tổ hợp có bốn đầu vào chọn đa số bit 1
Bước 4 Tr.h 5: Chỉ SD các cổng NAND (NOR) 2 đầu vào, tối ưu hóa
(1) Y = ABC + ACD + ABD + BCD = B(AC + AD) + C(AD + BD)
7400
GND
1 2 3 4 5 6 7
Y
14 13 12 11 10 9 8
VCC
7400
GND
1 2 3 4 5 6 7
18
2. TỔNG HỢP MẠCH TỔ HỢP
19
2.3. Tổng hợp mạch nhiều đầu ra
Ví dụ 2: Tổng hợp mạch logic tổ hợp chuyển đổi mã từ BCD sang Gray
Bước 1 Phân tích bài toán logic
D G3
Mạch có 4 đầu vào A, B, C,
D; 4 đầu ra G3, G2, G1, G0
C Mạch chuyển đổi G2
20
2.3. Tổng hợp mạch nhiều đầu ra
Ví dụ 2: Tổng hợp mạch logic tổ hợp chuyển đổi mã từ BCD sang Gray
Bước 2 Mô tả quan hệ logic: xây dựng bảng giá trị hàm
D C B A G3 G2 G 1 G0 D C B A G3 G2 G 1 G0
0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0
0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1
0 0 1 0 0 0 1 1 x x x x x x x x
0 0 1 1 0 0 1 0 x x x x x x x x
0 1 0 0 0 1 1 0 x x x x x x x x
0 1 0 1 0 1 1 1 x x x x x x x x
0 1 1 0 0 1 0 1 x x x x x x x x
0 1 1 1 0 1 0 0 x x x x x x x x
21
2.3. Tổng hợp mạch nhiều đầu ra
Bước 3 Tối thiểu hàm logic >> Sử dụng phương pháp bảng Karnaugh
G3 G2
BA 00 01 11 10 BA 00 01 11 10
DC DC
00 0 0 0 0 00 0 0 0 0
G2
G3 = D 01 0 0 0 0 01 1 1 1 1 =
x x x x x x x x C+D
11 11
10 1 1 x x 10 1 1 x x
G1 G0
BA 00 01 11 10 BA 00
DC DC 01 11 10
G1 00 0 0 1 1 00 0 1 0 1 G0
= =
C B + C B 01 1 1 0 0 01 0 1 0 1 BA+BA
11 x x x x 11 x x x x
10 0 0 x x 10 0 1 x x
22
2.3. Tổng hợp mạch nhiều đầu ra
G2 G2
BA 00 BA 00 01 11 10
DC 01 11 10 DC
00 0 0 0 0 00 0 0 0 0
01 1 1 1 1 01 1 1 1 1
11 x x x x 11 0 0 0 0
10 1 1 x x 10 1 1 1 1
G2 = CD + CD = D C
23
2.3. Tổng hợp mạch nhiều đầu ra
D G3
C G2
G1
B
A G0
<< Back
24
3.3. Tổng hợp mạch nhiều đầu ra
D G3
C G2
G1
B
A G0
<< Back
25
3. PHÂN TÍCH MẠCH TỔ HỢP
26
3.1. Phân tích tĩnh mạch tổ hợp
Các nhiệm vụ chính của bài toán phân tích tĩnh: tìm mối quan hệ
logic giữa tín hiệu ra và tín hiệu vào và xác định chức năng của mạch
27
3.1. Phân tích tĩnh mạch tổ hợp
D
A I Y3 = D + A∙C + B∙C
B
III
C IV
28
3.1. Phân tích tĩnh mạch tổ hợp
29
3. PHÂN TÍCH MẠCH TỔ HỢP
30
3.2. Phân tích động mạch tổ hợp
Bài toán phân tích động: Phân tích hoạt động của mạch logic tổ hợp
xem với các tổ hợp tín hiệu vào cho trước tín hiệu ra thu được có đúng
như thiết kế hay không
Khái niệm về chạy đua trong mạch tổ hợp
Chạy đua là hiện tượng xuất hiện xung nhiễu (Glitch) ở đầu ra của
mạch tổ hợp hoặc trường hợp giá trị của các đầu ra thay đổi và ổn
định không đồng thời khi đầu vào thay đổi với mạch có nhiều đầu ra
Glitch trong mạch có chạy đua có dạng các xung hình chữ nhật rất
hẹp, xuất hiện trong khoảng thời gian chưa ổn định của tín hiệu ra
Mạch có khả năng xuất hiện Glitch ở đầu ra được gọi là mạch có
chạy đua hay mạch có Hazard (nguy cơ)
Nguyên nhân cơ bản của chạy đua do độ trễ của tín hiệu đầu ra một
cổng logic so với tín hiệu vào của chính cổng này 31
3.2.1. Hazard tĩnh
Hazard tĩnh là hiện tượng đầu ra thay đổi trạng thái một lần khác
với giá trị lẽ ra phải có ở đầu ra trước khi giá trị này ổn định
Hazard tĩnh mức 0: đầu ra lẽ ra phải giữ ổn định ở mức 0 nhưng
xuất hiện Glitch lên 1 trong khoảng thời gian ngắn
32
3.2.1. Hazard tĩnh
33
3.2.1. Hazard tĩnh
Ví dụ về Hazard tĩnh
1
A
0
1
Y = A∙B + A∙C B
0
1
C
0
1
B E A
0
A 1
Y D
0
C 1
D E
0
1
Y Glitch
0
Khi hai tín hiệu vào một loại cổng bất kỳ đồng thời thay đổi trạng thái ngược
nhau (từ 1 về 0 và từ 0 lên 1) thì có thể phát sinh Glitch ở đầu ra của nó
34
3.2.2. Hazard động
Hazard động là hiện tượng đầu ra thay đổi trạng thái một vài lần khác
với giá trị lẽ ra phải có ở đầu ra trước khi giá trị này ổn định
Mạch căn bản có Hazard động là mạch luôn có 3 đường truyền song
song, trong đó có 1 đường Hazard tĩnh
Mạch không có Hazard tĩnh cũng sẽ không có Hazard động
35
3.2.2. Hazard động
A Y
A Y
36
3.2.3. Các biện pháp khắc phục Hazard
Dùng tụ lọc có trị số từ vài pF đến vài trăm pF để giảm biên độ xung
nhiễu đến mức không ảnh hưởng, tuy nhiên làm xấu sườn xung T/H
Dùng xung điều khiển làm xung khóa hay mở cổng: xung khóa đưa
vào trong thời gian quá độ, xung mở đưa vào sau để mở thông mạch
A
Y
B
K
37
3.2.3. Các biện pháp khắc phục Hazard
Y Y
BC 00 BC 00 01 11 10
A 01 11 10 A
0 0 1 1 0 0 0 1 1 0
1 0 0 1 1 1 0 0 1 1
A D
B
B D
A
Y Y
C E
C
E
38
4. CÁC MẠCH TỔ HỢP THÔNG DỤNG
4.1. Bộ mã hóa/giải mã
39
4.1. Bộ mã hóa/giải mã
Bộ giải mã: mạch logic dùng để chuyển đổi một bộ mã này sang bộ
mã khác. Các bộ giải mã thông dụng là các bộ giải mã nhị phân, bộ
giải mã BCD sang mã 7 đoạn
x0 y0
Bộ mã x1 Mạch y1 Bộ mã
nguồn … giải mã … đích
xn-1 ym-1
Bộ giải mã nhị phân dùng để chuyển đổi mã nhị phân thành mã 1/2n.
Mạch giải mã nhị phân được xây dựng trên nguyên lý: ứng với mỗi tổ
hợp của tín hiệu vào sẽ cho tương ứng duy nhất một đầu ra có mức
tích cực (bằng 1)
40
4.1. Bộ mã hóa/giải mã
y1 y1
y2 y2
y3 y3
42
4.1. Bộ mã hóa/giải mã
E y1 E y1
y2 y2
y3 y3
43
4.1. Bộ mã hóa/giải mã
a a
f b f b b
g g
e c e c c
d d
44
4.1. Bộ mã hóa/giải mã
46
4.1. Bộ mã hóa/giải mã
Mạch logic 0 1 2 3 4 5 6 7 8 9
47
4. CÁC MẠCH TỔ HỢP THÔNG DỤNG
4.1. Bộ mã hóa/giải mã
48
4.2. Bộ dồn kênh/phân kênh
x0 x0
x1 x1
x2 y x2 y
… MUX …
x2n-1 x2n-1
n to 2n
s0 s0
s1 s1
sn-1 sn-1
49
4.2. Bộ dồn kênh/phân kênh
x1 x1
y y
x2 x2
x3 x3
Giải mã 2 to 4
s0 s0
s1 s1
50
4.2. Bộ dồn kênh/phân kênh
y0 y0
y1 y1
x y2 x y2
DEMUX … …
y2n-1 y2n-1
n to 2n
s0 s0
s1 s1
sn-1 sn-1
51
4.2. Bộ dồn kênh/phân kênh
4.1. Bộ mã hóa/giải mã
53
4.3.1. Bộ cộng nhị phân
Mạch cộng 1 bit không nhớ - Mạch cộng bán phần (HA – Half Adder):
Thực hiện phép toán cộng 2 số nhị phân 1 bit ai và bi, không có bit nhớ từ các
bước tính toán trước đó. Kết quả cho ra bit tổng si và bit nhớ ci
Mạch cộng một bit có nhớ - Mạch cộng toàn phần (FA – Full Adder):
Thực hiện phép toán cộng hai số nhị phân 1 bit ai và bi có tính tới bit nhớ ci-1
từ các bước tính toán trước đó. Kết quả cho ra bit tổng si và bit nhớ ci
FA
HA 1 HA 2
ai s’i
bi si
HA 1 c’i HA 2
ci
ci-1
56
4.3.1. Bộ cộng nhị phân
si = (bi ci-1) ai ai
si
ci = (bi ci-1)∙ai + bi∙ci-1 bi
ci-1 FA
ci
ai FA
si
bi
ci-1
ci
57
4.3.1. Bộ cộng nhị phân
cn-2 c1 c0
sn sn-1 sn-2 s1 s0
58
4.3.1. Bộ cộng nhị phân
c0 = a0∙b0 = g0
c1 = g1 + p1∙c0 = g1 + p1∙g0
c2 = g2 + p2∙c1 = g2 + p2∙g1 + p2∙p1∙g0
59
4.3.1. Bộ cộng nhị phân
Adder CLA
gi pi si c2 c1 c0
60
4.3.1. Bộ cộng nhị phân
g2 p2 s2 g1 p1 s1 g0 p0 s0
CLA
c0
c1
c2
61
4.3.2. Bộ trừ nhị phân
Mạch trừ 1 bit không nhớ - Mạch trừ bán phần (HS – Half Subtractor):
Thực hiện phép toán trừ hai số nhị phân 1 bit ai và bi, không có bit nhớ từ các
bước tính toán trước đó. Kết quả cho ra bit hiệu ri và bit nhớ ci
Mạch trừ một bit có nhớ - Mạch trừ toàn phần (FS – Full Subtractor):
Thực hiện phép toán trừ 2 số nhị phân 1 bit ai và bi có tính tới bit nhớ ci-1 từ
các bước tính toán trước đó. Kết quả cho ra bit hiệu ri và bit nhớ ci
FS
HS 1 HS 2
ai r’i
bi ri
HS 1 c’i HS 2
ci
ci-1
64
4.3.3. Bộ so sánh nhị phân
Mạch so sánh đầy đủ hai số nhị phân: Thực hiện phép toán so sánh
hai số nhị phân A và B. Đầu ra của mạch có ba tín hiệu để thông báo
kết quả so sánh.
Cấu tạo mạch: Gồm các bộ so sánh 2 bit đầy đủ FC ghép lại, sử
dụng thêm tín hiệu chọn chip CS – Chip Select. Nếu CS bằng 0 tất cả
các đầu ra của FC tương ứng bằng 0, nếu CS bằng 1 FC tương ứng
hoạt động bình thường
Biểu thức đại số các đầu ra FC
Mi = CS∙(ai∙bi)
Li = CS∙(ai∙bi)
Ei = CS∙(ai bi)
66
4.3.3. Bộ so sánh nhị phân
CS
a1 M1
b1 L1
FC L
E1
CS
a0 M0
b0 L0
FC
E0
E
67