Giáo trình Kĩ thuật số - Chương 2: Hàm logic - Nguyễn Trung Lập

Các cột 3, và 8 chỉ chứa một dấu *, các tổ hợp ở cùng hàng với các dấu * này sẽ được chọn, đó là các tổ hợp (3,7;11,15) và , (8,12), tương ứng với CD và AC D . Đánh dấu X dưới các cột tương ứng với các số có trong các tổ hợp đã chọn. Đến đây ta thấy còn 2 cột 4 và 6 chưa có dấu X, trong lúc chúng ta còn đến 3 tổ hợp để chọn. Dĩ nhiên trong trường hợp này ta chỉ cần chọn tổ hợp (4,6) (A BD ) thay vì chọn (4,12) và (6,7) thì đủ dấu X để lấp đầy các cột. Tóm lại: f(A,B,C,D) = CD +A BD + AC D

pdf25 trang | Chia sẻ: huongthu9 | Lượt xem: 490 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Giáo trình Kĩ thuật số - Chương 2: Hàm logic - Nguyễn Trung Lập, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
______________________________________________________Chương 2 Hàm Logic II - 1 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập " CHƯƠNG 2 HÀM LOGIC D HÀM LOGIC CƠ BẢN D CÁC DẠNG CHUẨN CỦA HÀM LOGIC Š Dạng tổng chuẩn Š Dạng tích chuẩn Š Dạng số Š Biến đổi qua lại giữa các dạng chuẩn D RÚT GỌN HÀM LOGIC Š Phương pháp đại số Š Phương pháp dùng bảng Karnaugh Š Phương pháp Quine Mc. Cluskey ___________________________________________________________________________ ____________ Năm 1854 Georges Boole, một triết gia đồng thời là nhà toán học người Anh cho xuất bản một tác phẩm về lý luận logic, nội dung của tác phẩm đặt ra những mệnh đề mà để trả lời người ta chỉ phải dùng một trong hai từ đúng (có, yes) hoặc sai (không, no). Tập hợp các thuật toán dùng cho các mệnh đề này hình thành môn Đại số Boole. Đây là môn toán học dùng hệ thống số nhị phân mà ứng dụng của nó trong kỹ thuật chính là các mạch logic, nền tảng của kỹ thuật số. Chương này không có tham vọng trình bày lý thuyết Đại số Boole mà chỉ giới hạn trong việc giới thiệu các hàm logic cơ bản và các tính chất cần thiết để giúp sinh viên hiểu vận hành của một hệ thống logic. 2.1. HÀM LOGIC CƠ BẢN 2.1.1. Một số định nghĩa - Trạng thái logic: trạng thái của một thực thể. Xét về mặt logic thì một thực thể chỉ tồn tại ở một trong hai trạng thái. Thí dụ, đối với một bóng đèn ta chỉ quan tâm nó đang ở trạng thái nào: tắt hay cháy. Vậy tắt / cháy là 2 trạng thái logic của nó. - Biến logic dùng đặc trưng cho các trạng thái logic của các thực thể. Người ta biểu diễn biến logic bởi một ký hiệu (chữ hay dấu) và nó chỉ nhận 1 trong 2 giá trị : 0 hoặc 1. Thí dụ trạng thái logic của một công tắc là đóng hoặc mở, mà ta có thể đặc trưng bởi trị 1 hoặc 0. - Hàm logic diễn tả bởi một nhóm biến logic liên hệ nhau bởi các phép toán logic. Cũng như biến logic, hàm logic chỉ nhận 1 trong 2 giá trị: 0 hoặc 1 tùy theo các điều kiện liên quan đến các biến. Thí dụ, một mạch gồm một nguồn hiệu thế cấp cho một bóng đèn qua hai công tắc mắc nối tiếp, bóng đèn chỉ cháy khi cả 2 công tắc đều đóng. Trạng thái của bóng đèn là một hàm theo 2 biến là trạng thái của 2 công tắc. Gọi A và B là tên biến chỉ công tắc, công tắc đóng ứng với trị 1 và hở ứng với trị 0. Y là hàm chỉ trạng thái bóng đèn, 1 chỉ đèn cháy và 0 khi đèn tắt. Quan hệ giữa hàm Y và các biến A, B được diễn tả nhờ bảng sau: KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 2 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập A B Y=f(A,B) 0 (hở) 0 (hở) 1 (đóng) 1 (đóng) 0 (hở) 1 (đóng) 0 (hở) 1 (đóng) 0 (tắt) 0 (tắt) 0 (tắt) 1 (cháy) 2.1.2. Biểu diễn biến và hàm logic 2.1.2.1. Giản đồ Venn Còn gọi là giản đồ Euler, đặc biệt dùng trong lãnh vực tập hợp. Mỗi biến logic chia không gian ra 2 vùng không gian con, một vùng trong đó giá trị biến là đúng (hay=1), và vùng còn lại là vùng phụ trong đó giá trị biến là sai (hay=0). Thí dụ: Phần giao nhau của hai tập hợp con A và B (gạch chéo) biểu diễn tập hợp trong đó A và B là đúng (A AND B) (H 2.1) (H 2.1) 2.1.2.2. Bảng sự thật Nếu hàm có n biến, bảng sự thật có n+1 cột và 2n + 1 hàng. Hàng đầu tiên chỉ tên biến và hàm, các hàng còn lại trình bày các tổ hợp của n biến trong 2n tổ hợp có thể có. Các cột đầu ghi giá trị của biến, cột cuối cùng ghi giá trị của hàm tương ứng với tổ hợp biến trên cùng hàng (gọi là trị riêng của hàm). Thí dụ: Hàm OR của 2 biến A, B: f(A,B) = (A OR B) có bảng sự thật tương ứng. A B f(A,B) = A OR B 0 0 1 1 0 1 0 1 0 1 1 1 2.1.2.3. Bảng Karnaugh Đây là cách biểu diễn khác của bảng sự thật trong đó mỗi hàng của bảng sự thật được thay thế bởi một ô mà tọa độ (gồm hàng và cột) xác định bởi tổ hợp đã cho của biến. Bảng Karnaugh của n biến gồm 2n ô. Giá trị của hàm được ghi tại mỗi ô của bảng. Bảng Karnaugh rất thuận tiện để đơn giản hàm logic bằng cách nhóm các ô lại với nhau. Thí dụ: Hàm OR ở trên được diễn tả bởi bảng Karnaugh sau đây A \ B 0 1 0 0 1 1 1 1 KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 3 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập 2.1.2.4. Giản đồ thời gian Dùng để diễn tả quan hệ giữa các hàm và biến theo thời gian, đồng thời với quan hệ logic. Thí dụ: Giản đồ thời gian của hàm OR của 2 biến A và B, tại những thời điểm có một (hoặc 2) biến có giá trị 1 thì hàm có trị 1 và hàm chỉ có trị 0 tại những thời điểm mà cả 2 biến đều bằng 0. (H 2.2) 2.1.3. Qui ước Khi nghiên cứu một hệ thống logic, cần xác định qui ước logic. Qui ước này không được thay đổi trong suốt quá trình nghiên cứu. Người ta dùng 2 mức điện thế thấp và cao để gán cho 2 trạng thái logic 1 và 0. Qui ước logic dương gán điện thế thấp cho logic 0 và điện thế cao cho logic 1 Qui ước logic âm thì ngược lại. 2.1.4. Hàm logic cơ bản (Các phép toán logic) 2.1.4.1. Hàm NOT (đảo, bù) : AY = Bảng sự thật A AY = 0 1 1 0 2.1.4.2. Hàm AND [tích logic, toán tử (.)] : Y = A.B Bảng sự thật A B Y=A.B 0 0 1 0 1 0 0 0 0 KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 4 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập 1 1 1 Nhận xét: Tính chất của hàm AND có thể được phát biểu như sau: - Hàm AND của 2 (hay nhiều) biến chỉ có giá trị 1 khi tất cả các biến đều bằng 1 hoặc - Hàm AND của 2 (hay nhiều) biến có giá trị 0 khi có một biến bằng 0. 2.1.4.3. Hàm OR [tổng logic, toán tử (+)] : Y = A + B Bảng sự thật A B Y=A + B 0 0 1 1 0 1 0 1 0 1 1 1 Nhận xét: Tính chất của hàm OR có thể được phát biểu như sau: - Hàm OR của 2 (hay nhiều) biến chỉ có giá trị 0 khi tất cả các biến đều bằng 0 hoặc - Hàm OR của 2 (hay nhiều) biến có giá trị 1 khi có một biến bằng 1. 2.1.4.4.Hàm EX-OR (OR loại trừ) BAY ⊕= Bảng sự thật A B BAY ⊕= 0 0 1 1 0 1 0 1 0 1 1 0 Nhận xét: Một số tính chất của hàm EX - OR: - Hàm EX - OR của 2 biến chỉ có giá trị 1 khi hai biến khác nhau và ngược lại. Tính chất này được dùng để so sánh 2 biến. - Hàm EX - OR của 2 biến cho phép thực hiện cộng hai số nhị phân 1 bit mà không quan tâm tới số nhớ. - Từ kết quả của hàm EX-OR 2 biến ta suy ra bảng sự thật cho hàm 3 biến A B C CBAY ⊕⊕= 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 1 1 0 1 0 0 1 KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 5 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập - Trong trường hợp 3 biến (và suy rộng ra cho nhiều biến), hàm EX - OR có giá trị 1 khi số biến bằng 1 là số lẻ. Tính chất này được dùng để nhận dạng một chuỗi dữ liệu có số bit 1 là chẵn hay lẻ trong thiết kế mạch phát chẵn lẻ. 2.1.5. Tính chất của các hàm logic cơ bản: 2.1.5.1. Tính chất cơ bản: ♦ Có một phần tử trung tính duy nhất cho mỗi toán tử (+) và (.): A + 0 = A ; 0 là phần tử trung tính của hàm OR A . 1 = A ; 1 là phần tử trung tính của hàm AND ♦ Tính giao hoán: A + B = B + A A . B = B . A ♦ Tính phối hợp: (A + B) + C = A + (B + C) = A + B + C (A . B) . C = A . (B . C) = A . B . C ♦ Tính phân bố: - Phân bố đối với phép nhân: A . (B + C) = A . B + A . C - Phân bố đối với phép cộng: A + (B . C) = (A + B) . (A + C) Phân bố đối với phép cộng là một tính chất đặc biệt của phép toán logic ♦ Không có phép tính lũy thừa và thừa số: A + A + . . . . . + A = A A . A . . . . . . . . A = A ♦ Tính bù: 0AA. 1AA AA = =+ = 2.1.5.2. Tính song đối (duality): Tất cả biểu thức logic vẫn đúng khi [thay phép toán (+) bởi phép (.) và 0 bởi 1] hay ngược lại. Điều này có thể chứng minh dễ dàng cho tất cả biểu thức ở trên. Thí dụ : Α + Β = Β + Α ⇔ Α.Β = Β.Α Α + A Β = Α + Β ⇔ Α(A +Β) = Α.Β A + 1 = 1 ⇔ A.0 = 0 2.1.5.3. Định lý De Morgan Định lý De Morgan được phát biểu bởi hai biểu thức: CBAA.B.C C.B.ACBA ++= =++ Định lý De Morgan cho phép biến đổi qua lại giữa hai phép cộng và nhân nhờ vào phép đảo. KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 6 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập Định lý De Morgan được chứng minh bằng cách lập bảng sự thật cho tất cả trường hợp có thể có của các biến A, B, C với các hàm AND, OR và NOT của chúng. 2.1.5.4. Sự phụ thuộc lẫn nhau của các hàm logic cơ bản Định lý De Morgan cho thấy các hàm logic không độc lập với nhau, chúng có thể biến đổi qua lại, sự biến đổi này cần có sự tham gia của hàm NOT. Kết quả là ta có thể dùng hàm (AND và NOT) hoặc (OR và NOT) để diễn tả tất cả các hàm. Thí dụ: Chỉ dùng hàm AND và NOT để diễn tả hàm sau: .CAB.CA.BY ++= Chỉ cần đảo hàm Y hai lần, ta được kết quả: .CA.B.C.A.B.CAB.CA.BYY =++== Nếu dùng hàm OR và NOT để diễn tả hàm trên làm như sau: CACBBA.CAB.CA.BY +++++=++= 2.2. CÁC DẠNG CHUẨN CỦA HÀM LOGIC Một hàm logic được biểu diễn bởi một tổ hợp của những tổng và tích logic. ♦ Nếu biểu thức là tổng của những tích, ta có dạng tổng Thí dụ : ZYXZXYZ)Y,f(X, ++= ♦ Nếu biểu thức là tích của những tổng, ta có dạng tích Thí dụ : )ZZ).(YY).(X(XZ)Y,f(X, +++= Một hàm logic được gọi là hàm chuẩn nếu mỗi số hạng chứa đầy đủ các biến, ở dạng nguyên hay dạng đảo của chúng. Thí dụ : ZXYZYXXYZZ)Y,f(X, ++= là một tổng chuẩn. Mỗi số hạng của tổng chuẩn được gọi là minterm. Z)YXZ).(YZ).(XY(XZ)Y,f(X, ++++++= là một tích chuẩn. Mỗi số hạng của tích chuẩn được gọi là maxterm. Phần sau đây cho phép chúng ta viết ra một hàm dưới dạng tổng chuẩn hay tích chuẩn khi có bảng sự thật diễn tả hàm đó. 2.2.1. Dạng tổng chuẩn Để có được hàm logic dưới dạng chuẩn, ta áp dụng các định lý triển khai của Shanon. Dạng tổng chuẩn có được từ triển khai theo định lý Shanon thứ nhất: Tất cả các hàm logic có thể triển khai theo một trong những biến dưới dạng tổng của hai tích như sau: f(A,B,...,Z) = A.f(1,B,...,Z) + A .f(0,B,...,Z) (1) Hệ thức (1) có thể được chứng minh rất dễ dàng bằng cách lần lượt cho A bằng 2 giá trị 0 và 1, ta có kết quả là 2 vế của (1) luôn luôn bằng nhau. Thật vậy Cho A=0: f(0,B,...,Z) = 0.f(1,B,...,Z) + 1. f(0,B,...,Z) = f(0,B,...,Z) Cho A=1: f(1,B,...,Z) = 1.f(1,B,...,Z) + 0. f(0,B,...,Z) = f(1,B,...,Z) Với 2 biến, hàm f(A,B) có thể triển khai theo biến A : KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 7 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập f(A,B) = A.f(1,B) + A .f(0,B) Mỗi hàm trong hai hàm vừa tìm được lại có thể triển khai theo biến B f(1,B) = B.f(1,1) + Β.f(1,0) & f(0,B) = B.f(0,1) + B .f(0,0) Vậy: f(A,B) = AB.f(1,1) + A .B.f(0,1) + A B .f(1,0) + A B .f(0,0) f(i,j) là giá trị riêng của f(A,B) khi A=i và B=j trong bảng sự thật của hàm. Với 3 biến, trị riêng của f(A, B, C) là f(i, j, k) khi A=i, B=j và C=k ta được: f(A,B,C) = A.B.C.f(1,1,1) + A.B. C .f (1,1,0) + A. B .C.f(1,0,1) + A. B . C .f(1,0,0) + A .B.C.f(0,1,1) + A .B. C .f(0,1,0) + A . B .C.f(0,0,1) + A . B . C .f(0,0,0) Khi triển khai hàm 2 biến ta được tổng của 22 = 4 số hạng Khi triển khai hàm 3 biến ta được tổng của 23 = 8 số hạng Khi triển khai hàm n biến ta được tổng của 2n số hạng Mỗi số hạng là tích của một tổ hợp biến và một trị riêng của hàm. Hai trường hợp có thể xảy ra: - Giá trị riêng = 1, số hạng thu gọn lại chỉ còn các biến: A . B .C.f(0,0,1) = A . B .C nếu f(0,0,1) = 1 - Giá trị riêng = 0, tích bằng 0 : A . B . C .f(0,0,0)= 0 nếu f(0,0,0) = 0 và số hạng này biến mất trong biểu thức của tổng chuẩn. Thí dụ: Cho hàm 3 biến A,B,C xác định bởi bảng sự thật: Hàng A B C Z=f(A,B,C) 0 1 2 3 4 5 6 7 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 1 1 1 0 1 0 1 Với hàm Z cho như trên ta có các trị riêng f(i, j, k) xác định bởi: f(0,0,1) = f(0,1,0) = f(0,1,1) = f(1,0,1) = f(1,1,1) =1 f(0,0,0) = f(1,0,0) = f(1,1,0) = 0 - Hàm Z có trị riêng f(0,0,1)=1 tương ứng với các giá trị của tổ hợp biến ở hàng (1) là A=0, B=0 và C=1 đồng thời, vậy A. B .C là một số hạng trong tổng chuẩn - Tương tự với các tổ hợp biến tương ứng với các hàng (2), (3), (5) và (7) cũng là các số hạng của tổng chuẩn, đó là các tổ hợp: A.B. C , A .B.C, A. B .C và A.B.C - Với các hàng còn lại (hàng 0,4,6), trị riêng của f(A,B,C) = 0 nên không xuất hiện trong triển khai. KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 8 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập Tóm lại ta có: Z = A. B .C + A.B. C + A .B.C + A. B .C + A.Β.C - Ý nghĩa của định lý Shanon thứ nhất: Nhắc lại tính chất của các hàm AND và OR: b1.b2.... bn = 1 khi b1, b2..., bn đồng thời bằng 1 và để a1 + a2 + ... + ap = 1 chỉ cần ít nhất một biến a1, a2, ..., ap bằng 1 Trở lại thí dụ trên, biểu thức logic tương ứng với hàng 1 (A=0, B=0, C=1) được viết A. B .C =1 vì A = 1 , B = 1, C = 1 đồng thời. Biểu thức logic tương ứng với hàng 2 là A.B. C =1 vì A=0 ( A = 1), B=1, C=0 ( C = 1) đồng thời Tương tự, với các hàng 3, 5 và 7 ta có các kết quả: A .B.C , A. B .C và A.Β.C Như vậy, trong thí dụ trên Z = hàng 1 + hàng 2 + hàng 3 + hàng 5 + hàng 7 Z = A. B .C + A.B. C + A .B.C + A. B .C + A.Β.C Tóm lại, từ một hàm cho dưới dạng bảng sự thật, ta có thể viết ngay biểu thức của hàm dưới dạng tổng chuẩn như sau: - Số số hạng của biểu thức bằng số giá trị 1 của hàm thể hiện trên bảng sự thật - Mỗi số hạng trong tổng chuẩn là tích của tất cả các biến tương ứng với tổ hợp mà hàm có trị riêng bằng 1, biến được giữ nguyên khi có giá trị 1 và được đảo nếu giá trị của nó = 0. 2.2.2. Dạng tích chuẩn Đây là dạng của hàm logic có được từ triển khai theo định lý Shanon thứ hai: Tất cả các hàm logic có thể triển khai theo một trong những biến dưới dạng tích của hai tổng như sau: f(A,B,...,Z) = [ A + f(1,B,...,Z)].[A + f(0,B,...,Z)] (2) Cách chứng minh định lý Shanon thứ hai cũng giống như đã chứng minh định lý Shanon thứ nhất. Với hai biến, hàm f(A,B) có thể triển khai theo biến A f(A,B) = [ A + f(1,B)].[A + f(0,B)] Mỗi hàm trong hai hàm vừa tìm được lại có thể triển khai theo biến B f(1,B) = [ B + f(1,1)].[B + f(1,0)] & f(0,B) = [ B + f(0,1)].[B + f(0,0)] f(A,B) = ⎨ A + [ B + f(1,1)].[B + f(1,0)]⎬.⎨A + [ B + f(0,1)].[B + f(0,0)]⎬ Vậy: f(A,B) = [ A+ B + f(1,1)].[ A+B + f(1,0)].[A+ B + f(0,1)].[A+B + f(0,0)] Cũng như dạng chuẩn thứ nhất, f(i,j) là giá trị riêng của f(A,B) khi A=i và B=j trong bảng sự thật của hàm. Với hàm 3 biến: f(A,B,C)=[ A+ B + C +f(1,1,1)].[ A+ B +C+f(1,1,0)].[ A+B+ C +f(1,0,1)].[ A+B+C+f(1,0,0)]. [A+ B + C +f(0,1,1)].[A+ B +C+ f(0,1,0)].[A+B+ C +f(0,0,1)].[A+B+C+f(0,0,0)] Số số hạng trong triển khai n biến là 2n. Mỗi số hạng là tổng (OR) của các biến và trị riêng của hàm. - Nếu trị riêng bằng 0 số hạng được rút gọn lại chỉ còn các biến (0 là trị trung tính của phép cộng logic) A + B + C + f(0,0,0) = A + B + C nếu f(0,0,0) = 0 - Nếu trị riêng bằng 1, số hạng triển khai = 1 A + B + C + f(0,0,1) = 1 nếu f(0,0,1) = 1 KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 9 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập và biến mất trong biểu thức của tích chuẩn. Lấy lại thí dụ trên: Hàng A B C Z=f(A,B,C) 0 1 2 3 4 5 6 7 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 1 1 1 0 1 0 1 Các trị riêng của hàm đã nêu ở trên. - Hàm Z có giá trị riêng f(0,0,0) = 0 tương ứng với các giá trị của biến ở hàng 0 là A=B=C=0 đồng thời, vậy A+B+C là một số hạng trong tích chuẩn. - Tương tự với các hàng (4) và (6) ta được các tổ hợp A+B+C và A+ B +C. - Với các hàng còn lại (hàng 1, 2, 3, 5, 7), trị riêng của f(A,B,C) = 1 nên không xuất hiện trong triển khai. Tóm lại, ta có: Z = (A + B + C).( A+ B + C).( A+ B +C ) - Ý nghĩa của định lý thứ hai: Nhắc lại tính chất của các hàm AND và OR: Để b1.b2.... bn =0 chỉ cần ít nhất một biến trong b1, b2,..., bn =0 và a1 + a2 + ... + ap =0 khi các biến a1, a2, ..., ap đồng thời bằng 0. Như vậy trong thí dụ trên: Z = (hàng 0).(hàng 4).(hàng 6) Z = (A + B + C).( A+ B + C).( A+ B +C ) Thật vậy, ở hàng 0 tất cả biến = 0: A=0, B=0, C=0 đồng thời nên có thể viết (A+B+C) = 0. Tương tự cho hàng (4) và hàng (6). Tóm lại, Biểu thức tích chuẩn gồm các thừa số, mỗi thừa số là tổng các biến tương ứng với tổ hợp có giá trị riêng =0, một biến giữ nguyên nếu nó có giá trị 0 và được đảo nếu có giá trị 1. Số thừa số của biểu thức bằng số số 0 của hàm thể hiện trên bảng sự thật. 2.2.3. Đổi từ dạng chuẩn này sang dạng chuẩn khác: Nhờ định lý De Morgan, hai định lý trên có thể chuyển đổi qua lại. Trở lại thí dụ trên, thêm cột Z vào bảng sự thật \ Hàng A B C Z=f(A,B,C) Z KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 10 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập 0 1 2 3 4 5 6 7 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 1 1 1 0 1 0 1 1 0 0 0 1 0 1 0 Diễn tả Z theo dạng tổng chuẩn: CABCBACBAZ ++= Lấy đảo hai vế: CAB.CBA.CBACABCBACBAZ =++= Dùng định lý De Morgan một lần nữa cho từng thừa số trong biểu thức, ta được: C)BAC).(BAC).(B(AZ ++++++= Diễn tả Z theo dạng tích chuẩn: )CBA)(CBA)(CBC)(AB)(ACB(AZ ++++++++++= Lấy đảo hai vế: )CBA)(CBA)(CBC)(AB)(ACBA(Z ++++++++++= CBACBACBACBACBAZ ++++++++++++++= ABCCBABCACBACBA ++++= 2.2.4. Dạng số Để đơn giản cách viết người ta có thể diễn tả một hàm Tổng chuẩn hay Tích chuẩn bởi tập hợp các số dưới dấu tổng (Σ) hay tích (Π). Mỗi tổ hợp biến được thay bởi một số thập phân tương đương với trị nhị phân của chúng. Khi sử dụng cách viết này trọng lượng các biến phải được chỉ rõ. Thí dụ : Cho hàm Z xác định như trên, tương ứng với dạng chuẩn thứ nhất, hàm này lấy giá trị của các hàng 1, 2, 3, 5, 7, ta viết Z=f(A,B,C) = Σ(1,2,3,5,7). Tương tự, nếu dùng dạng chuẩn thứ hai ta có thể viết Z =f(A,B,C)= Π(0,4,6). Chú ý: Khi viết các hàm theo dạng số ta phải chỉ rõ trọng số của các bit, thí dụ ta có thể ghi kèm theo hàm Z ở trên 1 trong 3 cách như sau: A=MSB hoặc C=LSB hoặc A=4, B=2, C=1 2.3. RÚT GỌN HÀM LOGIC Để thực hiện một hàm logic bằng mạch điện tử, người ta luôn luôn nghĩ đến việc sử dụng lượng linh kiện ít nhất. Muốn vậy, hàm logic phải ở dạng tối giản, nên vấn đề rút gọn hàm logic là bước đầu tiên phải thực hiện trong quá trình thiết kế. Có 3 phương pháp rút gọn hàm logic: - Phương pháp đại số - Phương pháp dùng bảng Karnaugh - Phương pháp Quine Mc. Cluskey KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 11 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập 2.3.1. Phương pháp đại số Phương pháp này bao gồm việc áp dụng các tính chất của hàm logic cơ bản. Một số đẳng thức thường được sử dụng được nhóm lại như sau: (1) AB + AB = B (A+B).( A+B) = B (1’) (2) A + AB = A A.(A+B) = A (2’) (3) A + AB = A + B A.( A+B) = A.B (3’) Chứng minh các đẳng thức 1, 2, 3: (1) AB + AB = B(A+ A) = B.1 = B (2) A + AB = A(1+B) = A (3) A + AB = (A+ A).(A+B) = A+B Các đẳng thức (1’), (2’), (3’) là song đối của (1), (2), (3). Các qui tắc rút gọn: - Qui tắc 1: Nhờ các đẳng thức trên nhóm các số hạng lại. Thí dụ: Rút gọn biểu thức ABC + AB C + A B CD Theo (1) ABC + AB C = AB Vậy ABC + AB C + A B CD = AB + A B CD = A(B+ B CD) Theo (3) B + B CD = B + CD Và kết quả cuối cùng: ABC + AB C + A B CD = A(B+CD) - Qui tắc 2: Ta có thể thêm một số hạng đã có trong biểu thức logic vào biểu thức mà không làm thay đổi biểu thức. Thí dụ: Rút gọn biểu thức: ABC + ABC + A B C + AB C Thêm ABC vào để được: (ABC + ABC) + (ABC + A B C) + (ABC + AB C ) Theo (1) các nhóm trong dấu ngoặc rút gọn thành: BC + AC + AB Vậy: ABC + ABC + A B C + AB C = BC + AC + AB - Qui tắc 3: Có thể bỏ số hạng chứa các biến đã có trong số hạng khác Thí dụ 1: Rút gọn biểu thức AB + B C + AC Biểu thức không đổi nếu ta nhân một số hạng trong biểu thức với 1, ví dụ (B+ B ): AB + B C + AC = AB + ΒC + AC(B+ B ) Triển khai số hạng cuối cùng của vế phải, ta được: AB + B C +ABC + A B C Thừa số chung: AB(1+C) + B C(1+A) = AB + B C Tóm lại: AB + B C + AC = AB + B C. Trong bài tóan này ta đã đơn giản được số hạng AC. Thí dụ 2: Rút gọn biểu thức (A+B).( B +C).(A+C) Biểu thức không đổi nếu ta thêm vào một thừa số có trị =0, ví dụ B.Β (A+B).( B +C).(A+C) = (A+B).( B +C).(A+C+ B .Β) = (A+B).( B +C).(A + B +C).(A +Β+C) Theo (2’) (A+B).(A +B+C) = (A+B) và ( B +C).(A+ B +C) = ( B +C) Vậy: (A+B).( B +C).(A+C) = (A+B).( B +C) Trong bài tóan này ta đã bỏ số hạng A+C KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 12 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập - Qui tắc 4: Có thể đơn giản bằng cách dùng hàm chuẩn tương đương có số hạng ít nhất. Thí dụ: Hàm f(A,B,C) = Σ(2,3,4,5,6,7) với trọng lượng A=4, B=2, C=1 Hàm đảo của f: BAB.A.CB.AC.B.A(0,1)C)B,f(A, +==+=Σ= Vậy f(A,B,C) = A+B 2.3.2. Dùng bảng Karnaugh Dùng bảng Karnaugh cho phép rút gọn dễ dàng các hàm logic chứa từ 3 tới 6 biến. 2.3.2.1.Nguyên tắc Xét hai tổ hợp biến AB và A B , hai tổ hợp này chỉ khác nhau một bit, ta gọi chúng là hai tổ hợp kề nhau. Ta có: AB + A B = A , biến B đã được đơn giản . Phương pháp của bảng Karnaugh dựa vào việc nhóm các tổ hợp kề nhau trên bảng để đơn giản biến có giá trị khác nhau trong các tổ hợp này. Công việc rút gọn hàm được thực hiện theo bốn bước: Š Vẽ bảng Karnaugh theo số biến của hàm Š Chuyển hàm cần đơn giản vào bảng Karnaugh Š Gom các ô chứa các tổ hợp kề nhau lại thành các nhóm sao cho có thể rút gọn hàm tới mức tối giản Š Viết kết quả hàm rút gọn từ các nhóm đã gom được. 2.3.2.2 Vẽ bảng Karnaugh - Bảng Karnaugh thực chất là một dạng khác của bảng sự thật, trong đó mỗi ô của bảng tương đương với một hàng trong bảng sự thật. Để vẽ bảng Karnaugh cho n biến, người ta chia số biến ra làm đôi, phân nửa dùng để tạo 2n/2 cột, phân nửa còn lại tạo 2n/2 hàng (nếu n là số lẻ, người ta có thể cho số lượng biến trên cột lớn hơn số lượng biến cho hàng hay ngược lại cũng được). Như vậy, với một hàm có n biến, bảng Karnaugh gồm 2n ô, mỗi ô tương ứng với tổ hợp biến này. Các ô trong bảng được sắp đặt sao cho hai ô kề nhau chỉ khác nhau một đơn vị nhị phân (khác nhau một bit), điều này cho thấy rất thuận tiện nếu chúng ta dùng mã Gray. Chính sự sắp đặt này cho phép ta đơn giản bằng cách nhóm các ô kề nhau lại. Với 2 biến AB, sự sắp đặt sẽ theo thứ tự: AB = 00, 01, 11, 10 (đây là thứ tự mã Gray, nhưng để cho dễ ta dùng số nhị phân tương ứng để đọc thứ tự này: 0, 1, 3, 2) Thí dụ : Bảng Karnaugh cho hàm 3 biến (A = MSB, và C = LSB) (H 2.3) (H 2.3) KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 13 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập Với 3 biến ABC, ta được: ABC = 000, 001, 011, 010, 110, 111, 101, 100 (số nhị phân tương ứng: 0, 1, 3, 2, 6, 7, 5, 4) Lưu ý là ta có thể thiết lập bảng Karnaugh theo chiều nằm ngang hay theo chiều đứng. Do các tổ hợp ở các bìa trái và phải kề nhau nên ta có thể coi bảng có dạng hình trụ thẳng đứng và các tổ hợp ở bìa trên và dưới cũng kề nhau nên ta có thể coi bảng có dạng hình trụ trục nằm ngang. Và 4 tổ hợp biến ở 4 góc cũng là các tổ hợp kề nhau. Hình (H 2.4) là bảng Karnaugh cho 4 biến. (H 2.4) 2.3.2.3. Chuyển hàm logic vào bảng Karnaugh. Trong mỗi ô của bảng ta đưa vào giá trị của hàm tương ứng với tổ hợp biến, để đơn giản chúng ta có thể chỉ ghi các trị 1 mà bỏ qua các trị 0 của hàm. Ta có các trường hợp sau: ♦ Từ hàm viết dưới dạng tổng chuẩn: Thí dụ 1 : f(A,B,C) = A. B .C + A.B.C + A.B.C (H 2.5) ♦ Nếu hàm không phải là dạng chuẩn, ta phải đưa về dạng chuẩn bằng cách thêm vào các số hạng sao cho hàm vẫn không đổi nhưng các số hạng chứa đủ các biến. Thí dụ 2 : Y = A BC + AB D + A B C + A C D Hàm này gồm 4 biến, nên để đưa về dạng tổng chuẩn ta làm như sau: Y = A BC(D+ D ) + AB D (C+ C ) + A B C(D+ D ) + A C D(B+ B ) Y = A BCD+ A BC D + ABC D + AB C D + A B CD + A B C D + AB C D +A B C D Và Hàm Y được đưa vào bảng Karnaugh như sau (H 2.6): KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 14 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập (H 2.6) ♦ Từ dạng số thứ nhất, với các trọng lượng tương ứng A=4, B=2, C=1 Thí dụ 3 : f(A,B,C) = Σ(1,3,7). Hàm số sẽ lấy giá trị 1 trong các ô 1,3 và 7. ♦ Từ dạng tích chuẩn: Ta lấy hàm đảo để có dạng tổng chuẩn và ghi trị 0 vào các ô tương ứng với tổ hợp biến trong tổng chuẩn này. Các ô còn lại chứa số 1. Thí dụ 4 : Y = f(A,B,C) = (A+B+C).(A+ B +C).( A +B+C).( A +B+ C ).( A + B C) Y = A . B . C + A .B. C + A. B . C + A. B .C + A.B. C Và bảng Karnaugh tương ứng (H 2.7). (H 2.7) ♦ Từ dạng số thứ hai: Thí dụ 5 : f(A,B,C) = Π(0,2,4,5,6) Hàm sẽ lấy các trị 0 ở các ô 0, 2, 4, 5, 6. Dĩ nhiên là ta phải ghi các giá trị 1 trong các ô còn lại (H 2.7). ♦ Từ bảng sự thật: Thí dụ 6 : Hàm f(A,B,C) cho bởi bảng sự thật N A B C f(A,B,C) KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 15 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập 0 1 2 3 4 5 6 7 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 1 0 1 0 0 0 1 Ta ghi 1 vào các ô tương ứng với các tổ hợp biến ở hàng 1, 3 và 7, kết quả giống như ở thí dụ 1. ♦ Trường hợp có một số tổ hợp cho giá trị hàm không xác định: nghĩa là ứng với các tổ hợp này hàm có thể có giá trị 1 hoặc 0, do đó, ta ghi dấu X vào các ô tương ứng với các tổ hợp này, lúc gom nhóm ta sử dụng nó như số 1 hay số 0 một cách tùy ý sao cho có được kết quả rút gọn nhất. Thí dụ 7: f(A,B,C,D) = Σ(3,4,5,6,7) với các tổ hợp từ 10 dến 15 cho hàm có trị bất kỳ (không xác định) (H 2.8). (H 2.8) 2.3.2.4. Qui tắc gom nhóm Các tổ hợp biến có trong hàm logic hiện diện trong bảng Karnaugh dưới dạng các số 1 trong các ô, vậy việc gom thành nhóm các tổ hợp kề nhau được thực hiện theo qui tắc sau: - Gom các số 1 kề nhau thành từng nhóm sao cho số nhóm càng ít càng tốt. Điều này có nghĩa là số số hạng trong kết quả sẽ càng ít đi. - Tất cả các số 1 phải được gom thành nhóm và một số 1 có thể ở nhiều nhóm. - Số số 1 trong mỗi nhóm càng nhiều càng tốt nhưng phải là bội của 2k (mỗi nhóm có thể có 1, 2, 4, 8 ... số 1). Cứ mỗi nhóm chứa 2k số 1 thì tổ hợp biến tương ứng với nhóm đó giảm đi k số hạng. - Kiểm tra để bảo đảm số nhóm gom được không thừa. 2.3.2.5. Qui tắc rút gọn - Kết quả cuối cùng được lấy như sau: Hàm rút gọn là tổng của các tích: Mỗi số hạng của tổng tương ứng với một nhóm các số 1 nói trên và số hạng này là tích của các biến, biến A (hay A) là thừa số của tích khi tất cả các KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 16 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập số 1 của nhóm chỉ chứa trong phân nửa bảng trong đó biến A có giá trị 1 (hay 0). Nói cách khác nếu các số 1 của nhóm đồng thời nằm trong các ô của biến A và A thì biến A sẽ được đơn giản. Hình dưới đây minh họa việc lấy các thừa số trong tích Thí dụ đối với bảng (H 2.9) ta có kết quả như sau: - Hàm Y là hàm 4 biến A,B,C,D - Nhóm 1 chứa 2 số 1 (k=1), như vậy nhóm 1 sẽ còn 3 biến, theo hàng, 2 số 1 này ở 2 ô ứng với AB và AB, biến A sẽ được đơn giản và theo cột thì 2 ô này ứng với tổ hợp C .D . (H 2.9) Kết quả ứng với nhóm 1 là: B.C .D - Nhóm 2 chứa 4 số 1 (4=22 , k=2), như vậy nhóm 2 sẽ còn 2 biến, theo hàng, 4 số 1 này ở 2 ô ứng với tổ hợp AB và AB, biến B sẽ được đơn giản và theo cột thì 4 ô này ứng với tổ hợp CD và C D , cho phép đơn giản biến D . Kết quả ứng với nhóm 2 là: AC. - Nhóm 3 chứa 4 số 1 (4=22 , k=2), như vậy nhóm 2 sẽ còn 2 biến, theo hàng, 4 số 1 này ở ô ứng với tổ hợp AB, theo cột 4 số 1 này chiếm hết 4 cột nên 2 biến Cvà D được đơn giản. Kết quả ứng với nhóm 3 là: AB. Và hàm Y rút gọn là: Y = BC D +AC + AB Dưới đây là một số thí dụ Thí dụ 1 : Rút gọn hàm Y = f(A,B,C) = A.B.C+ A.B.C+A.B. C+A.B.C+A.B.C (H 2.10) (H 2.10) cho Y = AB + C Thí dụ 2 : Rút gọn hàm Y = f(A,B,C,D) = Σ(0,2,4,5,8,10,12,13) với A=MSB (H 2.11) KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 17 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập (H 2.11) cho Y = B C + B D Thí dụ 3 : Rút gọn hàm S cho bởi bảng sự thật: N A B C D S 0 1 2 3 4 5 6 7 8 9 10→15 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 x (Không xác định) Bảng Karnaugh: (H 2.12) (H 2.12) Kết quả : S = B C + BC 2.3.2.6. Rút gọn các hàm nhiều biến bằng cách dùng bảng Karnaugh 4 biến: Để rút gọn các hàm nhiều biến (5 và 6 biến) người ta có thể dùng bảng Karnaugh 4 biến. Dưới đây là vài thí dụ: Thí dụ 4 : Rút gọn hàm f(A,B,C,D,E) = ∑ (0,2,8,10,13,15,16,18,24,25,26,29,31) với (7,9,14,30) không xác định - Trước nhất vẽ 2 bảng Karnaugh cho 4 biến BCDE, một ứng với A và một với A - Bảng ứng với A dùng cho các số từ 0 đến 15 - Bảng ứng với A dùng cho các số từ 16 đến 31 - Nhóm các số 1 có cùng vị trí ở hai bảng, kết quả sẽ đơn giản biến A - Nhóm các số 1 của từng bảng cho đến hết , kết quả được xác định như cách làm thông thường, nhớ A và A trong từng nhóm (H 2.13). KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 18 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập (H 2.13) nhóm (1) cho : EC ; (2) cho : BCE ; (3) cho : EDB Vậy f(A,B,C,D,E) = EC + BCE + EDB Thí dụ 5 : Rút gọn hàm f(A,B,C,D,E,F)=∑(2,3,6,7,8,9,12,13,14,17,24,25,28,29,30,40,41,44,45,46,56,57,59,60,61,63) Tương tự như trên nhưng phải vẽ 4 bảng cho: AB cho các số (0-15) ; AB cho các số (16-31) ; AB cho các số (48-63) và AB cho các số (32-47). (H 2.14) Kết quả: (1) cho EC ; (2) FCDA + FCDB ; (3) ECBA ; (4) FEDBA ; (5) ABCF Vậy: f(A,B,C,D,E,F) = EC + ECBA + ABCF + FCDA + FCDB + FEDBA KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 19 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập 2.3.3. Phương pháp Quine-Mc. Cluskey Phương pháp Quine-Mc. Cluskey cũng dựa trên tính kề của các tổ hợp biến để đơn giản số biến trong các số hạng của biểu thức dạng tổng (minterm). Trong quá trình đơn giản này có thể xuất hiện các số hạng giống nhau mà ta có thể bỏ bớt được. Phương pháp được thực hiện qua 2 giai đọan: Giai đọan 1: Dựa trên tính kề của các tổ hợp biến để đơn giản số biến trong các số hạng của biểu thức dạng tổng (minterm). Giai đọan 2: Kiểm tra và thực hiện việc tối giản . Thí dụ dưới đây minh họa cho việc thực hiện phương pháp để rút gọn một hàm logic. Thí dụ 1: Rút gọn hàm f(A,B,C,D) = Σ(1,2,4,5,6,10,12,13,14) ♣ Giai đọan 1 - Các minterm được nhóm lại theo số số 1 có trong tổ hợp và ghi lại trong bảng theo thứ tự số 1 tăng dần: Trong thí dụ này có 3 nhóm: Nhóm chứa một số 1 gồm các tổ hợp 1, 2, 4 Nhóm chứa hai số 1 gồm các tổ hợp 5, 6, 10, 12 Nhóm chứa ba số 1 gồm các tổ hợp 13, 14 Bảng 1: A B C D x 1 x 2 x 4 0 0 0 0 0 1 0 1 0 1 0 0 x 5 x 6 x 10 x 12 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 x 13 x 14 1 1 1 1 0 1 1 0 - Mỗi tổ hợp trong một nhóm sẽ được so sánh với mỗi tổ hợp trong nhóm kế cận. Nếu 2 tổ hợp chỉ khác nhau một biến, ta có thể dùng biểu thức AB + AB = B để đơn giản được 1 biến. Biến đã đơn giản được thay bởi dấu -. Đánh dấu x vào các tổ hợp đã xét để tránh sai sót Như vậy, tổ hợp thứ nhất của nhóm thứ nhất 0001 so sánh với tổ hợp thứ nhất của nhóm thứ hai 0101 vì chúng chỉ khác nhau ở biến B, vậy chúng có thể đơn giản thành 0-01. Hai số hạng 1 và 5 đã được gom lại thành nhóm (1,5) và được ghi vào bảng 2. Tiếp tục so sánh tổ hợp 0001 này với các tổ hợp còn lại của nhóm 2 (0110, 1010, 1100), vì chúng khác nhau nhiều hơn 1 bit nên ta không được kết quả nào khác. Như vậy, ta đã so sánh xong tổ hợp thứ nhất, đánh dấu x trước tổ hợp này để ghi nhớ. Công việc tiến hành tương tự cho nhóm thứ hai và thứ ba. Lưu ý: Nhận xét về việc so sánh các tổ hợp với nhau ta thấy có thể thực hiện nhanh được bằng cách làm bài toán trừ 2 số nhị phân tương ứng của 2 tổ hợp, nếu kết quả là một số có trị = 2k (1, 2, 4,8 ...) thì 2 tổ hợp đó so sánh được và biến được đơn giản chính là biến có trọng KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 20 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập số =2k (thí dụ 2 tổ hợp 1 và 5 có hiệu số là 4 nên đơn giản được biến B), nếu hiệu số ≠ 2k thì 2 tổ hợp đó không so sánh được, tức không có biến được đơn giản. Kết quả cho bảng thứ hai - Bảng thứ hai gồm các tổ hợp đã được rút gọn và chỉ còn lại 2 nhóm (giảm một nhóm so với bảng 1). Bảng 2 A B C D 1,5 0 - 0 1 x 2,6 0 - 1 0 x 2,10 - 0 1 0 x 4,5 0 1 0 - x 4,6 0 1 - 0 x 4,12 - 1 0 0 x 5,13 - 1 0 1 x 6,14 - 1 1 0 x 10,14 1 - 1 0 x 12,13 1 1 0 - x 12,14 1 1 - 0 Thực hiện công việc tương tự như trên với hai nhóm trong bảng thứ hai này, các số hạng sẽ được nhóm lại nếu chúng chỉ khác nhau một biến và có vị trí dấu - trùng nhau. Ta được bảng thứ 3. Bảng 3: A B C D 2,6 ; 10,14 2,10 ; 6,14 4,5 ; 12,13 4,6 ; 12,14 4,12 ; 5,13 4,12 ; 6,14 - - - - - - - - 1 1 1 1 1 1 0 - 0 - 0 0 - 0 - 0 Quan sát bảng thứ 3 ta thấy có các tổ hợp giống nhau, như vậy ta có thể lọai bỏ bớt các tổ hợp này và chỉ giữ lại một. Kết quả của hàm rút gọn gồm tổng các số hạng tương ứng với các tổ hợp không gom thành nhóm trong các bảng đầu tiên, đó là tổ hợp (1,5) trong bảng 2, trị tương ứng là ACD với các tổ hợp còn lại trong bảng cuối cùng, đó là các tổ hợp (2,6 ; 10,14) mà trị tương ứng là CD , (4,5 ; 12,13) cho B C và (4,6 ; 12,14) cho BD trong bảng 3. Vậy: f(A,B,C,D) = A CD + CD + BC + BD Đến đây, nếu quan sát các tổ hợp cho các kết quả trên, ta thấy các tổ hợp còn chứa các số hạng giống nhau (số 4 và số 12 chẳng hạn), như vậy kết quả trên có thể là chưa tối giản. ♣ Giai đọan 2: Để có thể rút gọn hơn nữa ta lập một bảng như sau: Cột bên trái ghi lại các tổ hợp đã chọn được trong giai đoạn 1, các cột còn lại ghi các trị thập phân có trong hàm ban đầu. KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 21 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập Trên cùng hàng của tổ hợp ta đánh dấu * dưới các cột có số tương ứng (ví dụ hàng chứa tổ hợp 1,5 có các dấu * ở cột 1 và 5). Tương tự cho các tổ hợp khác. Bảng 4 1 2 4 5 6 10 12 13 14 *↓ *↓ *↓ *↓ *↓ *↓ *↓ * *↓ *↓ * * * * 1,5 ← 2,6 ; 10,14 ← 4,5 ; 12,13 ← 4,6 ; 12,14 x x x x x x x x x Xét các cột chỉ chứa một dấu *, đó là các cột 1,2,10 và 13, các tổ hợp ở cùng hàng với các dấu * này sẽ được chọn, đó là các tổ hợp (1,5), (2,6 ; 10,14), (4,5 ; 12,13), tương ứng với ACD + CD + B C . Đánh dấu X dưới các cột tương ứng với các số có trong các tổ hợp đã chọn. Nếu tất cả các cột đều được đánh dấu thì các tổ hợp đã chọn đủ để diễn tả hàm ban đầu. Trong trường hợp của bài toán này, sau khi chọn các tổ hợp nói trên thì tất cả cột đã được đánh dấu do đó kết quả cuối cùng là (sau khi loai bỏ tổ hợp BD ): f(A,B,C,D) = A CD + CD + BC Thí dụ 2: Rút gọn hàm f(A,B,C,D) = Σ(3,4,6,7,8,11,12,15) ♣ Giai đọan 1 Bảng 1: A B C D x 4 x 8 0 0 1 0 0 1 0 0 x 3 x 6 x 12 0 0 1 0 1 1 1 1 0 1 0 0 x x 7 11 0 1 1 0 1 1 1 1 x 15 1 1 1 1 So sánh các tổ hợp của 2 nhóm gần nhau ta được kết quả cho bảng thứ hai - Bảng thứ hai gồm các tổ hợp đã được rút gọn và chỉ còn lại 3 nhóm (giảm một nhóm so với bảng 1). Bảng 2 A B C D 4,6 0 1 - 0 4,12 - 1 0 0 8,12 1 - 0 0 x 3,7 0 - 1 1 x 3,11 - 0 1 1 6,7 0 1 1 - x 7,15 - 1 1 1 x 11,15 1 - 1 1 KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 22 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập Bảng 3: A B C D 3,7 ; 11,15 3,11 ; 7,15 - - - - 1 1 1 1 Kết quả của hàm rút gọn gồm tổng các số hạng tương ứng với các tổ hợp không gom thành nhóm: (4,6), (4,12), (8,12), (6,7) và (3,7;11,15) f(A,B,C,D) = CD+ABD + BC D + AC D +ABC ♣ Giai đọan 2: Bảng 4 3 4 6 7 8 11 12 15 *↓ *↓ *↓ *↓ * * * * *↓ *↓ * * 3,7;11,15 ← 4,6 4,12 8,12 ← 6,7 x x x x x x Các cột 3, và 8 chỉ chứa một dấu *, các tổ hợp ở cùng hàng với các dấu * này sẽ được chọn, đó là các tổ hợp (3,7;11,15) và , (8,12), tương ứng với CD và AC D . Đánh dấu X dưới các cột tương ứng với các số có trong các tổ hợp đã chọn. Đến đây ta thấy còn 2 cột 4 và 6 chưa có dấu X, trong lúc chúng ta còn đến 3 tổ hợp để chọn. Dĩ nhiên trong trường hợp này ta chỉ cần chọn tổ hợp (4,6) (ABD ) thay vì chọn (4,12) và (6,7) thì đủ dấu X để lấp đầy các cột. Tóm lại: f(A,B,C,D) = CD +ABD + AC D Thí dụ về bài toán đầy đủ: Thí dụ 1: Cho hàm logic F(A, B, C) thỏa tính chất: F(A,B,C) = 1 nếu có một và chỉ một biến bằng 1 a- Lập bảng sự thật cho hàm F. b- Rút gọn hàm F. c- Diễn tả hàm F chỉ dùng hàm AND và NOT Giải a. Dựa vào điều kiện của bài toán ta có bảng sự thật của hàm F: A B C F(A,B,C) 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 1 1 0 1 0 0 0 KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 23 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập b. Rút gọn hàm F Bảng Karnaugh CBACBACBAB.C)F(A, ++= c. Diễn tả hàm F chỉ dùng hàm AND và NOT Dùng địnhlý De Morgan, lấy đảo 2 lần hàm F: CBACBACBACBACBACBAB.C)F(A,B.C)F(A, ..=++== Thí dụ 2: Cho hàm logic F(A, B, C, D) thỏa tính chất: F(A,B,C,D) = 1 khi có ít nhất 3 biến bằng 1 a- Rút gọn hàm F. b- Diễn tả hàm F chỉ dùng hàm OR và NOT Giải a- Rút gọn hàm F Ta có thể đưa hàm vô bảng Karnaugh mà không cần vẽ bảng sự thật. Ta đưa số 1 vào tất cả các ô chứa 3 trị 1 trở lên Và kết quả của hàm rút gọn là: F(A,B,C,D) = ABC + ABD + ACD + BCD b- Diễn tả hàm F chỉ dùng hàm OR và NOT Dùng định lý De Morgan cho từng số hạng trong tổng Viết lại hàm F: BCDACDABDABCD)C,B,F(A, +++= DCBDCADBACBA +++++++++++= BÀI TẬP 1. Diễn tả mỗi mệnh đề dưới đây bằng một biểu thức logic: a/ Tất cả các biến A,B,C,D đều bằng 1 b/ Tất cả các biến A,B,C,D đều bằng 0 KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 24 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập c/ Ít nhất 1 trong các biến X,Y,Z,T bằng 1 d/ Ít nhất 1 trong các biến X,Y,Z,T bằng 0 e/ Các biến A,B,C,D lần lượt có giá trị 0,1,1,0 2. Tính đảo của các hàm sau: a/ f1 = (A + B)( A + B ) b/ f2 = (A + B + C )(B + C + D)( A + C + D) c/ f3 = A(C + D) + ( A + C)( B + C + D) d/ f4 = (AB + C)(BC + D) + A BC + C D e/ f5 = A B C + A B C + A(BC + B C ) 3. Chứng minh bằng đại số các biểu thức sau: a/ BA..BAB.AA.B +=+ b/ B)AC)((A.CAA.B ++=+ c/ C.B.CACB.A.C +=+ d/ )CAB)((AC)C)(BAB)((A ++=+++ e/ )CBC)(A()CC)(B(A ++=++ 4. Viết dưới dạng tổng chuẩn các hàm xác định bởi: a/ f(A,B,C) = 1 nếu số nhị phân (ABC)2 là số chẵn b/ f(A,B,C) = 1 nếu có ít nhất 2 biến số = 1 c/ f(A,B,C) = 1 nếu số nhị phân (ABC)2 >5 d/ f(A,B,C) = 1 nếu số biến số 1 là số chẵn e/ f(A,B,C) = 1 nếu có 1 và chỉ 1 biến số =1 5. Viết dưới dạng tích chuẩn các hàm ở bài tập 4 6. Viết dưới dạng số các bài tập 4 7. Viết dưới dạng số các bài tập 5 8. Rút gọn các hàm dưới đây bằng phương pháp đại số (A = MSB) a/ f1 = ABC + A B C + AB C D b/ f2 = (A+BC) + A ( B + C )(AD+C) c/ f3 = (A+B+C)(A+B+C )( A +B+C)( A +B+ C ) d/ f4(A,B,C,D) = Σ(0,3,4,7,8,9,14,15) e/ f5 = A B + AC + BC f/ f6 = (A+ C )(B+C)(A+B) 9. Dùng bảng Karnaugh rút gọn các hàm sau: (A = MSB) a/ f(A,B,C) = Σ(1,3,4) b/ f(A,B,C) = Σ(1,3,7) c/ f(A,B,C) = Σ(0,3,4,6,7) d/ f(A,B,C) = Σ(1,3,4) . Các tổ hợp biến 6,7 cho hàm không xác định e/ f(A,B,C) = A.B.CC.BA.C.B.A.CB.A +++ f/ f(A,B,C,D) = Σ(5,7,13,15) g/ f(A,B,C,D) = Σ(0,4,8,12) h/ f(A,B,C,D) = Σ(0,2,8,10) i/ f(A,B,C,D) = Σ(0,2,5,6,9,11,13,14) j/ f(A,B,C,D) = Π(0,1,5,9,10,15) k/ f(A,B,C,D) = Π (0,5,9,10) với các tổ hợp biến (2,3,8,15) cho hàm không xác định l/ f(A,B,C,D,E) = Σ(2,7,9,11,12,13,15,18,22,24,25,27,28,29,31) KỸ THUẬT SỐ ______________________________________________________Chương 2 Hàm Logic II - 25 ___________________________________________________________________________ _________________________________________________________Nguyễn Trung Lập m/ f(A,B,C,D.E) = Σ(0,2,8,10,13,15,16,18,24,25,26,29,31) với các tổ hợp biến (7,9,14,30) cho hàm không xác định n/ f(A,B,C,D,E,F) = Σ(2,3,6,7,8,9,12,13,14,17,24,25,28,29,30,40,41,44,45,46,56,57,59,60,61,63) o/ f(A,B,C,D,E,F) = Σ(9,11,13,15,16,18,20,22,25,27,29,31,32,34,36,38,41,43,45,47,48,50,52,54) 10. Làm lại các bài tập từ 9f bằng phương pháp Quine-Mc Cluskey. KỸ THUẬT SỐ

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

  • pdfgiao_trinh_ki_thuat_so_chuong_2_ham_logic_nguyen_trung_lap.pdf