Bài giảng Phần 1: Thiết kế hệ logic tổ hợp

1. Thiết kếmạch cảnh báo nhiệt độcho bồn Xửlý hóa chất. Nhiệt độcủa bồn được theo dõi và kiểm tra bằng 3 cảm biến đặt ở3 vịtrí khác nhau trên bồn. Nhiệt độcủa bồn được cảnh báo bằng 2 đèn led: led xanh và led đỏ. - Khi không có quá nhiệt hoặc chỉcó 1 vịtrí quá nhiệt thì led xanh sáng, led đỏtắt. - Khi có 2 vịtrí trởlên quá nhiệt thì led xanh tắt, led đỏsáng và nhấp nháy 10Hz. 2. 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

pdf32 trang | Chia sẻ: chaien | Lượt xem: 1573 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phần 1: Thiết kế hệ logic tổ hợp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 1 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 tập hợp các mệnh đề. - Biểu thức Boole. - Bảng sự thật. Nếu biết một cách biểu diễn có thể suy ra cách biểu diễn khác, như trong các lĩnh vực thiết kế kỹ thuật khác số lượng thiết bị xử dụng cần phải nhỏ nhất để giãm chi phí, kích thước, tiết kiệm năng lượng và tăng độ tin cậy. Các phương pháp để đạt được sự thực hiện hàm Boole một cách đơn giản nhất còn phụ thuộc vào nhiều yếu tố. 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: Bài giảng Vi mạch số Biên soạn Ngô Văn Bình 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. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 3 A C D P V BD K.taùc ñoäng K.taùc ñoäng K.taùc ñoäng Döøng Ñoùng Toái K.taùc ñoäng K.taùc ñoäng Taùc ñoäng Chaïy Môû Toái K.taùc ñoäng Taùc ñoäng K.taùc ñoäng Döøng Môû Toái K.taùc ñoäng Taùc ñoäng Taùc ñoäng Chaïy Môû Toái Taùc ñoäng K.taùc ñoäng K.taùc ñoäng Döøng Môû Saùng Taùc ñoäng K.taùc ñoäng Taùc ñoäng Döøng Môû Saùng Taùc ñoäng Taùc ñoäng K.taùc ñoäng Döøng Môû Toái Taùc ñoäng Taùc ñoäng Taùc ñoäng Döøng Môû Toá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 Bơm P chạy là 1 và dừng là 0. Van đóng là 1 và mở là 0. Đèn BD sáng là 1 và tối l.à 0. Suy ra bảng sự thật như sau. Hình 1.3 Bảng sự thật 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 4 4/ 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 ABC ABC ABC   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 Hình 1.6 Sơ đồ mạch dạng AND - OR Số vi mạch cần dùng để thực hiện sơ đồ AND - OR 7404 - 6 đảo 7408 - 4 AND 2 input 7411 - 3 AND 3 input 6/ Biến đổi sang sơ đồ vi mạch thông dụng Trong công nghệ vi mạch việc thực hiện bằng các cổng NAND và NOR là hiệu quả hơn. Trong thực tế, các cổng AND và OR được thay thế bằng các cổng NAND và Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 5 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 AB  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: Hình 1.8 Sơ đồ mạch dạng NOR Số vi mạch cần dùng 7402 - 4 NOR 2 input 7427 - 3 NOR 3 input III. Vi mạch phức hợp Như đã biết, mạch logic nhiều mức có thể được thực hiện bằng cách ghép các cổng rời, trong công nghệ TTL cũng như CMOS có chế tạo sẳn một số vi mạch nhiều mức logic đơn giản , đó là các cổng phức hợp AOI (AND - OR - INVERT) hoặc OAI (OR - AND - INVERT) nhiều đầu vào 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 6 nhiều cổng rời rạc được tích hợp lại thành một cổng phức hợp được nối dây sẳn ở bên trong 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 - Y: Tín hiệu điều khiển thanh chạy xuống Tín hiệu trung gian Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 7 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 c = b1.b2.b3...b6.b7.b8.b9 - e: Lệnh cho thang máy đi lên. e = a3 + a2.d1 - f: Lệnh cho thang máy đi xuống. f = a1 + a2.d3 - 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. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 8 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 9 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: Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 10 Hì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 CAB 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     Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 11 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 CDA CDA 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 12 - Trạng thái kugic ngỏ ra không ổn định, có thể khắc phục bằng cách kéo dài thời gian đá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. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 13 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 14 lên 1 (nhưng phải qua một thời gian trể của cổng đảo) do đó sẽ có một khoảng thời gian ngắ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 = ( )( )D A 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 = ( )( )D A 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 Hình 1.22 Mạch có Hazard động Từ mạch điện kế bên cho thấy có 3 đường khác nhau từ B và B đến đầu ra. Giả sử ABC = 000 thì F =1 và sau đó ABC = 010 tương ứng F = 0, khi ABC = 000 lúc này G1 = 0, G2 = 1và G3 = 1, G4 = 1. Bây giờ B chuyển từ 0 lên 1 với tốc độ các cổng như trong hình vẽ, quá trình biến đổi trong mạch được mô tả như sau: G2 chuyển từ 1 sang 0, tiếp theo G3 xuống 0 và G5 cũng xuống 0. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 15 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 = 1 2AI AI 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 16 cá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 = 1 2 3 4BAI BAI BAI BAI   Z = 1 2 3 4 5 6 7 8CBAI 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 17 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: Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 18 Hì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 giá trị tổ hợp của (n - 1) biến ứng với hai hàng trong bảng sự thật, giá trị của hàm trong hai hàng này có thể là các trị số cho trong hình 1...Nếu giá trị hàm trong hai hàng đều bằng 0 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 19 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. Các bộ dồn kênh họ TTL Cấu tạo các bộ dồn kênh trong thực tế có thêm một hay nhiều tín hiệu điều khiển khác mục đích cho phép thiết bị hoạt động. Trong hình vẽ sau đây trình bày bộ dồn TTL 74157 gồm 4 bộ 2:1 ngỏ ra tác động mức cao và 74158 gồm 4 bộ 2:1 ngỏ ra tác động mức thấp. Hình 1.29 Sơ đồ và bảng sự thật bộ dồn kênh TTL 157 và 158 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 D ABC D ABCD  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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 20 Hình 1.31 Mạch giải mả 2:4 dùng cổng AND và NOR Xử dụng bộ phân kênh như một khối logic Một bộ phân kênh có thể xem như một bộ tạo các tích đầy đủ (minterm), hình 1.32 vẽ sơ đồ khối của một bộ giải mã 3:8 có 3 tín hiệu điều khiển là A, B, C, khi đó mỗi đầu ra của bộ giải mã sẽ tương ứng với một minterm của 3 biến A, B, C. Do đó, một bộ giải mã có thể thực hiện một hàm logic bất kỳ dưới dạng tổng các tích, ví dụ hàm sau đây: F1 = ABC D ABC D ABCD  F2 = ABCD ABC F3 = ABC D Chuyển các hàm về dạng tích các tổng chuẩn F1 = ( )( )( )ABCD ABCD ABCD A B C D A B C D A B C D            F2 = ( )( )ABCD ABC A B C D A B C       F3 = ( )ABCD A B C D    Hình 1.33 là sơ đồ thực hiện dùng bộ giải mã Hình 1.32 Bộ giải mả 3:8 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 21 Hình 1.33 Thực hiện hàm logic 4 biến Các bộ phân kênh họ TTL Hình 1.34 giới thiệu hai bộ giải mã họ TTL đó là 74139 gồm 2 bộ giải mã 2:4 và 74138 là bộ giải mã 3:8, trong 74139 ngỏ vào G và các ngỏ ra tác động mức thấp. 74138 có 3 đầu vào cho phép G1, G2A và G2B và 3 ngỏ chọn tín hiệu A, B, C, bảng sự thật của 2 vi mạch này được trình bày trong hình 1.34. Trong thực tế có thể kết hợp các bộ phân kênh chuẩn để tạo nên các bộ phân kênh lớn hơn và kể cả bộ dồn kênh như trong hình 1.35 cho thấy hai cách tạo nên bộ dồn kênh 32:1 và trong hình 1.36 là bộ giải mã 5:32 được tạo nên từ một bộ giải mã 2:4 và 4 bộ giải mã 3:8: Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 22 Hình 1.34 Bộ giải mã TTL 138 và 139 VII. Vi mạch số lập trình - PLD (programmable logic device) Để giãm được đến mức tối thiểu số lượng linh kiện cần dùng, một yêu cầu đặt ra là phải tìm được một khối logic có thể xử dụng cho nhiều thiết kế khác nhau, ví dụ các khối AOI nhưng cũng không giãm đáng kể số lượng thiết bị trừ khi có được một khối logic chứa hàng trăm cổng nhưng cấu tạo của khối này phải như thế nào ? Một giải pháp hợp lý là sắp xếp các cổng AND và OR theo một cấu trúc mảng được tổng quát hóa mà các điểm nối giữa chúng với nhau có thể lập trình để thực hiện một hàm xác định. Những khối logic đa năng như vậy là một trong các họ vi mạch số lập trình có tên gọi riêng là PLA (programmable logic array) - mảng logic lập trình. 1. PLA Hình 1.37 trình bày sơ đồ khối của một mảng PLA gồm có nhiều đầu vào và nhiều đầu ra, được tổ chức thành các mảng con AND và mảng con OR. Mảng con AND sẻ chuyển các đầu vào thành các tích số tương ứng với các điểm nối được lập trình, mảng con OR sẻ cộng các tích số này với nhau để tạo ra biểu thức dạng tổng các tích của hàm. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 23 Một khối PLA có thể thực hiện một tập hợp các hàm khá phức tạp. Độ phức tạp phụ thuộc vào số lượng đầu vào, số lượng các tích số (số lượng các cổng AND) và số lượng đầu ra (số lượng các cổng OR) mà PLA có thể cung cấp. Ví dụ một FPLA công nghệ TTL có thể có 16 đầu vào, 48 tích số và 8 đầu ra được chế tạo gọn trong một vỏ 24 chân dữ liệu. Nó tương đương với 48 cổng AND 16 đầu vào và 8 cổng OR 48 đầu vào. Ví dụ thưc hiện hàm Boole sau đây: ,C A CA F0 = A BC F2 = AB BC F1 = A.C + A.B F3 = A BC Có thể mô tả bằng tập hợp các biến A, B, C những chữ này tương đương với số đầu vào của mảng AND, các tích số , , , ,AC A BC BC AB và các hàm F0, F1, F2 và F3. Các đầu ra của mảng AND là đầu vào của mảng OR và các đầu ra của mảng OR kà các hàm, để thực hiện các hàm này phải cần một PLA có ít nhất 3 đầu vào, 5 tích số và 4 đầu ra. Một cách tiện lợi để mô tả các hàm là dùng ma trận đặc tính, một biến hóa của bảng sự thật được vẽ trong hình 1.38, bảng mô tả các đầu vào nào phải nối với cổng AND để tạo nên tích số tương ứng, (1 = biến không bù; 0 = biến bù; - = không nối) và những tích số nào phải được OR với nhau để tảo thành các đầu ra cuối cùng (1 = nối; 0 = không nối). Các hàng xác định các tích số, các cột biểu diễn các đầu vào và đầu ra. Một tích số có thể tham gia trong nhiều hàm nếu trong hàng của nó có nhiều số 1. Trong hình 1.38 dể dàng nhận thấy các tích số , ,A BC AB được dùng chung cho nhiều hàm. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 24 Hình 1.38 Ma trận đặc tính PLA Hình 1.39 Mảng PLA trước khi lập trình Về mặt cấu tạo phần cứng của mảng PLA thì ở giữa cổng và các đầu vào có đặt các cầu chì có thể làm đứt bằng cách cho dòng điện lớn chạy qua, phần mềm lập trình sẽ phân tích hàm Boole để xác định cầu chì nào phải phá hỏng và cầu chì nào cần để lại. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 25 Hình 1.40 Mảng PLA sau khi lập trình Hình 1.41 trình bày ký hiệu thường dùng để biểu diễn mạng PLA, các dây nối đơn đi vào AND và OR tượng trưng cho các đầu vào, các dấu X cho biết các cầu chì đang ở trạng thái nối Hình 1.41 Ký hiệu PLA 4 đầu vào, 4 tích số và 4 đầu ra 2.. PAL (programmable array logic) Trong hình 1.41 cho thấy cả 2 mảng AND và OR đều có thể thay đổi theo yêu cầu của người xử dụng. Nhưng không phải tất cả các mảng logic lập trình đều cho phép lập trình đầy đủ như PLA ví dụ họ PAL gồm các mảng AND lập trình còn các điểm nối giữa các tích số với ngỏ vào cổng OR đã được xác định trước, số lượng các tích số vào một cổng OR thường là 2, 4, 8, 16... Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 26 Có một sự bù trừ trong các mảng PAL giữa độ phức tạp của các hàm về số lượng tíchsố trên một cổng OR với số lượng các hàm độc lập mà mảng có thể thực hiện> Cổng OR có fan - in càng cao thì PAL càng ít đầu ra. Ví dụ một họ PAL có thể có 3 dạng: Mỗi dạng đều có 16 đầu vào, 16 tích số nhưng khác nhau về tổ chức của mảng OR: 4 cổng OR mỗi cổng 4 đầu vào, 2 cổng OR mỗi cổng 8 đầu vào và 1 cổng OR 16 đầu vào còn mảng AND thì vẩn hoàn toàn có thể lập trình. Hình 1.42 trình bày sơ đồ mảng PAL có 4 đầu vào, 4 tích số và 2 đầu ra và mảng OR đã được định vị 2 tích số mỗi cổng. Hình 1.42 Mảng PAL 4 đầu vào, 4 tích số và 2 đầu ra Điểm khác nhau cơ bản giữa PLA với PAL là PLA có thể chia xẻ các tích số chung cho nhiều đầu ra còn PAL thì không thể được. Vì vậy nên dùng PLA khi cần thực hiện các hàm có xử dụng chung tích số. Mặt khác về mặt tốc độ PLA chậm hơn PAL do có nhiều tiếp gíáp lập trình, các tiếp giáp này được cấu tạo từ các cầu chì có trở kháng cao hơn các tiếp giáp đã được định vị Do đó, tín hiệu đi qua hai mảng tiếp giáp lập trình sẽ bị trể nhiều hơn so với khi đi qua một tiếp giáp lập trình như trong PAL. 3. Ví dụ Thiết kế bộ chuyển đổi mã BCD bít sang mã Gray 4 bít Mạch có 4 bít BCD ở ngỏ vào là ABCD và 4 bít gray ở ngỏ ra WXYZ Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 27 Hình 1.43 Bảng sự thật bộ chuyển mã BCD – Gray Hình 1.44 bảng Karnaugh các hàm W, X, Y, Z Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 28 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 29 Hình 1.45 Thực hiện bộ chuyển mả bằng PAL Vì tập hợp các hàm không có tích số nào chung để chia xẻ nên thích hợp thực hiện bằng mảng PAL như trình bày trong hình 1.24 gồm 4 cổng OR 4 đầu vào, trong hình còn cho thấy có nhiều cổng AND không dùng nếu dùng PLA thì sẻ đơn giản hơn nhưng chậm hơn. Với công nghệ PLD cho phép thực hiện các hàm chỉ cần một vi mạch duy nhất, với ví dụ trên nếu dùng các cổng vi mạch rời thì kết quả như trình bày ở hình 1.46 sau đây Hình 1.46 Bộ chuyển mã dùng vi mạch rời Trong hình 1.46 cho thấy phải cần đến 15 cổng lấy từ 5 IC khác nhau. Như vậy là PLD đã rất hiệu quả trong yêu cầu giãm số lượng linh kiện. Ví dụ 2: Thiết kế bộ so sánh 2 số nhị phân 2 bít Đầu vào là 2 số nhị phân 2 bít AB và CD, đầu ra là 4 hàm logic được định nghĩa như sau: AB = CD (EQ =1) AB = CD (NE = 1) AB CD (GT = 1) Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 30 Hình 1.47 Bảng Karnaugh của bộ so sánh 2 bít Từ bảng Karnaugh suy ra các hàm đã được tối thiểu hóa EQ = ABC D ABCD ABC D ABCD   NE = CA DB DB AC   LT = C A ABD DC B  GT = CA CDB DB DAB   Các hàm xử dụng 14 tích số trong đó có 2 tích số ,C A CA được dùng 2 lần nên thực hiện sơ đồ này bằng mảng PLA là thích hợp. Một PLA hay PAL có thể thay thế đến hàng vài chục cổng logic rời là rất bình thường, đây là cách giãm linh kiện rất hiệu quả. Do đó, các nhà thiết kế hiện nay rất thường áp dụng khi thiết kế các hệ tổ hợp. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 31 Hình 1.48 Sơ đồ bộ so sánh 2 bít dùng PLA Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 32 8. Bài tập 1. Thiết kế mạch cảnh báo nhiệt độ cho bồn Xử lý hóa chất. Nhiệt độ của bồn được theo dõi và kiểm tra bằng 3 cảm biến đặt ở 3 vị trí khác nhau trên bồn. Nhiệt độ của bồn được cảnh báo bằng 2 đèn led: led xanh và led đỏ. - Khi không có quá nhiệt hoặc chỉ có 1 vị trí quá nhiệt thì led xanh sáng, led đỏ tắt. - Khi có 2 vị trí trở lên quá nhiệt thì led xanh tắt, led đỏ sáng và nhấp nháy 10Hz. 2. 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: - 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). 3. Xử dụng hàm XOR và XNOR đơn giản biểu thức sau: a. F = (2,3,5,6,8,9) b. F = (2,3,5,6,8,9,12,15) 4. Xử dụng hàm XOR và XNOR đơn giản biểu thức sau: a. F =  (0,3,5,6,11,12,15) N = 4,7,8 b. F =  (1,7,9,10,12,13,15) N = 3,5,8,11 5. Thế nào là hiện tượng chu kỳ và chạy đua trong mạch tuần tự không đồng bộ? hãy nêu các trường hợp chạy đua trong mạch tuần tự không đồng bộ? 6. Thế nào là Hazard và Glitch trong mạch tổ hợp? Có mấy loại Hazard? Khi trong mạch có Hazard sẽ xảy ra hiện tượng gì? 7. FPGA là gì? Hãy nêu cấu trúc chung của một FPGA? 8. FPGA có bao nhiêu loại? Các loại FPGA có trên thị trường thông dụng hiện nay? 9. Hãy nêu cấu trúc và các đặc tính kỹ thuật của họ vi mạch lập trình GAL16V8? 10. Hãy nêu cấu trúc và các đặc tính kỹ thuật của họ vi mạch lập trình GAL20V8? 11. Vi mạch lập trình PLA là gì? Hãy vẽ một mô hình của PLA với 3 ngõ vào, 3 ngõ ra và 3 tích số? 12. Cho biết sơ đồ khối của vi mạch lập trình PLA ? Hãy vẽ một mô hình của PLA với 2 ngõ vào, 3 ngõ ra và 4 tích số? 13. Cho biết sơ đồ khối của vi mạch lập trình PLA ? Hãy vẽ một mô hình của PLA với 2 ngõ vào, 2 ngõ ra và 5 tích số? 14. So sánh sự giống và khác nhau của 2 vi mạch lập trình PLA và PAL? Giống nhau: PLA và PAL đều được cấu tạo từ 2 mãng AND và OR.

Các file đính kèm theo tài liệu này:

  • pdfha_duy_hung_06_10_14_02_46_59_phan_1_6167.pdf
Tài liệu liên quan