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

Chương 3: HỆ TỔ HỢP

I. Giới Thiệu – Cách Thiết Kế Hệ Tổ Hợp:

 Mạch logic được chia làm 2 loại: mạch tổ hợp (Combinational Circuit) và mạch tuần tự (Sequential Circuit).

 Mạch 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.

 

doc27 trang | Chia sẻ: ngochuyen96 | Lượt xem: 947 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu 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
A
 G1
6
4
5
14
13
12
15
 B
 7
	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
	4. 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 trực tiếp hàm Boole có dạng chính tắc.
	Vd: Cho hàm 	F1 (x, y, z)	= å (0, 2, 5)
	= m0 + m2 + m5 = M0 + M2 + M5
 C
A(LSB)
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
 G2B
G2A
 G1
 B
 x
 y
 z
 1
 0
 0
F1(x, y, z)
	= M0 M2 M5
	Vd: Cho hàm 	F2 (x, y, z)	= Õ (2, 6, 7)
 C
A(LSB)
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
 G2B
G2A
 G1
 B
 x
 y
 z
 1
 0
 0
F2(x, y, z)
	= M2 M6 M7 = m2 m6 m7
	= m2 + m6 + m7
	- Ta có thể thực hiện nhiều hàm trên 1 bộ giải mã.
	- Decoder ngõ ra tích cực cao ta thực hiện hàm F bằng cổng OR (chính tắc 1) hoặc NOR (chính tắc 2)
	5. Ghép bộ giải mã:
	Sử dụng ngõ vào cho phép để ghép bộ giải mã
	C	B	A	
	Y7	Y6	Y5	Y4	Y3	Y2	Y1	Y0
	0	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	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
 1B
1A(LSB)
1Y0
1Y1
1Y2
1Y3
2Y0
2Y1
2Y2
2Y3
/Y7
 1G
 2B
2A(LSB)
 2G
C
/Y6
/Y5
/Y4
/Y3
/Y2
/Y1
/Y0
B
A
.
.
.
	Ghép 2 IC 74138 ta có được decoder 4 sang 16, có ngõ vào cho phép
 C
A(LSB)
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
 G2B
G2A
 G1
/DEC0
 B
 X
 Y
 Z
 1
/DEC1
/DEC2
/DEC3
/DEC4
/DEC5
/DEC6
/DEC7
 C
A(LSB)
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
 G2B
G2A
 G1
/DEC8
 B
 0
/DEC9
/DEC10
/DEC11
/DEC12
/DEC13
/DEC14
/DEC15
 W
 /EN
 .
 .
 .
 .
 .
 (LSB)
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 thuần túy (với m ≤ 2n).
	Với ngõ vào thứ i được tích cực thì ngõ ra chính là tổ hợp giá trị nhị phân i tương ứng.
Z0
Z1
I1
I0
Zn -1
Im-1
Mã nhị phân 1 trong m
Mã nhị phân n bit
	Vd: 	Encoder 4 sang 2
(LSB) Z0
Z1
I1
I0
I2
I3
	I0	I1	I2	I3
	Z1	Z0	
	1	0	0	0
	0	1	0	0
	0	0	1	0
	0	0	0	1
	0	0	
	0	1	
	1	0	
	1	1	
.
I3
Z1
Z0
I2
I1
Z1 = I2 + I3
Z0 = I1 + I3
	2. Bộ mã hóa có ưu tiên (Priority Encoder): 
(LSB) Z0
Z1
I1
I0
I2
I3
V
	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
	Z1	Z0	V
	0	0	0	0
	1	0	0	0
	x	1	0	0
	x	x	1	0
	x	x	x	1
	x	x	0
	0	0	1
	0	1	1
	1	0	1
	1	1	1
	Thứ tự ưu tiên I3 > I2 > I1 > I0.
	Ngõ ra V có chức năng chỉ thị: V = 1 nếu có ít nhất 1 ngõ vào tích cực; ngược lại V = 0 nếu không có ngõ vào nào tích cực.
I0I1
I2I3
Z1
00
01
1
X
00
1
01
11
10
1
1
1
1
1
11
1
10
1
1
1
1
I0I1
I2I3
Z0
00
01
1
1
X
00
1
01
11
10
1
1
1
1
1
11
10
1
1
	V = I0 + I1 + I2 + I3
