Kĩ thuật số - Chương 2: Hàm logic

pdf 15 trang vanle 5091
Bạn đang xem tài liệu "Kĩ thuật số - Chương 2: Hàm logic", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfki_thuat_so_chuong_2_ham_logic.pdf

Nội dung text: Kĩ thuật số - Chương 2: Hàm logic

  1. Tổ Tin Học CHƯƠNG 2: HÀM LOGIC 9 HÀM LOGIC CƠ BẢN 9 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 9 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 I. HÀM LOGIC CƠ BẢN 1. Một số định nghĩa - Trạng thái logic được biểu diễn bằng số 0 hoặc 1. - Biến logic là đại lượng biễu diễn bởi một ký hiệu (chữ hay dấu) chỉ gồm các giá trị 0 hay 1 tuỳ theo điều kiện nào đó. - Hàm logic diễn tả một nhóm biến logic liên hệ với nhau bởi các phép toán logic. Cũng như biến logic, hàm logic chỉ nhận 1 giá trị 0 hoặc 1. 2. Biểu diễn biến và hàm logic a. 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, 1 vùng trong đó giá trị biến là đúng hay 1, vùng còn lại là vùng phụ trong đó giá trị biến là sai hay 0. Ví dụ: Phần giao nhau của 2 tập hợp A và B (màu xám) biểu diễn tập hợp trong đó A và B đúng (A and B = 1). A B b. 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 những tổ hợp của n biến, có cả thảy 2n tổ hợp có thể có. Các cột ghi tên biến, cột cuối cùng ghi tên hàm và giá trị của hàm tương ứng với các tổ hợp biến trên cùng hàng. Ví dụ: Hàm F(A,B) = A OR B có bảng sự thật như sau: A B F(A,B) = A OR B 0 0 0 0 1 1 1 0 1 1 1 1 Trang 9 Chủ biên Võ Thanh Ân
  2. Giáo trình Kỹ Thuật Số c. 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 1 ô mà tọa độ hàng và cột có giá trị xác định bởi tổ hợp đã cho của biến. Bảng Karnaugh của hàm có n biến gồm 2n ô. 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. Ví dụ: Hàm F(A,B) = A OR B có bảng Karnaugh như sau: B 0 1 A 0 0 1 1 1 1 d. Giản đồ thời gian Dùng để diễn tả quan hệ giữa hàm và biến theo thời gian. Ví dụ: Hàm F(A,B) = A OR B có bảng giản đồ thời gian như sau: A T B T F(A,B) T 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. Ví dụ: Trong một hệ thống số có 2 giá trị điện áp 0V (thấp) và 5V (cao), ta có thể chọn một trong hai qui ước sau: Điện áp Logic dương Logic âm 0V 1 0 5V 0 1 4. Các hàm logic cơ bản a. Hàm NOT (đảo, bù) Phép toán (gạch trên):⎯ Bảng sự thật dưới đây: Y = A A Y = A 0 1 1 0 Chủ biên Võ Thanh Ân Trang 10
  3. Tổ Tin Học b. Hàm OR (hoặc) Phép toán: + (cộng). Bảng sự thật dưới đây. A B F(A,B) = A + B 0 0 0 0 1 1 1 0 1 1 1 1 c. Hàm AND (và) Phép toán: • (nhân – dấu chấm). Bảng sự thật dưới đây. A B F(A,B) = A.B 0 0 0 0 1 0 1 0 0 1 1 1 d. Hàm EX–OR (OR loại trừ) Phép toán: ⊕ (exor). Bảng sự thật dưới đây. A B F(A,B) = A ⊕ B 0 0 0 0 1 1 1 0 1 1 1 0 5. Tính chất của các hàm logic cơ bản a. 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ử + (cộng) và . (nhân). 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 chất 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ép nhân: A . (B + C) = A . B + A . C Phép cộng: A + (B . C) = (A + B) . (A + C) - Không có phép tính lũy thừa và thừa số. Trang 11 Chủ biên Võ Thanh Ân
  4. Giáo trình Kỹ Thuật Số A + A + + A = A A . A . . A = A - Tính bù. A = A A + A = 1 A. A = 0 b. Tính song đối (duality) Tất cả các biểu thức logic vẫn đúng khi ta thay phép toán + (cộng) bởi phép toán • (nhân), 0 bởi 1 hay ngược lại. Ta hãy xét các ví dụ sau: A + B = B + A Ù A . B = B . A A+ AB = A+ B Ù A.(A+ B) = A.B A + 1 = 1 Ù A . 0 = 0 c. Định lý De Morgan Định lý De Morgan được phát biểu bởi 2 biểu thức sau: A + B + C = A . B . C A . B . C = A + B + C Định lý trên cho phép biến đổi qua lại giữa phép nhân và phép cộng nhờ vào phép đảo. d. Sự phụ thuộc lẫn nhau của các hàm logic cơ bản Định lý De Morgan cho ta 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 do đó chúng ta có thể dùng hàm [AND và NOT] hoặc [OR và NOT] để biểu diễn tất cả các hàm. Ví dụ: Chỉ dùng hàm AND và NOT biễu diễn hàm: Y = AB + BC + AC Chỉ việc đảo Y hai lần ta được kết quả: Y = Y = AB + BC + AC = AB.BC.AC II. CÁC DẠNG CHUẨN CỦA HÀM LOGIC 1. Giới thiệu Hàm logic được biễu diễn bởi tổ hợp của những tổng và tích logic. Nếu là tổng của những tích ta có dạng: f (X ,Y, Z) = XY + XZ +YZ Nếu là tích của những tổng ta có dạng: f (X ,Y, Z) =(X + Y)( X + Z)(Y + Z) 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. Ta hãy xem hàm sau: f (X ,Y, Z) = XYZ + X YZ + XYZ là một tổng chuẩn. Mỗi số hạng của tổng chuẩn gọi là minterm. Ta hãy xem hàm sau: f (X ,Y, Z) =(X + Y + Z)( X +Y + Z)(X +Y + Z) là một tích chuẩn. Mỗi số hạng của tích chuẩn gọi là maxterm. Chủ biên Võ Thanh Ân Trang 12
  5. Tổ Tin Học 2. Dạng tổng chuẩn Để có hàm logic dưới dạng chuẩn ta áp dụng định lý triển khai của Shanon. Dạng tổng chuẩn có thể 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 2 tích như sau: f (A, B, , Z) = A. f (1, B, , Z) + A. f (0, B, , Z) Ví dụ: Ta triển khai với hàm 2 biến f(A, B) như sau: Khai triển theo biến A: f (A, B) = A. f (1, B) + A. f (0, B) Mỗi hàm trong 2 hàm vừa tìm được, tiếp tục khai triển 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) Nhân vào ta được: f (A, B) = AB. f (1,1) + AB. f (1,0) + AB. f (0,1) + A B. f (0,0) Với mỗi cặp i, j ta có lượng giá trị f(i, j) biểu diễn một giá trị riêng của f(A, B) trong bài toán phải giải. Với hàm 3 biến, khai triển ta được: f (A, B,C) = ABC. f (1,1,1) + ABC. f (1,1,0) + ABC. f (1,0,1) + ABC. f (1,0,0) + + ABC. f (0,1,1) + ABC. f (0,1,0) + ABC. f (0,0,1) + ABC. f (0,0,0) Khai triển hàm n biến, ta được 2n số hạng. Mỗi số hạng trong triển khai là tích của một tổ hợp biến và một trị riêng của hàm. Có hai trường hợp có thể xảy ra: - Giá trị riêng bằng 1, số hạng thu gọn chỉ còn biến. ABC. f (0,0,1) = ABC nếu f(0,0,1) = 1. - Giá trị riêng bằng 0, số hạng nhân hàm bằng 0. Số hạng này biến mất trong biểu thức tổng (theo qui tắc X + 0 = X). ABC. f (0,0,1) = 0 nếu f(0,0,1) = 0 (theo qui tắc X.0 = 0). Ví dụ: Cho hàm 3 biến A, B, C xác định bởi bảng sự thật sau, viết dạng hàm tổng chuẩn cho hàm: Hàng A B C Z = f(A, B, C) 0 0 0 0 0 1 0 0 1 1 = f(0,0,1) 2 0 1 0 1 = f(0,1,0) 3 0 1 1 1 = f(0,1,1) 4 1 0 0 0 5 1 0 1 1 = f(1,0,1) 6 1 1 0 0 7 1 1 1 1 = f(1,1,1) - Hàm Z có trị riêng f(0,0,1) = 1 tương ứng với giá trị của tổ hợp biến ở “Hàng 1” là A = 0, B = 0, C = 1. Tổ hợp này là ABC. f (0,0,1) = ABC.1 = ABC là một số hạng trong tổng chuẩn - Tương tự các tổ hợp (2), (3), (5), (7) cũng là các số hạng của tổng chuẩn. - Cuối cùng ta có: Z = ABC + ABC + ABC + ABC + ABC Trang 13 Chủ biên Võ Thanh Ân
  6. Giáo trình Kỹ Thuật Số 3. Dạng tích chuẩn Để có hàm logic dưới dạng chuẩn ta áp dụng định lý triển khai của Shanon. Dạng tích chuẩn có thể 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 2 tổng như sau: f (A, B, , Z) = [A + f (0, B, , Z)].[ A + f (1, B, , Z)] Ví dụ: Ta triển khai với hàm 2 biến f(A, B) như sau: Khai triển theo biến A: f (A, B) =[A + f (0, B)].[A + f (1, B)] Mỗi hàm trong 2 hàm vừa tìm được, tiếp tục khai triển theo biến B: f (0, B) =[B + f (0,0)].[B + f (0,1)] f (1, B) =[B + f (1,0)].[B + f (1,1)] Áp dụng tính chất phân bố của phép cộng ta được: f (A, B) =[A + B + f (0,0)].[A + B. f (0,1)].[A + B + f (1,0)].[A+ B + f (1,1)] Với mỗi cặp i, j ta có lượng giá trị f(i, j) biểu diễn một giá trị riêng của f(A, B) trong bài toán phải giải. Với hàm 3 biến, khai triển ta được: f (A, B,C) =[A + B + C + f (0,0,0)].[A + B + C + f (0,0,1)].[A + B + C + f (0,1,0)]. [A + B +C + f (0,1,1)].[ A + B + C + f (1,0,0)].[A + B + C. f (1,0,1)]. [A + B + C. f (1,1,0)].[A + B +C + f (1,1,1)] Khai triển hàm n biến, ta được 2n số hạng. Mỗi số hạng trong triển khai là tổng của một tổ hợp biến và một trị riêng của hàm. Có hai trường hợp có thể xảy ra: - Giá trị riêng bằng 0, số hạng thu gọn chỉ còn biến. [A + B + C + f (1,1,0)] = A + B + C nếu f(1,1,0) = 0 (theo qui tắc X + 0 = X). - Giá trị riêng bằng 1, số hạng hàm bằng 1. Số hạng này biến mất trong biểu thức tích (theo qui tắc X.1 = X). [A + B + C + f (1,1,0)] = 1 nếu f(1,1,0) = 1 (theo qui tắc X+1 = 1). Ví dụ: Cho hàm 3 biến A, B, C xác định bởi bảng sự thật sau, viết dạng hàm tích chuẩn cho hàm: Hàng A B C Z = f(A, B, C) 0 0 0 0 0= f(1,1,1) 1 0 0 1 1 2 0 1 0 1 3 0 1 1 1 4 1 0 0 0= f(0,1,1) 5 1 0 1 1 6 1 1 0 0= f(0,0,1) 7 1 1 1 1 - Hàm Z có trị riêng f(1,1,1) = 0 tương ứng với giá trị của tổ hợp biến ở “Hàng 0” là A = 0, B = 0, C = 0. Tổ hợp này là: Chủ biên Võ Thanh Ân Trang 14
  7. Tổ Tin Học [A + B + C + f (1,1,1)] = [A + B + C + 0] = A + B + C là một số hạng trong tích chuẩn - Tương tự các tổ hợp (4), (6) cũng là các số hạng của tích chuẩn. - Cuối cùng ta có: Z = (A + B + C)(A + B + C)(A + B + C) 4. Đổ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 ví dụ trên, ta thêm cột Z vào bảng sự thật: Hàng A B C Z = f(A, B, C) Z 0 0 0 0 0 1 1 0 0 1 1 0 2 0 1 0 1 0 3 0 1 1 1 0 4 1 0 0 0 1 5 1 0 1 1 0 6 1 1 0 0 1 7 1 1 1 1 0 - Diễn tả hàm Z theo dạng chuẩn thứ nhất, ta được: Z = ABC + ABC + ABC Lấy bù 2 vế ta được dạng tích chuẩn (tổng chuẩn Æ tích chuẩn): Z = Z = ABC + ABC + ABC = (A + B + C)(A + B + C)(A + B + C) - Diễn tả hàm Z theo dạng chuẩn thứ hai, ta được: Z = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) Lấy bù 2 vế ta được dạng tổng chuẩn (tích chuẩn Æ tổng chuẩn): Z = Z = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) = ABC + ABC + ABC + ABC + ABC 5. 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 của biến được thay bởi một số thập phân tương đương với giá trị nhị phân của chúng. Khi sử dụng cách viết này qui ước trọng lượng của biến phải không được thay đổi. Ví 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 lấy giá trị các hàng 1, 2, 3, 5, 7 ta viết Z = Σ(1,2,3,5,7). Tương tự nếu dùng dạng chuẩn thứ 2 ta viết Z = Π(0,4,6). III. RÚT GỌN HÀM LOGIC 1. Giới thiệu Để thực hiện một hàm logic bằng mạch điện tử, người ta luôn nghĩ đến việc sử dụng linh kiện một cách í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ó ba phương pháp rút gọn hàm logic chủ yếu như sau: - Phương pháp đại số. Trang 15 Chủ biên Võ Thanh Ân
  8. Giáo trình Kỹ Thuật Số - Phương pháp dùng bảng Karnaugh. - Phương pháp Quine Mc. Cluskey. 2. Phương pháp đại số Phương pháp này bao gồm việc sử dụng các tính chất của đại số Boole. Người ta thường dùng các đẳng thức (các qui tắc) dưới đây để đơn giản hàm logic. (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) = AB (3’) a. Qui tắc 1 Dùng các đẳng thức logic để rút gọn hàm. Ví dụ: Rút gọn hàm Z = ABC + ABC + ABCD Z = ABC + ABC + ABCD = ABC + ABC + ABCD = 1424 434 (1) AB + ABCD = A(B + BCD) = A(B + CD) 142 43 (3) b. 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. Ví dụ: Rút gọn hàm Z = ABC + ABC + ABC + ABC Thêm ABC vào ta được: Z = ABC + ABC + ABC + ABC + ABC + ABC = BC + AC + AB 1424 434 1424 434 1424 434 BC AC AB c. Qui tắc 3 Có thể bỏ số hạng chứa các biến đã có trong số hạng khác. Ví dụ 1: Rút gọn Z = AB + BC + AC Biểu thức không đổi khi ta nhân một số hạng với 1 (1 = B + B) Z = AB + BC + AC = AB + BC + AC(B + B) = AB + ABC + BC + ABC = AB(1+ C) + BC(1+ A) = AB + BC Ví dụ 2: Rút gọn Z = (A + B)(B + C)(A + C) Biểu thức không đổi khi ta cộng một số hạng với 0 (0 = B.B) Z = (A + B)(B + C)(A + C) = (A + B)(B + C)(A + C + B.B) = (A + B)(B + C)(A + B + C)(A + B + C) = (A + B)(A + B + C)(B + C)(A + B + C) = (A + B)(B + C) 14244 4344 14244 4344 (2') (2') d. Qui tắc 4 Có thể đơn giản bằng cách dùng hàm tổng chuẩn tương đương có số hạng ít nhất. Ví dụ: Hàm Z = f(A,B,C) = Σ(2,3,4,5,6,7) với trọng lượng A = 4, B = 2, C = 1. Chủ biên Võ Thanh Ân Trang 16
  9. Tổ Tin Học Hàm đảo Z = f (A, B,C) = ∑(0,1) = ABC + ABC = AB = A + B Vậy Z = Z = f (A, B,C) = A + B = A + B 3. Dùng bảng Karnaugh a. Nguyên tắc Dùng bảng Karnaugh cho phép rút gọn dễ dàng các hàm logic từ 3 đến 6 biến. Xét 2 tổ hợp AB và AB , hai tổ hợp này chỉ khác nhau một bit gọi là hai tổ hợp kề nhau. Ta có AB + AB = A , biến B được đơn giản. Phương pháp 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 thực hiện theo ba bước. - Thiết lập bảng Karnaugh. - Chuyển các hàm cần đơn giản vào bảng. - Nhóm các ô chứa tổ hợp kề nhau sau cho có thể rút gọn hàm tới mức tối giản. b. Thiết lập 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 1 hàm trong bảng sự thật. Để thiết lập bảng Karnaugh, người ta chia 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 dòng (nếu n là số lẻ, ta có thể chọn số lượng biến làm cột lớn hơn số lượng biến làm dòng hay ngược lại). Như vậy, nếu hàm có n biến, bảng Karnaugh là bảng có 2n ô, mỗi ô tương ứng với một tổ hợp của biến. Các ô trong bảng được sắp đặt kề nhau chỉ khác nhau một đơn vị nhị phân (khác nhau 1 bit). Điều này rất thuận tiện khi chúng ta dùng mã Gray. Chính sự sắp đặt này giúp ta đơn giản bằng cách nhóm các ô lại. Ví dụ: Bảng Karnaugh 3 biến với A ở vị trí MSB và C ở vị trí LSB. Dấu mũi tên tăng theo chiều số thứ tự của mã Gray. BC C A 00 01 11 10 AB 0 1 0 0 1 3 2 00 01 1 4 5 7 6 01 23 11 67 10 45 Do các tổ hợp bìa trái và bìa phải kề nhau nên có thể coi bảng dạng hình trụ thẳng đứng. Tương tự, bìa trên và bìa dưới kề nhau nên cũng có thể coi bảng như hình trụ nằm ngang. Bốn tổ hợp biến ở 4 góc là kề nhau. Bảng Karnaugh cho hàm 4 biến được biễu diễn như sau – chiều theo mũi tên là chiều tăng theo mã Gray: Trang 17 Chủ biên Võ Thanh Ân
  10. Giáo trình Kỹ Thuật Số CD AB 00 01 11 10 00 0132 01 4576 11 12 13 15 14 10 8 9 11 10 c. Biểu diễn hàm logic trong 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, ta chỉ ghi các giá trị 1, bỏ qua các giá trị 0 của hàm. Ta có các trường hợp dưới đây. - Từ hàm viết dưới dạng tổng chuẩn: Ví dụ: f (A, B,C) = ABC + ABC + ABC BC A 00 01 11 10 0 0 1 1 1 3 2 1 4 5 1 7 6 - Nếu hàm không ở 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 đầy đủ các biến. Ví dụ: f (A, B,C, D) = ABC + ABD + ABC + ABD , hàm 4 biến ta đưa về dạng tổng chuẩn như sau (loại bỏ các số hạng lặp lại): f (A, B,C, D) = ABC(D + D) + ABD(C + C) + ABC(D + D) + ABD(C + C) = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD - Từ dạng số Σ (tổng), hàm sẽ có giá trị 1 trong những ô là số tương ứng. Ví dụ: f(A, B, C) = Σ(1,3,7). Hàm sẽ lấy giá trị 1 trong những ô 1, 3, 7. BC A 00 01 11 10 0 0 1 1 1 3 2 1 4 5 1 7 6 - Từ dạng tích chuẩn, ta lấy hàm đảo để có dạng tổng chuẩn và ghi giá trị 0 vào các ô tương ứng với tổ hợp biến trong tổng chuẩn này. Ví dụ: Y = f (A, B,C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) Y = f (A, B,C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) Y = ABC + ABC + ABC + ABC + ABC BC A 00 01 11 10 0 0 0 0 1 3 2 1 0 4 0 5 7 0 6 - Từ dạng số Π (tích), ta đưa 0 vào các ô số trong biểu thức tích, dĩ nhiên các ô khác còn lại ghi 1. Ví dụ: f(A, B, C) = Π(0,2,3,7). Hàm sẽ lấy giá trị 0 trong những ô 0, 2, 3, 7. Chủ biên Võ Thanh Ân Trang 18
  11. Tổ Tin Học - Từ bảng sự thật ghi 1 vào các ô tương ứng với tổ hợp biến mà hàm cho giá trị riêng là 1. Ví dụ: Cho bảng sự thật sau: Hàng A B C Z = f(A, B, C) 0 0 0 0 0 1 0 0 1 1 = f(0,0,1) 2 0 1 0 1 = f(0,1,0) 3 0 1 1 1 = f(0,1,1) 4 1 0 0 0 5 1 0 1 1 = f(1,0,1) 6 1 1 0 0 7 1 1 1 1 = f(1,1,1) Ta sẽ ghi 1 vào các ô: 1, 2, 3, 5, 7. - Trường hợp một số tổ hợp cho giá trị hàm không xác định, nghĩa là ứng với tổ hợp này hàm có giá trị 0 hoặc 1 tuỳ ý. Do đó, ta ghi dấu × vào các ô tương ứng trong với tổ hợp này, lúc gom nhóm, ta cho các giá trị × này là 0 hay 1 tuỳ ý sao có kết quả có lợi cho ta (kết quả đơn giản nhất). d. Qui tắc rút gọn Để rút gọn hàm, ta 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ố hạng trong kết quả đích càng ít đi. Tất cả các số 1 phải được gom thành nhóm và 1 số 1 có thể ở nhiều nhóm. Số 1 trong mỗi nhóm phải là bội của 2k. Cứ mỗi nhóm 2k số 1, thì tổ hợp biến tương ứng ta đơn giản được k số hạng. 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 1 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 là thừa số của tích khi tất cả các số 1 của nhóm chỉ chứa trong phân nửa bảng trong đó biến A có giá trị 1. Nếu các số 1 đồng thời nằm trong ô A và A thì biến A sẽ được đơn giản. Ví dụ: Ta xem cách chọn nhóm và rút gọn bảng dưới đây. CD AB 00 01 11 10 00 1 1 Nhóm 1 01 1 1 1 Nhóm 2 11 1 10 - Nhóm 1 chứa 2 số 1 (2 = 21, k = 1), như vậy nhóm 1 sẽ còn 3 biến. Theo hàng, 2 số 1 ở 2 ô đó là AB (01) và AB (11) nên biến A sẽ được đơn giản, còn lại B. Theo cột thì 2 ô này ứng với tổ hợp CD (00) Î Kết quả nhóm 1 là: BCD . Trang 19 Chủ biên Võ Thanh Ân
  12. Giáo trình Kỹ Thuật Số - 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 ở 2 hàng đó là AB (00) và AB (01) nên biến B sẽ được đơn giản, còn lại A . Theo cột thì 2 cột này ứng với tổ hợp CD (11) và CD (10) nên biến D được đơn giản, còn lại C Î Kết quả nhóm 2 là: AC . Ví dụ 1: Đơn giản hàm: Y = f (A, B,C, D) = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD CD AB 00 01 11 10 00 1 1 Nhóm 1 01 1 1 1 Nhóm 2 11 1 10 1 Nhóm 3 Nhóm 1: BCD . Nhóm 2: AC . Nhóm 3: ABCD . Vậy hàm rút gọn Y = f (A, B,C, D) = BCD + AC + ABCD Ví dụ 2: Đơn giản hàm: Y = f (A, B,C, D) = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD CD AB 00 01 11 10 Nhóm 1 - 4 số 1, gồm 2 số 1 00 1 1 1 trên và 2 số 1 dưới: BC 01 Nhóm 2 - 4 số 1, gồm 4 số ở 4 góc: BD 11 Vậy Y = BC + BD 10 1 1 1 Ví dụ 3: 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 ta phải vẽ 4 bảng ứng với 4 tổ hợp của AB là: AB cho các số từ 0 đến 15. AB cho các số từ 16 đến 31. AB cho các số từ 32 đến 47. AB cho các số từ 48 đến 63. Chủ biên Võ Thanh Ân Trang 20
  13. Tổ Tin Học EF EF 4 CD 00 01 11 10 CD 00 01 11 10 00 1 1 3 00 1 01 1 1 01 11 1 1 1 11 1 1 1 10 1 1 2 10 1 1 2 1 AB 1 AB EF EF CD 00 01 11 10 CD 00 01 11 10 00 00 01 01 11 1 1 1 11 1 1 1 5 10 1 1 2 10 1 1 1 1 AB 1 AB (1) ÙCE ; (2) Ù ACDF + BCDF ; (3) Ù ABCE ; (4) Ù ABDEF ; (5) Ù ABCF . Vậy f (A, B,C, D, E, F) = CE + ACDF + BCDF + ABCE + ABDEF + ABCF 4. Phương pháp Quine–Mc. Cluskey a. Nguyên tắc Phương pháp Quine–Mc. Cluskey cũng dựa trên tính kề của tổ hợp biến để đơn giản số biến trong số hạng biểu thức dạng tổng (minterm) và trong quá trình đơn giản này có thể xuất hiện các số hạng không giống nhau mà ta có thể bỏ bớt được. Phương pháp chia làm hai giai đoạn. - Giai đoạn 1: Xác định các tích thứ nhất là minterm có được trong quá trình đơn giản nói trên. - Giai đoạn 2: Tối giản các tích thứ nhất. b. Ví dụ minh họa Rút gọn hàm f (A, B,C, D) = ∑(1,2,4,5,6,10,12,13,14) • Giai đoạn 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 ví dụ này ta có 3 nhóm. - Nhóm chứa 1 số 1 gồm: 1, 2, 4 – (0010, 0010, 0100). - Nhóm chứa 2 số 1 gồm: 5, 6, 10, 12 – (0101, 0110, 1010, 1100). - Nhóm chứa 3 số 1 gồm: 13, 14 – (1101, 1110). Trang 21 Chủ biên Võ Thanh Ân
  14. Giáo trình Kỹ Thuật Số Thiết lập bảng 1 như sau: Chọn Hàng A B C D × 1 0 0 0 1 × 2 0 0 1 0 × 4 0 1 0 0 × 5 0 1 0 1 × 6 0 1 1 0 × 10 1 0 1 0 × 12 1 1 0 0 × 13 1 1 0 1 × 14 1 1 1 0 Mỗi tổ hợp trong nhóm sẽ được so sánh với tổ hợp trong nhóm kế cận. Nếu 2 tổ hợp chỉ khác nhau 1 biến, ta dùng biểu thức AB + AB = B để đơn giản 1 biến. Biến đã được đơn giản sẽ được thay bởi dấu – (gạch ngang). Đánh × vào 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 2: 0101, chúng chỉ khác nhau 1 biến B, vậy ta có thể đơn giản thành 0–01. Hai số hạng 1 và 5 đã được gom lại. Thiết lập bảng 2 như sau: Chọn Hàng A B C D 1,5 0 – 0 1 × 2,6 0 – 1 0 × 2,10 – 0 1 0 × 4,5 0 1 0 – × 4,6 0 1 – 0 × 4,12 – 1 0 0 × 5,13 – 1 0 1 × 6,14 – 1 1 0 × 10,14 1 – 1 0 × 12,13 1 1 0 – × 12,14 1 1 – 0 Tiếp tục thực hiện công việc tương tự như trên với 2 nhóm trong bảng thứ 2 này, các số hạng sẽ được gom lại nếu chúng chỉ khác nhau 1 biến và có cùng vị trí dấu – (dấu gạch trùng nhau). Chủ biên Võ Thanh Ân Trang 22
  15. Tổ Tin Học Thiết lập bảng 3 như sau: Chọn Hàng A B C D 2,6; 10,14– – 1 0 2,10; 6,14 – – 1 0 4,5; 12,13– 0 1 – 4,6; 12,14– 1 – 0 4,12; 5,13– 1 0 – 4,12; 6,14– 1 – 0 Quan sát bảng 3 ta thấy không thể rút gọn được nữa, đồng thời có các tổ hợp giống nhau, ta loại 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 trước và các tổ hợp trong bảng cuối.Ta có các tổ hợp sau: - (1,5) Ù ACD ở bảng 2. - (2,6; 10,14) = (2,10; 6,14) Ù CD ở bảng cuối. - (4,5; 12,13) = (4,12; 5,13) Ù BC ở bảng cuối. - (4,6; 12,14) = (4,12; 6,14) Ù BD ở bảng cuối. Vậy kết thúc bước 1 ta được: f (A, B,C, D) = ACD + CD + BC + BD Đến đây, quan sát các tổ hợp cho 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,12). Như vậy kết quả có thể chưa tối giản. Ta tiếp tục chuyển sang bước 2. • Giai đoạn 2: Để rút gọn hơn nữa ta lập một bảng với cách thiết lập như sau: - Cột bên trái ghi các tổ hợp đã được chọn trong giai đoạn 1, các cột còn lại ghi giá trị thập phân trong hàm ban đầu. - Trên cùng hàng của tổ hợp ta đánh dấu * với các ô tương ứng của cột. Ví dụ hàng chứa tổ hợp (1,5) ta đánh dấu * vào ô tương ứng cột 1 và 5, trên dòng (1,5). Tương tự cho các tổ hợp khác. Sau đó, ta sẽ lần lượt dò các dòng từ trên xuống, đánh × vào dòng cuối tương ứng với dấu * trên các dòng này, đến khi nào tất cả các ô của dòng cuối đều được đánh dấu × thì ta ngưng, lúc đó tổ hợp các dòng được chọn là kết quả hàm. Như trên, ta được bảng sau: Tổ hợp 1 2 4 5 6 10 12 13 14 1,5 ← *↓ *↓ 2,6; 10,14 ← *↓ *↓ *↓ *↓ 4,5; 12,13 ← *↓ * *↓ *↓ 4,6; 12,14 * * * * Chọn đủ Æ × × × × × × × × × Kết quả ta được: f (A, B,C, D) = ACD + CD + BC . Ta đã loại được giá trị BD . Trang 23 Chủ biên Võ Thanh Ân