GIỚI THIỆU Chương 2 đã khảo sát các phép toán của tất cả các cổng logic và việc sử dụng đại số Boolean để mô tả và phân tích các mạch kết hợp từ các cổng logic.. Các mạch này được gọi l
Trang 1CHƯƠNG 3 MẠCH LOGIC TỔ HỢP
3.1 GIỚI THIỆU
Chương 2 đã khảo sát các phép toán của tất cả các cổng logic và việc sử dụng đại số Boolean để mô tả và phân tích các mạch kết hợp từ các cổng logic Các mạch này được gọi là mạch logic tổ hợp, vì mức logic ngõ ra chỉ phụ thuộc vào tổ hợp logic ngõ vào hiện tại
Một mạch tổ hợp thì không có đặc tính nhớ
Các phương pháp tối thiểu hóa thường được sử dụng trong thiết kế số là:
• Sử dụng các định lý của đại số Boolean
• Các kỹ thuật dùng bìa (Karnaugh, Quine Mc Cluskey)
Mơ hình mạch tổ hợp với n đầu vào và m đầu ra
3.2 THIẾT KẾ MẠCH LOGIC TỔ HỢP
3.2.1 Các bước thiết kế mạch logic tổ hợp
• Ứng với mỗi tổ hợp ngõ vào, đặt các mức logic ngõ ra theo yêu cầu thiết kế, tất cả các khả năng ngõ ra của một mạch logic có thể được biểu diễn thông qua bảng sự thật
• Từ bảng sự thật suy ra biểu thức Boolean cho mạch cần thiết kế
• Rút gọn biểu thức Boolean
• Chuyển biểu thức Boolean thành mạch tổ hợp
Ví dụ,
Thiết kế một mạch logic 3 ngõ vào, A, B, C với yêu cầu: ngõ ra sẽ ở mức cao khi có ít
nhất 2 ngõ vào ở mức cao
Giải
Bước 1 Thiết lập một bảng sự thật, có tất cả 8 khả năng đối với ngõ vào Dựa vào
yêu cầu bài toán, ngõ ra sẽ ở mức 1 khi có 2 hay 3 ngõ vào ở mức 1, các trường hợp
MẠCH TỔ HỢP
X1
X 2
X n
Y1
Y2
Y m
Trang 2A B C X Minterm
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
BC A.
C B A C AB
ABC
Bước 2. Viết biểu thức ngõ ra dưới dạng minterm (cho mỗi trường hợp X=1)
X = A.BC + ABC + ABC+ ABC
Bước 3 Có thể viết lại
X=ABC+ABC+ABC+ABC+ABC+ABC
Nhóm các số hạng lại với nhau
X=BC(A+A)+AC(B+B)+AB(C+C)=BC+AC+AB
Bước 4 Biểu thức ngõ ra được thực hiện như sau:
Người ta cũng co thể biến đổi biểu thức trên thành x=C(B + A) + AB, và mạch logic được thực hiện như hình (b)
Mạch (b) có phần đơn giản hơn vì chỉ sử dụng các cổng 2 ngõ vào thay vì phải sử dụng cổng OR 3 ngõ vào như mạch (a) Trên thực tế người thiết kế vẫn chọn mạch (a) bởi vì nhiều lý do, một trong những lý do là tín hiệu ngõ vào A, B ở mạch (b) phải qua 3 cổng logic trước khi được đưa ra ngõ ra Điều này có thể ảnh hưởng rất lớn trong một hệ thống số tốc độ cao
Ví dụ, Thiết kế một mạch logic 4 ngõ vào, A, B, C, D (trong đó A ứng với MSB, và
D ứng với LSB) với yêu cầu ngõ ra sẽ ở mức cao khi giá trị thập phân của các ngõ vào ABCD > 610
74LS08
B
C
74LS08
1
74LS08
B
A
X
C
Trang 33.2.2 Một số điểm quan trọng khi thực hiện thiết kế cuối cùng
Trong các ví dụ về thiết kế trên, các mạch được thực hiện thông qua các cổng AND và OR, trong đó một hay nhiều cổng AND lái một cổng OR do việc biểu diễn hàm dưới dạng minterm Khi biểu diễn hàm dưới dạng minterm ta có thể dễ dàng
chuyển đổi các cổng logic thành một cổng NAND duy nhất (lưu ý xem lại phần
chuyển đổi đã khảo sát ở chương 2), bởi vì cổng NAND là cổng logic có đáp ứng nhanh nhất trong họ logic TTL, đây là một đặc tính quan trọng cần phải lưu ý
Ví dụ, biến đổi mạch của 2 ví dụ trên dùng cổng NAND
3.3 KỸ THUẬT CỰC TIỂU QUINE-Mc CLUSKEY
Các hệ thống số hiện đại được thiết kế bằng cách sử dụng các thiết bị logic phức tạp, do đó đòi hỏi một kỹ thuật tối hiểu hóa hàm logic với sự hỗ trợ của máy tính thay vì làm bằng tay với các yêu cầu:
• Có khả năng xử lý một số lớn các biến
• Không phụ thuộc vào khả năng của người dùng trong việc nhận biết các phần tử nguyên tố
• Đảm bảo biểu thức được cực tiểu hóa
• Phù hợp cho giải pháp bằng máy tính
Phương pháp:
Bước 1 Chuyển hàm về dạng minterm
Bước 2 Sắp xếp các số hạng minterm của hàm theo từng nhĩm cĩ chung số bit 1
Bước 3 Áp dụng định lý A+A =1 cho 2 minterm chỉ sai khác nhau 1 bit 1 Lặp lại
cho đến khi nhĩm xong các minterm
Bước 4 Quan sát bảng các nguyên tố cơ bản được rút gọn, xác định cột chỉ chứa một
minterm
Bước 5 Viết hàm dưới dạng tổng chuẩn rút gọn của các minterm đĩ
Ví dụ Rút gọn hàm Boolean sau dùng phương pháp Quin McCluskey
74LS08
B
C
B C
Trang 4Bước 2.
Các biến
Nhóm
1 1
2
8
0
0
1
0
0
0
0
1
0
1
0
0
2 3
5
9
0
0
1
0
1
0
1
0
0
1
1
1
3 7
11
14
0
1
1
1
0
1
1
1
1
1
1
0
Bước 3 Nhóm các minterm chỉ sai khác 1 bit
Các biến
A B C D
1 0,1
0,2 0,8
0
0
-
0
0
0
0
-
0
-
0
0
2 1,3
1,5 1,9 2,3 8,9
0
0
-
0
1
0
-
0
0
0
-
0
0
1
0
1
1
1
-
-
3 3,7
3,11 5,7 9,11
0
-
0
1
-
0
1
0
1
1
-
-
1
1
1
1
Lặp lại bước 3, tiếp tục nhóm các minterm chỉ sai khác 1 bit
Các biến Nhóm Minterm
A B C D
Nguyên tố
cơ bản
1 0,1,2,3
0,1,8,9 0 - 0 0 0 - - - B CA B
2 1,3,5,7
1,3,9,11
0
-
-
0
-
-
1
1 A DB D
Bước 4 Quan sát các nguyên tố và tìm các cột chỉ chứa một gạch chéo (ký hiệu
Trang 5Các minterm
Các
nguyên tố Các số thập phân 0 1 2 3 5 7 8 9 11 14
Thấy rằng, tất cả các nguyên tố đều có ⊗, đây là các minterm đã cực tiểu hóa, vậy hàm cuối cùng là
Y=ABCD+ A B +B C + A D +BD
Ví dụ Rút gọn hàm Boolean sau dùng phương pháp Quin McCluskey
ABCD
Y=∏ (2,4,5,6,10,12,13,14)
3.4 THIẾT KẾ MẠCH KHƠNG SỬ DỤNG BẢNG SỰ THẬT
Một số bài toán thiết kế đôi khi có thể giải quyết trực tiếp mà không qua các bước thiết kế trên, đối với những bài toán này đòi hỏi phải hiểu rõ những phép toán logic, các cổng logic và các tính chất của cổng logic Xét một vài ví dụ sau đây
3.4.1 Mạch so sánh số nhị phân 2 bit
Bài tốn
Thiết kế mạch sao cho ngõ ra sẽ ở mức cao khi
x1x0 = y1y0
Giải
Có thể giải bài toán bằng cách lập bảng sự thật
rồi rút gọn hàm
Tuy nhiên, nếu ta xét đến đặc điểm của phép
toán tương đương hay cổng XNOR (ngõ ra sẽ ở
mức cao nếu 2 ngõ vào bằng nhau) ta sẽ thấy
vấn đề cần giải quyết sẽ đơn giản hơn nhiều
x1 x0 y1 y0 z
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
Mạch
so sánh
x1
x0
y1
y0
z
Trang 6Cốt lõi của bài toán là so sánh x0 với y0 và x1 với y1, ta sẽ có mạch như sau:
3.4.2 Mạch tạo và kiểm tra chẵn lẻ
Khi truyền dữ liệu từ máy phát sang máy thu, có nhiều cách để kiểm tra lỗi trong khi truyền, một trong những cách đơn giản nhất là thêm 1 bit vào dữ liệu được truyền đi, bit đó gọi là bit chẵn lẻ (parity bit)
Parity bit có hai giá trị 0 hay 1 tùy thuộc vào số bit 1 có trong nhóm mã có hai phương pháp tạo bit parity
Phương pháp parity chẵn
Giá trị của bit parity được chọn sao cho tổng các chữ số 1 trong nhóm mã là số chẵn
Nếu số bit 1 trong nhóm mã là lẻ thì bit parity thêm vào là 1
Nếu số bit 1 trong nhóm mã là chẵn thì bit parity thêm vào là 0
Ví dụ mã ASCII của chữ C là 1000011, nhóm mã này có 3 bit 1 vì vậy sẽ đặt thêm parity bit là 1 để sao cho nhóm mã tạo ra có số bit 1 là chẵn (4 bit 1)
1 1 0 0 0 0 1 1
mã ASCII của chữ A là 1000001, bit parity thêm vào sẽ là bit 0 (01000001)
Mạch tạo Parity chẵn dựa trên phương pháp so sánh số bit 1
Ngõ ra cổng XOR ở mức cao khi số bit 1 ở ngõ vào là lẻ
Ta có thể thiết kế mạch dùng bảng sự thật và kết quả cũng giống như trên
74LS08
X1 X0 Y1 Y0
Z
Bit parity thêm vào
D3
D2
D1
D0
Parity (P)
To Receiver
Trang 7Phương pháp Parity lẻ
Giá trị của bit parity được chọn sao cho tổng các chữ số 1 trong nhóm mã là số lẻ Nếu số bit 1 trong nhóm mã là lẻ thì bit parity thêm vào là 0
Nếu số bit 1 trong nhóm mã là chẵn thì bit parity thêm vào là 1
Ví dụ mã ASCII của chữ C là 1000011, nhóm mã này có 3 bit 1 vì vậy sẽ đặt thêm parity bit là 0 để sao cho nhóm mã tạo ra có số bit 1 là lẻ
0 1 0 0 0 0 1 1
mã ASCII của chữ A là 1000001, bit parity thêm vào sẽ là bit 1 (11000001)
Mạch kiểm tra chẵn lẻ
Mạch kiểm tra chẵn tương tự như mạch phát parity chẵn, cũng dựa trên nguyên lý của cổng XOR, ngõ ra sẽ ở mức cao nếu các ngõ vào có số bit 1 là chẵn Nghĩa là khi ngõ ra ở mức 1: không có lỗi, khi ngõ ra ở mức 0: có lỗi trong khi truyền Mạch như hình sau
Mạch chỉ kiểm tra các bit gốc có bị lỗi hay không chứ không biết được bit nào lỗi trong trường hợp phát hiện được lỗi
3.4.3 Mạch cho phép/cấm
Mỗi cổng logic cơ bản có thể được sử dụng để điều khiển cho phép hoặc không cho phép các tín hiệu đi qua cổng đó
Ở đây ta sử dụng một ngõ vào làm chân điều khiển cho phép hoặc cấm, ngõ còn lại cấp tín hiệu
Bit parity thêm vào
P
D3
D2
D1
D0
Error (E)
1=error 0=no error
Control
Trạng thái cấm (đóng cổng)
Cổng logic
Control
Trạng thái cho phép (mở cổng)
Cổng logic
Khơng thay đổi trạng thái
Trang 8Ví dụ,
Thiết kế mạch logic cho phép tín hiệu đi qua chỉ khi hai ngõ điều khiển B và C đều
ở mức cao, các trường hợp còn lại ngõ ra ở mức thấp
Giải
Ví dụ
Thiết kế mạch logic cho phép tín hiệu đi qua chỉ khi 2 ngõ vào điều khiển có mức logic khác nhau
Ví dụ,
Thiết kế mạch logic với tín hiệu ngõ vào tại A, điều khiển tại B, ngõ ra X và Y như sau:
Khi B=1 ngõ ra X = A, Y = 0
Khi B=0 ngõ ra X = 0, Y= A
74LS11
A B C
X