.
.
.
I3
I2
I1
I0
Z0
Z1
V
.
	 Z1 = I2 + I3	Z0 = I3 + I1 I2
A2
A1
A0
GS
14
EO
7
9
6
EI
I7
I6
I5
I4
I3
I2
I1
I0
11
10
 1
13
12
 2
 3
 4
 5
15
3. IC mã hóa ưu tiên 8 ®3 (74LS148): 
	EI	I0	I1	I2	I3	I4	I5	I6	I7
	A2	A1	A0	GS	EO	
	1	x	x	x	x	x	x	x	x	
	0	x	x	x	x	x	x	x	0
	0	x	x	x	x	x	x	0	1
	0	x	x	x	x	x	0	1	1
	0	x	x	x	x	0	1	1	1
	0	x	x	x	0	1	1	1	1
	0	x	x	0	1	1	1	1	1
	0	x	0	1	1	1	1	1	1
	0	0	1	1	1	1	1	1	1
	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	
	- Thứ tự ưu tiên: I7 > I6 > I5 > I4 > I3 > I2 > I1 > I0.
	- EI (Enable Input): ngõ vào cho phép, tích cực thấp. Nếu không tích cực các ngõ ra đều bằng 0 (không tích cực). 
	 - EO (Enable Output): ngõ ra tích cực thấp. Ngõ ra này chỉ tích cực khi ngõ vào EI tích cực nhưng không có ngõ vào Ii nào tích cực. Thường được nối vào EI của 1 Encoder 74148 khác có ưu tiên thấp hơn.
	- GS (Group Select): ngõ ra tích cực thấp. Ngõ ra này tích cực khi ngõ vào EI tích cực và có ít nhất 1 ngõ vào Ii tích cực.
	- A2, A1, A0: các ngõ ra tổ hợp nhị phân tương ứng với ngõ vào Ii tích cực khi EI tích cực. Tuy nhiên giá trị này bị lấy bù. 
	* Mạch ứng dụng mở rộng Encoder 8® 3 thành Encoder 10® 4: 
A0
A1
A2
GS
EO
EI
I7
I6
I5
I4
I3
I2
I1
I0
I9
I8
.
.
.
A0
A1
A2
A3
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 thứ i sẽ được chọn đưa đến ngõ ra. (m = 2n)
Y
D0
D1
Dm-1
S0
Sn-1
Ngõ vào dữ liệu
(Data Input)
Ngõ vào lựa chọn
(Select Input)
	Thiết kế bộ MUX 4 ®1
Y
D0
D1
D3
S0 (LSB)
S1
D2
	S1	S0	
	Y	
0	0
0	1
1	0
1	1
	D0
	D1
	D2
	D3
Y = S1 S0 D0 + S1 S0 D1 + S1 S0 D2 + S1 S0 D3
 = m0 D0 + m1 D1 + m2 D2 + m3 D3
 = å mi Di (i = 0, 1, ..,3)
S1
S0
D1
D0
D2
D3
.
.
.
.
.
.
Y
	Tổng quát: Y = å mi Di (với i = 0, 1, .., 2n-1)
	mi là minterm thứ i của n ngõ vào lựa chọn
	Di là các ngõ vào dữ liệu 
	2. IC dồn kênh: 
	a. 74LS153: gồm 2 bộ MUX 4 ®1
1Y
7
2Y
A(LSB)
B
1G
1C0
1C1
1C2
1C3
2G
2C0
15
10
 5
 4
3
 6
 1
 2
 14
9
2C1
2C2
2C3
13
11
12
	G	B	A	
	Y	
	1	x	x	
	0	0	0	
	0	0	1	
	0	1	0	
	0	1	1	
	0	
	C0
	C1
	C2
	C3	
	b. 74LS151: bộ MUX 8 ®1
 Y
5
 Y
EN
A(LSB)
B
C
D0
D1
D2
D3
D4
1
15
 4
 3
2
 9
 10
 11
 7 
6
D5
D6
D7
12
14
13
	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	
	2. 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: 
	Cho hàm Boole:	
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 (1)
	Ngõ ra của bộ MUX 8 ® 1 có dạng: 
	 Y = å mi Di 
 = m0 D0 + m1 D1 + m2 D2 + m3 D3 + m4 D4 + m5 D5 + m6 D6 + m7 D7 (2)
	Để đồng nhất (1) và (2) ta có: 
	- Đưa các biến x, y, z vào ngõ vào lựa chọn C, B, A (đúng theo trọng số)
