ky thuat dien tu c
Trang 1Chương 8
HỆ TỔ HỢPMạch sô ñược chia làm hai loại:
- Mạch tô hợp (Combinational Circuit)
- Mạch tuần tư% (Sequential Circuit).
Mạch tô hợp là mạch mà các ngo, ra chỉ phu% thuộc vào các ngo, vào hiện tại.
NGUYÊN TẮC THIẾT KẾ HỆ TỔ HỢP
1 Phát biểu bài toán.
2 Xác ñịnh các ngo, vào va? các ngo, ra.
3 Lập bảng chân trị nêu lên mối quan hê% giữa các ngo, ra va? các ngo, vào theo yêu cầu của bài toán.
4 Xác ñịnh hàm Boole ñược ñơn giản hóa cho các hàm ngo, ra.
Trang 2Ví dụ: Thiết kế mạch tổ hợp nhận một số vào là số nhị phân 4 bit ABCD (với D là LSB) Hệ có 2 ngõ ra F và G, ngõ ra F là 1 khi giá trị nhị phân của ngõ vào là 1 số chia hết cho 2 hoặc 3
và ngược lại; ngõ ra G bằng 1 khi tổng số bit 1 ở ngõ vào lớn hơn tổng số bit 0 và ngược lại.
Sơ ñồ khối
A B C D
F G
Trang 4Xác ñịnh các hàm ngõ ra
∑
= ( 0 , 2 , 3 , 4 , 6 , 8 , 9 , 10 , 12 , 14 , 15 ) )
D , C , B , A (
F
∑
= ( 7 , 11 , 13 , 14 , 15 ) )
D , C , B , A (
Trang 5C B A C
B A C
B A D
Trang 6D C B D
B A D
C A
Trang 7Trường hợp hệ tổ hợp không sử dụng hết 2 n tổ hợp của ngõ vào thì tại các tổ hợp không sử dụng ñó ngõ ra có giá trị tùy ñịnh.
Ví du-: Thiết kê một mạch tô hợp có 4 ngõ vào ABCD (với D là MSB) biểu diễn cho sô BCD Các ngõ ra giải mã cho ñèn led 7 ñoạn loại anode chung.
Sơ ñô? khối
C
A B
b c d e f g
Trang 8Bảng chân trị
0 1
1 0
0 0
0 1
1 0
0
0 1
0 0
1 0
0 0
1 0
0
1 1
1 1
0 0
1 1
0 0
0
1 0
0 0
0 0
0 0
0 0
0
1 1
1 1
0 0
0 1
1 1
0
0 0
0 0
0 1
0 0
1 1
0
0 0
1 0
0 1
0 1
0 1
0
0 0
1 1
0 0
1 0
0 1
0
g f
e d
c b
a A
B C
D
Outputs Inputs
Trang 9Bảng chân trị
X X
X X
X X
X 1
1 0
1
X X
X X
X X
X 0
1 0
1
0 0
1 0
0 0
0 1
0 0
1
0 0
0 0
0 0
0 0
0 0
1
X X
X X
X X
X 1
1 1
1
X X
X X
X X
X 0
1 1
1
X X
X X
X X
X 1
0 1
1
X X
X X
X X
X 0
0 1
1
g f
e d
c b
a A
B C
D
Outputs Inputs
Trang 1011
10
DC BA
a
A B C D A
B C
01 11 10
DC BA
b
A B C A
B C
A B C
c = =
A B C D A
B C A
B C
A C D B
C A
B
f = + + g = D C B + C B A
Thực hiện rút gọn trên bìa K, ta có các hàm ngo, ra:
Trang 11a Mạch cộng bán phần (Half Adder – HA)
Mạch cộng bán phần là mạch cộng 2 sô nhi% phân 1 bit X và
Y, mạch tạo ra 1 bit tổng S(Sum) va? 1 bit nhơ C(Carry).
Sơ ñô? khối
Trang 12Bảng chân trị
S C
Y X
Ngõ ra Ngõ vào
Y X Y
X
Trang 13b Mạch cộng toàn phần (Full Adder – FA)
Mạch cộng toàn phần thực hiện phép cộng 3 sô nhi% phân 1 bit
X + Y + Z, mạch tạo ra 1 bit tổng S(Sum) va? 1 bit nhớ C(Carry).
Sơ ñô< khối
X
Z
S
C Y
F.A
Trang 14Bảng chân trị
S C
Z Y
X
Ngõ ra Ngõ vào
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 0 0 1 0 1 1 1
0 1 1 0 1 0 0 1
Trang 15Các hàm ngo, ra
Z Y X Z
Y X Z
Y X Z
Y X
Z Y
X
S = ⊕ ⊕
Z X Z
Y Y
X
C = + +
00 01 11 10 0
1
XY Z
S
00 01 11 10 0
1
XY Z
Trang 17X Y
D B
Y X
Y X Y
X
Y X
B = =
Trang 18X Y
D
0 1
B
0 1
00 01 11 10
1
1
b Mạch trừ toàn phần – Full Subtractor (F.S)
Mạch trừ toàn phần thực hiện phép trừ số học 3 bit X – Y – Z (Z:biểu diễn cho bit mượn từ vị trí có trọng số nhỏ hơn)
) Y X
( Z
Z Y X Z
Y X Z
Y X Z
Y X D
⊕
⊕
=
++
+
=
) Y X
( Z Y
X
Z Y Z
X Y
X C
++
=
++
=
Trang 19M: M3 M2 M1 M0 N: N3 N2 N1 N0
S0 S1
S2 S3
C1 C2
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
C0
= 0
C1 C2
C3
3 MẠCH CỘNG/TRỪ NHỊ PHÂN SONG SONG
a Mạch cộng nhị phân
Trang 20M – N = M + Bù_2(N) = M + Bù_1(N) + 1
M0 N0 M1 N1
M2 N2 M3 N3
C0
= 1
X Y
Z C
S
F.A
Z Y
Z C
S
F.A
X Y
Z C
S
F.A
X Y
Z C
S
S0 S1
S2 S3
Trang 21M0 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
C 0 y i Phép toán
0 N i
CỘNG TRỪ 1 N i
Trang 22III HỆ CHUYỂN MÃ (Code Conversion):
- Hệ chuyển mã là hệ tổ hợp làm cho 2 hệ thống tương thích 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
Trang 23Ví dụ: Thiết kế hệ chuyển mã BCD thành mã BCD quá 3
B
C D
W
X Y
Trang 24IV MẠCH GIẢI MÃ (DECODER):
- Mạch giải mã là hệ chuyển mã thực hiện chuyển ñổi mã nhị phân cơ bản n bit ở ngõ vào thành mã 1 trong m ở ngõ ra
Trang 27c Mạch giải mã có ngõ vào cho phép:
- Ngoài các ngõ vào dữ liệu, mạch 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 và ngược lại, khi ñó các ngõ ra ở trạng thái không tích cực
Trang 28IC giải mã:
a IC 74139: gồm 2 mạch giải mã 2 sang 4 ngõ ra tích cực thấp
1Y 0 1Y 1 1Y 2 1Y 3
1A (LSB)
1B
1G
2Y 0 2Y 1 2Y 2 2Y 3
12 11 10 9
Trang 2915 14 13
Trang 30Dùng mạch giải mã thực hiện hàm Boole
Mỗi ngõ ra của mạch giải mã n sang 2 n (ngõ ra tích cực cao) là
1 minterm(tích chuẩn) n biến Nếu ngo, ra tích cực thấp thi? mỗi ngõ ra là 1 Maxterm(tổng chuẩn) Do ño, 1 mạch giải mã
n sang 2 n kết hợp với các cổng logic có thê ñược dùng ñê thực hiện 1 hoặc nhiều hàm Boole n biến.
Ví dụ : dùng 74LS138 và các cổng cần thiết thực hiện các hàm sau:
F1(x,y,z) = ΠΠ (0,1,3)
F2(x,y,z) = ∑∑(1,4,5)
F3(x,y,z) = ∑∑(0,1,2,5,6,7)
Trang 31F1(x,y,z) = ΠΠ (0,1,3)
3 1
0 M M M
) z , y , x ( 1
F2(x,y,z) = ∑∑(0,4,5)
5 4
m )
z , y , x ( 2
F3(x,y,z) = ∑∑(0,1,2,5,6,7)
4
3 M M
) 4 , 3 ( )
z , y , x ( 3 F
=
Giải
5 4
m + +
=
5 4
0 m m m
=
5 4
0 M M M
=
Trang 32C(MSB)
G2A G2B
0 M M M
) z ,
Trang 33V MẠCH MÃ HÓA (ENCODER):
- Encoder là mạch 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 ≤ 2 n ).
- Với ngõ vào I i ñược tích cực thì ngõ ra chính là tổ hợp giá trị nhị phân i tương ứng.
Trang 340 1
0
1 1
3 1
Trang 35* Mạch mã hóa có ưu tiên (Priority Encoder):
Mạch 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.
Trang 362 IC mã hóa ưu tiên 8 →→3 (74148):
7 6
Trang 37VI MẠCH DỒN KÊNH (Multiplexer - MUX):
- MUX 2 n →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 D sẽ ñược chọn ñưa ñến ngõ ra (m = 2 n )
D 0
D 1 :
D m-1
S 0 (LSB)
S 1 :
S n-1
Y
Ngõ vào dữ liệu (Data Input)
Ngõ vào lựa chọn (Select Input)
Trang 38Tổng quát: Y = ∑ m i D i
Trang 39IC dồn kênh:
a 74LS153: gồm 2 MUX 4 →→→1
1G 1C 0 1C 1 1C 2 1C 3
A (LSB)
B
1Y
2G 2C 0 2C 1 2C 2 2C
Trang 40b 74151: MUX 8 →→→1
EN
A (LSB)
B C
Trang 41Sử dụng MUX thực hiện hàm Boole:
a Dùng MUX 2 n thực hiện hàm Boole n biến:
EN
A (LSB)
B C
0
1 0
F
Trang 42b Dùng MUX 2 n thực hiện hàm Boole n+1 biến:
A (LSB)
B
1Y
2G 2C 0 2C 1 2C 2 2C 3
2Y
y x 0 1 0 z
D 0 = 1
D 1 = 0
D = z
D 2 = z
Trang 43VII MẠCH PHÂN KÊNH (DEMUX):
Mạch có 1 ngõ vào dữ liệu, n ngõ vào lựa chọn và 2 n 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 Y
Y 0
Y 1 :
Y m-1
S 0 (LSB)
S 1 :
S n-1
D
Ngõ vào dữ liệu (Data Input)
Ngõ vào lựa chọn (Select Input)
Ngõ ra
Trang 451Y 0 1Y 1 1Y 2 1Y 3 1G 1C
B A
1Y 0 1Y 1 1Y 2 1Y 3
A (LSB)
0 2Y 1 2Y 2 2Y 3
12
10 11
Trang 46VIII MẠCH SO SÁNH ðỘ LỚN (Comparator):
- Mạch so sánh là hệ tổ hợp thực hiện so sánh 2 số nhị phân không dấu A và B (mỗi số n bit)
- Mạch 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
* Mạch so sánh 3 bit:
A: A 2 A 1 A 0 B: B 2 B 1 B 0
Sử dụng biến trung gian:
B
Trang 482
AGTBOUT = (A>B) + (A=B)AGTBIN
AEQBOUT = (A=B) AEQBIN
ALTBOUT = (A<B) + (A=B)ALTBIN