Một hệ logic tuần tự có thể chứa các hệ logic tổ hợp con, những dử liệu thiết kế hệ tổ hợp có thể được cho dưới dạng: Một cách đo độ phức tạp của hàm Boole là đếm số lượng "literal" tức
Trang 1Biên soạn Ngô Văn Bình
Phần 1: Thiết kế hệ logic tổ hợp
I Giới thiệu chung
Về cơ bản hệ điều khiển logic được chia làm 2 loại lớn:
- Hệ tổ hợp
- Hệ tuần tư
Trong hệ tổ hợp đầu ra tại một thời điểm bất kỳ chỉ phụ thuộc vào trạng thái các đầu vào tại thời điểm đó, nghĩa là không có phần tử nhớ trong mạch, đối với hệ tuần tự thì khác: Trạng thái ngỏ ra tại thời điểm đang xét không những phụ thuộc trạng thái vào tại cùng thời điểm mà còn phụ thuộc vào trạng thái vào trong quá khứ có nghĩa là phải có phần tử nhớ trong mạch
Một hệ logic tuần tự có thể chứa các hệ logic tổ hợp con, những dử liệu thiết kế hệ tổ hợp có thể được cho dưới dạng:
Một cách đo độ phức tạp của hàm Boole là đếm số lượng "literal" tức số lượng chữ
có trong biểu thức Boole, literal sẻ xác định lượng dây nối và số lượng đầu vào của mạch
vì vậy cần phải giãm số lượng literal
Một vấn đề khác là số lượng cổng cần thiết chính điều này quyết định kích thước của mạch, một thiết kế đơn giản nhất là dùng ít cổng nhất chứ không phải ít literal
Yếu tố thứ ba là số mức logic, giãm số mức logic sẻ làm giãm thời gian trể vì tín hiệu đi qua ít cổng hơn nhưng nếu chỉ chú ý đến thời gian thì có thể lại làm cho số lượng cổng tăng lên
Trong phần này trình bày cách thiết kế một hệ tổ hợp để thực hiện mạch logic hai mức, cách dùng các vi mạch có trong thực tế cho đến cách tổng hợp logic nhiều mức để đạt được số lượng cổng cần dùng là ít nhất
II Quy trình thiết kế
Quy trình thiết kế thường được thực hiện theo một số bước sau đây:
- Phân tích yêu cầu và xác định tín hiệu vào - ra
- Xác định bảng trạng thái và bảng sự thật
- Đơn giản hóa
- Viết phương trình tổng của tích hoặc tích của tổng
- Vẽ sơ đồ AND - OR hoặc OR - AND
- Biến đổi sang sơ đồ vi mạch thông dụng
- Chọn linh kiện và ráp mạch
Ví dụ:
Thiết kế mạch logic điều khiển một bồn chứa nước với sơ đồ công nghệ và yêu cầu như sau:
Trang 2- Bơm P chỉ chạy khi giếng đầy nước ( cãm biến D tác động) và bồn chưa đầy (cãm biến A không tác động)
- Van V bình thường luôn luôn mở để sẳn sàng cung cấp nước và chỉ đóng lại khi giếng hết nước và đồng thời bồn cũng cạn nước (cãm biến C không tác động) để giử lại một lượng nước an toàn
- Còi hoặc đèn báo động sáng khi hệ thống bị sự cố (A tác động nhưng C lại không tác động)
Giải
1 Phân tích yêu cầu và xác định tín hiệu vào - ra
Từ sơ đồ công nghệ và yêu cầu điều khiển suy ra tín hiệu vào là: cãm biến A, C và
D (để đơn giản xem như không có cãm biến B) và tín hiệu ra gồm: bơm P, van V và đèn
BD
2 Xác định bảng trạng thái và bảng sự thật
Bảng trạng thái là một dạng diển tả khác của yêu cầu điều khiển nội dung của bảng
sẽ cho biết quan hệ giữa tín hiệu ra với tín hiệu vào
Trang 3Biên soạn Ngơ Văn Bình
K.tác động K.tác động K.tác động Dừng Đóng Tối
K.tác động K.tác động Tác động Chạy Mở Tối
K.tác động Tác động K.tác động Dừng Mở Tối
K.tác động Tác động Tác động Chạy Mở Tối
Tác động K.tác động K.tác động Dừng Mở Sáng
Tác động K.tác động Tác động Dừng Mở Sáng
Tác động Tác động K.tác động Dừng Mở Tối
Tác động Tác động Tác động Dừng Mở Tối
Bảng sự thật là bảng trạng thái khi thay vào đĩ các giá trị logic tương ứng 0 và 1 Do
đĩ từ một bảng trạng thái cĩ thể dẫn đến nhiếu bảng sự thật khác nhau tùy theo hệ thống thực tế Trong trường hợp này cĩ thể quy định như sau:
Với các cãm biến: Tác động tương đương với 1 và khơng tác động là 0
3 Đơn giản hĩa
Quá trình đơn giản cĩ thể thực hiện bằng bảng Karnaugh hoặc đại số logic, bảng Karnaugh là một phương pháp đồ thị, trực quan , dể hiểu và thường được áp dụng trong trường hợp số lượng ngỏ vào khơng nhiều lắm
Hình 1.4 Bảng Karnaugh của hàm P
Trang 44/ Viết phương trình tổng của tích hoặc tích của tổng
Phương trình đơn giản của hàm P: P = D A ABC ABCABCABC
Phương trình đơn giản của hàm BD: BD = AC
Riêng hàm V chỉ có một trường hợp bằng 1 nên không cần đơn giản
V = D AC 5/ Vẽ sơ đồ AND - OR hoặc OR - AND
Trang 5Biên soạn Ngô Văn Bình
NOR với một bộ đảo được đặt thêm ở phía sau Ngoài ra một hàm logic bất kỳ gồm có AND, OR và NOT có thể được thực hiện bằng cách chỉ dùng các cổng NAND hoăc NOR
Sự chuyển đổi này dựa trên định lý De Morgan
AB A B A B A B
Hình 1.7 Kết quả của định lý De Morgan
Một cổng AND tương đương một cổng NOR với tất cả các ngỏ vào đảo, và một cổng OR tương đương một cổng NAND với tất cả các ngỏ vào đảo Từ những nguyên tắc vừa trình bày sơ đồ hai mức logic AND - OR được chuyển thành dạng NOR - NOR như sau:
Một khối AOI là một mạch logic ba mức bao gồm các cổng AND ở mức thứ nhất, một cổng OR ở mức thứ hai và một cổng đảo ở đầu ra Tương tự một khối OAI gồm các cổng OR ở mức thứ nhất, một cổng AND ở mức thứ hai và một cổng đảo ở đầu ra Tóm lại
Trang 6trong
Hình 1.9 Khối AOI 2 ngăn 2 đầu vào
Trong hình 1.9 trình bày một cổng AOI hai ngăn (một cổng AND gọi là một ngăn) hai đầu vào (mỗi cổng AND có 2 ngỏ vào) Sớ lượng năn bằng với số lượng đầu vào của cổng OR
Ví dụ:
Thực hiện hàm XOR bằng khối AOI
Phương trình cùa hàm XOR: A B AB AB
Nếu dùng các cổng rời thì phải cần 2 cổng AND 2 đầu vào, một cổng OR 2 đầu vào
và 2 cổng đảo Để thực hiện bằng cổng AOI chỉ cần tìm bù của hàm XOR dưới dâng tổng các tích
A B AB AB
Sau đó đưa A và B vào một ngăn của AOI, A, B vào ngăn thứ hai, cổng đảo ở ngỏ
ra của AOI sẽ trả về giá trị đúng của hàm XOR
Tín hiệu ra
- Z: Tín hiệu điều khiển thang chạy lên
Trang 7Biên soạn Ngô Văn Bình
Với mục đích giãm bớt số biến số trong khi xây dựng và biến đổi các hàm logic cần thiết phải tạo ra thêm các biến trung gian, các biến này là kết quả tổ hợp từ các tín hiệu vào ban đầu thỏa mản được yêu cầu hoạt động của thang máy
- c: Tín hiệu cho phép thang máy hoạt động
- g: Tín hiệu báo hoàn thành mệnh lệnh
g = a1,d1 + a2.d2 + a3.d3
Như vậy từ 15 biến ban đầu nay thu gọn lại chỉ còn 4 biến mới tạo thành 16 tồ hợp biến (2n), ngoài ra thang máy còn có 3 trạng thái: Dừng, lên và xuống
Bước tiếp theo là lập bảng quan hệ biến số - trạng thái
Nhận xét:
- Thang máy luôn dừng khi không có c và có g
- Thang máy không thay đổi trạng thái khi có c, không g và đồng thời có e và f hoặc không có cả e và f
Trong các thiết bị logic nhiều đầu ra đôi khi không cho phép nhiều đầu ra cùng tồn tại song song mà chỉ một mà thôi Do đó, cần phải dùng tín hiệu ra hồi tiếp trở về ngỏ vào, trong trường hợp thang máy để tránh trường hợp này có thể chọn 2 ngỏ ra z và y làm tín hiệu hồi tiếp hình vẽ sau trình bày quan hệ giữa các tín hiệu này với trạng thái của thang máy
Trang 9Biên soạn Ngô Văn Bình
IV Sử dụng hàm XOR và XNOR
Trong nhiều tình huống thiết kế có thể xử dụng phương pháp đơn giản hóa các hàm logic bàng toán tữ XOR và XNOR vì các hàm này được xủ dụng rộng rải nên chúng được chế tạo sẳn trong công nghệ vi mạch, phần dưới đây sẽ trình bày phương pháp nhận dạng hàm XOR và XNOR trên bìa Karnaugh
Trong phương pháp tối thiểu hóa AND-OR và OR-AND, các số 0 hoặc 1 cạnh nhau theo chiều dọc và chiều ngang được dán lại với nhau, trong trường hợp tối thiểu XOR và XNOR các ô đối diện nhau theo phương chéo hoặc các nhóm ô đối xứng nhau qua một giao điễm của các đường kẻ trong bãng được gọi là Diagonal và các ô hay nhóm ô đối
xứng nhau qua một hàng hoặc cột được gọi là Offset như trình bày ở hình sau đây:
Trang 10Hình 1.16 Bảng Karnaugh với diagonal và offset
Hình 1.16a là một bảng Karnaugh 3 biến A, B, C trong đó diagonal 1 có điểm đối xứng là
M, diagonal 2 có điểm đối xứng là N, offset 1 có cột đối xứng là AB, suy ra các biểu thức rút gọn XOR và XNOR như sau:
offset 1 = CAB CAB C AB AB ( ) C A B ( )
offset 2 = CAB C AB C AB ( AB ) C A ( B )
diagonal 1 = CAB CAB A CB CB ( ) A C B ( )
diagonal 2 = CAB CAB A CB CB ( ) A C ( B )
Trang 11Biên soạn Ngô Văn Bình
Hình 1.16b là bảng Karnaugh 4 biến A, B, C, D trong đó diagonal 1 tạo nên bởi 2 nhóm đối xứng nhau qua điểm I và offset 1 tạo bởi hai nhóm đối xứng nhau qua hàng CD, kết quả đơn giản như sau:
Diagonal 1 = CAB CAB A CB CB ( ) A C ( B )
Offset 1 = CDA CDA A CD CD ( ) A C D ( )
Ví dụ:
Dùng hàm XOR và XNOR đơn giản hóa hàm Y cho trong bảng Karnaugh sau đây
Theo cách đơn giản thông thường ta có kết quả
Y1 = C AB C D A C DA CAB CDAB CDAB
Theo phương pháp XOR và XNOR ta có
Diagonal 1 = CAB CAB B CA CA ( ) B C A ( )
Diagonal 2 = CDA CDA D CA CA ( ) D C ( A )
Offset 1 = CDAB CDAB DB CA CA ( ) DB C A ( )
Suy ra: Y2 = Diagonal 1+ Diagonal 2 + Offset
Hình 1.18 Hai cách thực hiện hàm Y
V Hazard - Glitch trong mạch tổ hợp
Glitch là một xung không mong muốn xuất hiện tại ngỏ ra của mạch tổ hợp, mạch
có thể tạo ra glitch gọi là mạch có hiện tượng hazard (may rủi), cũng có trường hợp mạch
có khả năng hazard nhưng lại không tạo ra glitch, trong phần dưới đây sẽ trình bày phương pháp thiết kế mạch không có hazard (hazard-free circuit)
1 Khái niệm về Hazard
Các Hazard gây rắc rối cho hệ thống trong 2 trường hợp
Trang 12gian đáp ứng của hệ V.D: Giãm tần số xung đồng hồ
- Ngỏ ra của mạch có hazard được nối đến các ngỏ vào không đồng bộ của mạch tiếp theo sau và sẻ làm các mạch này hoạt động không chính xác
Các phương pháp loại bỏ khả năng hazard đều giả thiết rằng các xung glitch ở ngỏ ra
là do sự thay đổi của 1 bít ở đầu vào
Các loại hazard khác nhau được trình bài trong hình Một hazard tĩnh xuất hiện khi đầu ra trải qua một sự chuyển tiếp nhất thời mặc đáng lẽ ra nó không được thay đổi: Hazard tĩnh loại 1 làm đầu ra giãm xuống 0 trong một thời gian ngắn (xung âm) và ngược lại hazard tĩnh loại 0 làm xuất hiện xung dương ở ngỏ ra
Hazard động làm ngỏ ra thay đổi nhiều lần trong khi đúng ra nó chỉ được phép
chuyển một lần từ 0 lên 1 hoặc từ 1 xuống 0, và sẻ tạo ra các xung glitch trong mạch logic
đa mức là loại mạch có nhiều đường dẫn từ đầu vào đến đầu ra vối các thời gian truyền khác nhau, rất khó loại trừ hazard động, phương pháp giải quyết tốt nhất là chuyển mạch
đa mức có hazard động thành mạch logic 2 mức không có hazard
Trang 13Biên soạn Ngô Văn Bình
Hình 1.19 Các loại Hazard
2 Phát hiện và loại trừ hazard trong mạch logic 2 mức
Khảo sát hàm sau đây
F (A,B,C,D) = ∑ (1,3,5,7,8,9,12,13)
Hình 1.20 Bảng Karnaugh của hàm F Xét trường hợp khi đầu vào ABCD = 1100 chuyển sang 1101 Từ sơ đồ cho thấy khi đầu vào bằng 1100, đầu ra của cổng G1 bằng 1 trong khi đầu ra của cổng G2 bằng 0
Do đó, đầu ra của G3 bằng 1
Khi đầu vào chuyển sang 1101 thì đầu ra của các cổng vẩn giữ nguyên Bây giờ xem sự thay đổi của ngỏ vào từ 1101 sang 0101 lúc này A chuyển xuống 0 và A chuyển
Trang 14ngắn cả A và A cùng bằng 0, ngỏ ra của G1 và G3 cùng bằng 0 và F cũng bằng 0, sau đó khi A lên đến mức 1 thì F bằng 1 trở lại, một xung glitch đã xuất hiện ở ngỏ ra
Từ bảng Karnaugh cho thấy khi các giá trị đầu vào thay đổi nhưng cùng nằm trong một biểu thức đơn giản thì không thể xảy ra glitch, nhưng nếu chuyển từ biểu thức đơn giản này sang biểu thức đơn giản khác thì có thể xảy ra glitch Tuy nhiên, tốc độ G1 chậm hơn G3 nhiều thì sẽ không xảy ra glitch ở ngỏ ra F nhưng hazard thì luôn luôn tồn tại Phương pháp khắc phục là thêm vào các biểu thức đơn giản sao cho bao phủ mọi thay đổi đơn bít ở đầu vào, trong ví dụ trên nếu thêm vào phương trình hàm F biểu thức CDB thì F sẽ luôn bằng 1 bất chấp sự thay đổi của A như đã nói ở trên
Từ bảng Karnaugh ở hình 1.20 viết lại phương trình của hàm F dưới dạng tích các tổng
F = (DA C)( A)
Dể dàng nhận thấy rằng trong mạch tồn tại hazard tĩnh loại 0 khi đầu vào thay đổi từ
1110 sang 0110, để loại trừ hazard này phải thêm vào số hạng (C + D)B và phương trình F trở thành
F = (DA C)( A) (C + D)B Như vậy, sự tồn tại Hazard 1 của hàm F sẻ tương ứng với sự tồn tại hazard 0 của hàm
F
3 Hazard động
Là các biến thiên xảy ra nhiều lần ở ngỏ ra trong một quá trình thay đổi đầu vào, nguyên nhân là do tồn tại nhiều đường tìn hiệu trong mạng đa mức mà mỗi đường có độ trể khác nhau
Trang 15Biên soạn Ngô Văn Bình
Tiếp theo đó G1 lên 1 làm G3 lên 1 và G5 cũng lên 1, lúc này đầu ra đã chuyển từ 1 xuống 0 rồi lên 1 Cuối cùng G4 chuyển từ 1 xuống 0 làm G5 xuống giá trị cuối cùng là 0 Như vậy đầu ra đã biến đổi từ 1 xuống 0, lên 1 rồi lại xuống 0
VI Các vi mạch thường dùng trong hệ tổ hợp
1 Bộ dồn kênh (multiplex)
Còn gọi là bộ đa hợp hoặc chọn tín hiệu (selector) có nhiệm vụ chọn một trong số các tín hiệu đầu vào để đưa tới một đầu ra duy nhất dưới sự điều khiển của các ngỏ vào điều khiển Ngược lại bộ phân kênh (distributor) hoặc giải đa hợp (demultiplex) sẽ dẫn tín hiệu
từ một đầu vào duy nhất đến một trong các ngỏ ra dưới sự điều khiển của các ngỏ vào điều khiển
Như vậy, bộ dồn kênh là một mạch logic tổ hợp bao gồm 2n đầu vào dữ liệu, n ngỏ vào điều khiển và một đầu ra dữ liệu, giá trị nhị phân của đầu vào điều khiển là địa chỉ của đầu vào dữ liệu
Từ bảng sự thật suy ra phương trình Boole tương ứng:
Z = AI 1 AI 2
Nếu A = 0 thì I0 được chọn và A = 1 thì I1 được chọn, bộ dồn kênh như trên gọi là
bộ dồn kênh 2:1
Trang 16các bộ dồn kênh được mô tả bằng số lượng đầu vào dữ liệu vì từ đó có thể suy ra số lượng tín hiệu điều khiển, từ bộ dồn kênh 2 đầu vào suy ra phương trình các bộ dồn 4:1 và 8:1 như sau:
Z = BAI 1 BAI 2 BAI 3 BAI 4
Z =
CBAI CBAI CBAI CBAI CBAI CBAI CBAI CBAI
Dạng tổng quát minterm của bộ dồn kênh
Thiết kế bộ dồn kênh
Sơ đồ bộ dồn kênh dùng các cổng logic được suy ra từ các phương trình ở phần trên, sau đây là sơ đồ bộ dồn kênh 4 đầu vào
Trang 17Biên soạn Ngô Văn Bình
Hình 1.25 Bộ dồn kênh dùng cổng logic Mạch dùng 4 cổng AND 3 đầu vào, một cổng OR 2 đầu vào và 2 cổng đảo, tổng cộng
là 7 cổng
Có thể xây dựng một bộ dồn N:1 từ nhiều bộ dồn với số đầu vào ít hơn N, hình vẽ sau đây trình bày bộ dồn 8:1 từ hai bộ 4:1 và một bộ 2:1 Lớp thứ nhất chọn một đầu vào trong số các đầu vào từ I0 I3 và mộ đầu từ I4 I7 dùng 2 tín hiệu điều khiển B, C, lớp thứ hai chọn một trong hai nhóm dựa trên tín hiệu A Nhưng cũng có thể thực hiện bộ dồn 8:1 từ 4 bộ dồn 2:1 và mộ bộ dồn 4:1
Xử dụng bộ dồn kênh như một khối logic
Ngoài chức năng chọn tín hiệu như đã biết, thực tế một bộ dồn là một kiểu thực hiện bảng sự thật trực tiếp bằng phần cứng
Xét hàm F (A, B, C) = m0 + m2 + m6 + m7 có thể thực hiện hàm này bằng bộ dồn 8:1 như hình vẻ sau đây
Các biến vào A, B, C được nối đến các đầu vào điều khiển của bộ chọn, ngỏ vào Ii được đặt 1 tương ứng với minterm của hàm F, tất cả các đầu vào dữ liệu khác được gán mức 0 Trong ví dụ này I0, I2, I6 và I7 được gán mức 1 còn I1, I3, I4, I5 được gán mức 0 Tuy nhiên, có thể xử dụng bộ dồn đơn giản hơn để thực hiện hàm này, hai biến A, B đưa vào các đầu vào điều khiển và các đầu vào dữ liệu của bộ dồn nối với 0, 1, C và C Xem bảng sự thật sau đây:
Trang 18Hình 1.26 Biểu diễn F như hàm của 0, 1 và C
F = ABC ABC ABC ABC
Và cuối cùng là sơ đồ dùng bộ dồn 4:1
Hình 1 28 Các giá trị có thể của hàm F Trong trường hợp tổng quát, một hàm bất kỳ có thể được thực hiện bằng cách chọn (n
- 1) biến vào làm tín hiệu điều khiển cho một bộ dồn kênh có 2 n-1 đầu vào dữ liệu, mỗi
Trang 19Biên soạn Ngô Văn Bình
hoặc 1 thì đầu vào tương ứng sẽ là 0 hoặc 1 nếu không thì đầu vào sẽ được nối với biến n hoặc đảo của n
2 Bộ phân kênh (demultiplex)
Bộ phân kênh cho phép tín hiệu đầu vào của nó dẫn đến một trong các ngỏ ra, mỗi ngỏ ra được phân biệt bởi một mã nhị phân duy nhất, do đó bộ phân kênh còn có chức năng giải mã VD: Một bộ giải mả 1:2 gồm 2 đầu vào: Đầu vào
dữ ABC DABC DABCD liệu G và đầu vào điều khiển S và 2 đầu ra Q0 và Q1, phương trình các đầu ra như sau;
Q0 = GS Q1 = G.S
Nếu G = 0 thì 2 đầu ra bằng 0, nếu G = 1 thì thì 1 trong 2 đầu ra sẽ bằng 1 tùy thuộc vào giá trị của S, một bộ phân kênh hay giải mã thường được gọi theo số lượng đầu vào điều khiển và số lượng đầu ra V.D: 1:2; 2:4; hoặc 3:8
Cách thực hiện
Hình vẽ sau trình bày mạch giải mã 1:2 bằng các cổng logic, hai tín hiệu vào là tín hiệu cho phép G và tín hiệu chọn Khi tín hiệu chọn là 0 thì tín hiệu tại G sẻ được dẫn đến ngỏ ra 1và lúc này ngỏ ra 2 ở mức 0, ngược lại khi ngỏ chọn ở mức 1 thì G được dẫn đến ngỏ ra 2 và lúc này ngỏ ra 1 ở mức 0, nếu G = 0 thỉ cả 2 ngỏ ra đều bằng 0, bộ giải mã này
có tín hiệu cho phép tác động ở mức 1, hình 1.30 trình bày mạch giải mã có tín hiệu cho phép G tác động ở mức 0
Hình 1.30 Mạch giải mả 1:2