- Cho các ngõ vào D0 = D1 = D4 = D7 = 1 và D2 = D3 = D5 = D6 = 0 
 Y
.
 Y
EN
A(LSB)
B
C
D0
D1
D2
D3
D4
 z
F(x, y, z)
D5
D6
D7
 y
 +Vcc
 x
.
.
.
.
.
.
74LS151
	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
	 = m0 .1 + m1 .0 + m2 .z + m3 .z 	(1)
	Ngõ ra của bộ MUX 4 ® 1 có dạng: 
	 Y = m0 D0 + m1 D1 + m2 D2 + m3 D3 	(2)
	Để đồng nhất (1) và (2) ta có: 
	- Đưa các biến x, y vào ngõ vào lựa chọn B, A (đúng theo trọng số)
- Cho các ngõ vào D0 = 1, D1 = 0, D2 = z , D3 = z 
1Y
F(x, y, z)
2Y
A(LSB)
B
1G
1C0
1C1
1C2
1C3
2G
2C0
2C1
2C2
2C3
+Vcc
y
x
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
D2 = z
D3 = z
m0 
m1 
m2 
m3 
Cách khác:
VII. Bộ Phân Kênh (DEMUX):
	1. Giới thiệu: 
	Bộ DEMUX 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 sẽ được chọn đưa đến ngõ ra thứ i. 
	Thiết kế bộ DEMUX 1 ® 4:
D
Y0
Y1
Y3
S0(LSB)
S1
Y2
	S1	S0	
	Y0	Y1	Y2	Y3
0	0
0	1
1	0
1	1
	D	0	0	0
	0	D	0	0
	0	0	D	0
	0	0	0	D
Y0 = S1 S0 D 	Y2 = S1 S0 D 
Y1 = S1 S0 D 	Y3 = S1 S0 D
S1
S0
D
.
.
.
.
.
.
Y0
Y1
Y2
Y3
.
.
.
	2. IC phân kênh 74LS155: gồm 2 bộ phân kênh 1 ® 4
	B	A
	1G	1C
	1Y0	1Y1	1Y2	1Y3
	2G	2C
2Y0	2Y1	2Y2	2Y3
	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
	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
 A
1G
1Y0
1Y1
1Y2
1Y3
2Y0
11
2Y1
12
2Y2
 9
2Y3
2
1
13
 2C
2G
 B
3
14
15
6
5
4
7
 1C
10
VIII. Bộ So Sánh Độ Lớn (Comparator):
A
(A>B)
B
(A=B)
(A<B)
	1. Giới thiệu: 
	Bộ so sánh là hệ tổ hợp có nhiệm vụ so sánh 2 số A và B (mỗi số n bit). Mạch có 3 ngõ ra (A>B), (A=B) và (A<B) chỉ thị cho độ tương đối của chúng.
	Thiết kế bộ so sánh:
	A và B có chiều dài bit là n, nên mạch so sánh có 2n ngõ vào; do vậy ta không thể thiết kế theo kiểu thông thường là lập bảng chân trị. Ta có cách khác:
	Vd: n = 4	A = A3 A2 A1 A0
	B = B3 B2 B1 B0
	Ta đặt biến trung gian xi = Ai Å Bi (i = 0, 1, 2, 3)
	(A = B) 	= x3 x2 x1 x0
	(A > B)	= A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x2 A0 B0 
	(A < B)	= A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x2 A0 B0 
A0
.
.
(A>B)
B0
A1
B1
A2
B2
A3
B3
.
.
.
.
.
.
.
.
.
.
.
.
(A=B)
(A<B)
.
.
.
.
.
.
x0
x1
x2
x3
	Ta có thể thực hiện 	(AB) + (A=B)
	2. IC so sánh 74LS85: 
7
ALTBIN
A0
B0
A1
B1
A2
13
 9
 3
2
 4
6
B2
A3
B3
14
15
AEQBIN
AGTBIN
10
12
11
 1
ALTBOUT
AEQBOUT
AGTBOUT
5
AGTBOUT = (A>B) + (A=B).AGTBIN
AEQBOUT = (A=B).AEQBIN
ALTBOUT = (A<B) + (A=B).ALTBOUT

File đính kèm:

  • docSlide-KTS1-C3.doc