Bài giảng Kỹ thuật số - Chương 3: Hệ tổ hợp

Mạch logic được chia làm 2 loại:

- Hệ tổ hợp (Combinational Circuit)

- Hệ tuần tự (Sequential Circuit).

Hệ tổ hợp là mạch mà các ngõ ra chỉ phụ thuộc vào giá

trị của các ngõ vào. Mọi sự thay đổi của ngõ vào sẽ làm ngõ ra

thay đổi theo

 

pdf37 trang | Chuyên mục: Kỹ Thuật Số | Chia sẻ: tuando | Lượt xem: 473 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Kỹ thuật số - Chương 3: Hệ tổ hợp, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
F.A C1 C2 C3 
S0 S1 S2 S3 C4 
Kết quả: - C4 = 1 kết quả là số dương
- C4 = 0 kết quả là số âm
13
c. Bộ cộng/trừ nhị phân:
M0 N0M1 N1M2 N2M3 N3
C0 
x y
zC
S
F.A
x y
zC
S
F.A
x y
zC
S
F.A
x y
zC
S
F.A C1 C2 C3 
S0 S1 S2 S3 C4 
Phép toán C0 yi
0 NiCỘNG
TRỪ 1 Ni
T = 0: Cộng
T = 1: Trừ
Ngõ vào điều khiển
C0 = T
yi = T⊕ Ni
T
14
III. Hệ chuyển mã (Code Conversion):
- Hệ chuyển mã là hệ tổ hợp có nhiệm vụ làm cho 2 hệ thống
tương thích với nhau, mặc dù mỗi hệ thống dùng mã nhị
phân khác nhau. 
- Hệ chuyển mã có ngõ vào cung cấp các tổ hợp mã nhị phân A 
và các ngõ ra tạo ra các tổ hợp mã nhị phân B. Như vậy, ngõ
vào và ngõ ra phải có số lượng từ mã bằng nhau. 
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 quá 3. 
A B C D
0 0 0 0
0 0 0 1
0 0 1 0
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
1 1 0 1
1 1 1 0
1 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 ⊕ D
Z = D
A
B
C
D
W
X
Z
Y
16
IV. Bộ giải mã (DECODER):
1. Giới thiệu:
- Bộ giải mã là hệ chuyển mã có nhiệm vụ chuyển từ mã nhị
phân cơ bản n bit ở ngõ vào thành mã nhị phân 1 trong m ở
ngõ ra. 
Mã
1 trong m
X0
X1
Xn-1
Mã
nhị phân
Y0
Y1
Ym-1
m = 2n
- Có 2 dạng: ngõ ra tích cực cao (mức 1) và ngõ ra tích cực
thấp (mức 0).
- Với giá trị i của tổ hợp nhị phân ở ngõ vào, thì ngõ ra Yi sẽ
tích cực và các ngõ ra còn lại sẽ không tích cực. 
17
a. Bộ giải mã ngõ ra 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 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
Y0 = X1 X0 = m0
Y1 = X1 X0 = m1
Y2 = X1 X0 = m2
Y3 = X1 X0 = m3
X0
X1
Y0
Y1
Y2
Y3
Ngõ ra: Yi = mi
(i = 0, 1, .., 2n-1)
18
b. Bộ giải mã ngõ ra tích cực thấp:
X1 X0 Y3 Y2 Y1 Y0
0 0
0 1
1 0
1 1
1 1 1 0
1 1 0 1
1 0 1 1
0 1 1 1
X0
X1
Ngõ 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:
- Ngoài các ngõ vào dữ liệu, bộ giải mã có thể có 1 hay 
nhiều ngõ vào cho phép. 
- Khi các ngõ vào cho phép ở trạng thái tích cực thì mạch
giải mã mới được hoạt động. Ngược lại, mạch giải mã sẽ không
hoạt động; khi đó các ngõ ra đều ở 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 0
1 0 1
1 1 0
1 1 1
0 0 0 0
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
X0
X1
Y0
Y1
Y2
Y3
EN
20
2. IC giải mã:
a. IC 74139: gồm 2 bộ giải mã 2 sang 4 ngõ ra 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
0 0 1
0 1 0
0 1 1
1 1 1 1
1 1 1 0
1 1 0 1
1 0 1 1
0 1 1 1
21
b. IC 74138: bộ giải mã 3 sang 8 ngõ ra 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 1 X X X X
X X 1 X X X
1 0 0 0 0 0
1 0 0 0 0 1
1 0 0 0 1 0
1 0 0 0 1 1
1 0 0 1 0 0
1 0 0 1 0 1
1 0 0 1 1 0
1 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ử dụng bộ giải mã thực hiện hàm Boole:
Ngõ ra của bộ giải mã là minterm (ngõ ra tích cực cao) 
hoặc maxterm (ngõ ra tích cực thấp) của n biến ngõ vào. Do 
đó, ta có thể sử dụng bộ giải mã thực hiện hàm Boole theo
dạng chính tắc. 
z
y
x
0
1
0
F1 (x, y, z) = ∑ (2, 5, 7)
= m2 + m5 + m7
= M2 + M5 + M7
= M2M5M7
F2 (x, y, z) = ∏ (0, 1, 4)
= M0M1M4
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 là hệ chuyển mã thực hiện hoạt động ngược lại với
decoder. Nghĩa là encoder có m ngõ vào theo mã nhị phân 1 
trong m và n ngõ ra theo mã nhị phân cơ bản (với m ≤ 2n).
- Với ngõ vào Ii được tích cực thì ngõ ra chính là 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 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
Z1 = I3 + I2
Z0 = I3 + I1
Z1
Z0
I3
I2
I1
24
* Bộ mã hóa có ưu tiên (Priority Encoder):
Bộ mã hóa có ưu tiên là mạch mã hóa sao cho nếu có nhiều
hơn 1 ngõ vào cùng tích cực thì ngõ ra sẽ là 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 
0 0 1
0 1 1
1 0 1
1 1 1
0 0 0 0
0 0 0 1
0 0 1 X
0 1 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 tiê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 X
0 0 X X X X X X X
0 1 0 X X X X X X
0 1 1 0 X X X X X
0 1 1 1 0 X X X X
0 1 1 1 1 0 X X X
0 1 1 1 1 1 0 X X
0 1 1 1 1 1 1 0 X
0 1 1 1 1 1 1 1 0
0 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
12
14
9
A2
A1
(LSB)A0
GS
EO
7
6
15
4
2
13
11
10
Thứ tự ưu tiên: I7 > I6 > I5 > I4 > I3 > I2 > I1 > I0
26
VI. Bộ dồn kênh (Multiplexer - MUX):
1. Giới thiệu:
- MUX 2n→1 là hệ tổ hợp có nhiều ngõ vào nhưng chỉ có
1 ngõ ra. Ngõ vào gồm 2 nhóm: m ngõ vào dữ liệu (data input) 
và n ngõ vào lựa chọn (select input). 
- Với 1 giá trị i của tổ hợp nhị phân các ngõ vào lựa chọn, 
ngõ vào dữ liệu Di sẽ được chọn đưa đến ngõ ra. (m = 2n)
D0
D1
:
Dm-1
S0(LSB)
S1
:
Sn-1
Y
Ngõ vào dữ liệu
(Data Input)
Ngõ vào lựa chọn
(Select Input)
27
* Bộ MUX 4 → 1:
D0
D1
D2
D3
S0(LSB)
S1
Y
S1 S0 Y
0 0
0 1 
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
Tổng quát: Y = ∑ mi Di (với i = 0, 1, .., 2
n-1)
28
2. IC dồn kênh:
a. 74LS153: gồm 2 bộ MUX 4 →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 1 
0 1 0
0 1 1
0
C0
C1
C2
C3
29
b. 74151: bộ MUX 8 →1
EN
A(LSB)
B
C
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 A Y
1 X X X
0 0 0 0
0 0 0 1 
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1 
0 1 1 0
0 1 1 1
0
D0
D1
D2
D3
D4
D5
D6
D7
30
3. Sử dụng bộ MUX thực hiện hàm Boole:
a. Bộ MUX 2n thực hiện hàm Boole n biến:
EN
A(LSB)
B
C
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
z
y
x
0
1
0
F
31
b. Bộ MUX 2n thực hiện 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 .0 + 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 .0 + m2 .z + m3 .z
x y z F
0 0 0
0 0 1 
0 1 0
0 1 1
1 0 0
1 0 1 
1 1 0
1 1 1
1
1
0
0
1
0
0
1
D0 = 1
D1 = 0
D3 = z
D2 = z
32
VII. Bộ phân kênh (DEMUX):
1. Giới thiệu:
- Bộ DEMUX 1→2n có chức năng thực hiện hoạt động ngược
lại với bộ MUX. Mạch có 1 ngõ vào dữ liệu, n ngõ vào lựa
chọn và 2n ngõ ra. 
- Với 1 giá trị i của tổ hợp nhị phân các ngõ vào lựa chọn, 
ngõ vào dữ liệu D sẽ được đưa đến ngõ ra Yi. 
Y0
Y1
:
Ym-1
S0(LSB)
S1
:
Sn-1
DNgõ vào dữ liệu(Data Input)
Ngõ vào lựa chọn
(Select Input)
Ngõ ra
33
* Bộ DEMUX 1 → 4:
Y0
Y1
Y2
Y3
D
S0 (LSB)
S1
S1 S0 Y3 Y2 Y1 Y0
0 0
0 1
1 0
1 1
0 0 0 D
0 0 D 0
0 D 0 0
D 0 0 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
S0
D
34
B A 1G 1C 1Y0 1Y1 1Y2 1Y3
2. IC phân kênh 74LS155: gồm 2 bộ phân kênh 1 → 4
1Y0
1Y1
1Y2
1Y3A (LSB)
B 2Y0
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
1 1 1 1
0 1 1 1
1 0 1 1
1 1 0 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
1 1 1 1
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
35
VIII. Bộ so sánh độ lớn (Comparator):
1. Giới thiệu:
- Bộ so sánh là hệ tổ hợp có nhiệm vụ so sánh 2 số nhị phân
không dấu A và B (mỗi số n bit). 
- Bộ so sánh có 3 ngõ ra (A>B), (A=B) và (A<B); chỉ có 1 ngõ ra
tích cực theo kết quả so sánh. 
* Bộ so sánh 3 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) = A2 B2 + x2 A1 B1 +x2x1 A0 B0
(A>B)
(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 sá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 ALTBOUT
AEQBOUT
AGTBOUT
6
2
AGTBOUT = (A>B) + (A=B)AGTBIN
AEQBOUT = (A=B) AEQBIN
ALTBOUT = (A<B) + (A=B)ALTBIN

File đính kèm:

  • pdfbai_giang_ky_thuat_so_chuong_3_he_to_hop.pdf