Giáo trình Kĩ thuật số - Nguyễn Trung lập

pdf 174 trang haiha333 07/01/2022 3930
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kĩ thuật số - Nguyễn Trung lập", để 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:

  • pdfgiao_trinh_ki_thuat_so_nguyen_trung_lap.pdf

Nội dung text: Giáo trình Kĩ thuật số - Nguyễn Trung lập

  1. Số và Mã.pdf hàm logic.pdf Bộ nhớ bán dẫn.pdf Tổng hợp mạch logic.pdf Cổng logic.pdf Mạch logic dãy.pdf Mã.pdf Bộ biến đổi AD-DA.pdf Mạch tạo xung LM555.pdf
  2. ___Chương I : Các Hệ Thống Số I-1 CHƯƠNG 1: CÁC HỆ THỐNG SỐ & MÃ U NGUYÊN LÝ CỦA VIỆC VIẾT SỐ U CÁC HỆ THỐNG SỐ Ò Hệ cơ số 10 (thập phân) Ò Hệ cơ số 2 (nhị phân) Ò Hệ cơ số 8 (bát phân) Ò Hệ cơ số 16 (thâp lục phân) U BIẾN ĐỔI QUA LẠI GIỮA CÁC HỆ THỐNG SỐ Ò Đổi từ hệ b sang hệ 10 Ò Đổi từ hệ 10 sang hệ b Ò Đổi từ hệ b sang hệ bk & ngược lại Ò Đổi từ hệ bk sang hệ bp U CÁC PHÉP TOÁN Số NHị PHÂN Ò Phép cộng Ò Phép trừ Ò Phép nhân Ò Phép chia U MÃ HÓA Ò Mã BCD Ò Mã Gray Nhu cầu về định lượng trong quan hệ giữa con người với nhau, nhất là trong những trao đổi thương mại, đã có từ khi xã hội hình thành. Đã có rất nhiều cố gắng trong việc tìm kiếm các vật dụng, các ký hiệu . . . dùng cho việc định lượng này như các que gỗ, vỏ sò, số La mã . . . Hiện nay số Ả rập tỏ ra có nhiều ưu điểm khi được sử dụng trong định lượng, tính toán. . . Việc sử dụng hệ thống số hằng ngày trở nên quá quen thuộc khiến chúng ta có thể đã quên đi sự hình thành và các qui tắc để viết các con số. Chương này nhắc lại một cách sơ lược nguyên lý của việc viết số và giới thiệu các hệ thống số khác ngoài hệ thống thập phân quen thuộc, phương pháp biến đổi qua lại của các số trong các hệ thống khác nhau. Chúng ta sẽ đặc biệt quan tâm đến hệ thống nhị phân là hệ thống được dùng trong lãnh vực điện tử-tin học như là một phương tiện để giải quyết các vấn đề mang tính logic. Phần cuối của chương sẽ giới thiệu các loại mã thông dụng để chuẩn bị cho các chương kế tiếp. 1.1 Nguyên lý của việc viết số Một số được viết bằng cách đặt kề nhau các ký hiệu, được chọn trong một tập hợp xác định. Mỗi ký hiệu trong một số được gọi là số mã (số hạng, digit). Thí dụ, trong hệ thống thập phân (cơ số 10) tập hợp này gồm 10 ký hiệu rất quen thuộc, đó là các con số từ 0 đến 9: S10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Khi một số gồm nhiều số mã được viết, giá trị của các số mã tùy thuộc vị trí của nó trong số đó. Giá trị này được gọi là trọng số của số mã. ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  3. ___Chương I : Các Hệ Thống Số I-1 Thí dụ số 1998 trong hệ thập phân có giá trị xác định bởi triển khai theo đa thức của 10: 3 2 1 0 199810 = 1x10 + 9x10 +9x10 + 9x10 = 1000 + 900 + 90 + 8 Trong triển khai, số mũ của đa thức chỉ vị trí của một ký hiệu trong một số với qui ước vị trí của hàng đơn vị là 0, các vị trí liên tiếp về phía trái là 1, 2, 3, . Nếu có phần lẻ, vị trí đầu tiên sau dấu phẩy là -1, các vị trí liên tiếp về phía phải là -2, -3, . Ta thấy, số 9 đầu tiên (sau số 1) có trọng số là 900 trong khi số 9 thứ hai chỉ là 90. Có thể nhận xét là với 2 ký hiệu giống nhau trong hệ 10, ký hiệu đứng trước có trọng số gấp 10 lần ký hiệu đứng ngay sau nó. Điều này hoàn toàn đúng cho các hệ khác, thí dụ, đối với hệ nhị phân ( cơ số 2) thì tỉ lệ này là 2. Tổng quát, một hệ thống số được gọi là hệ b sẽ gồm b ký hiệu trong một tập hợp: Sb = {S0, S1, S2, . . ., Sb-1} Một số N được viết: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)b với ai ∈ Sb Sẽ có giá trị: n n-1 n-2 i 0 -1 -2 -m N = an b + an-1b + an-2b + . . .+ aib +. . . + a0b + a-1 b + a-2 b +. . .+ a-mb . n i =∑ai b i=− m i aib chính là trọng số của một ký hiệu trong Sb ở vị trí thứ i. 1.2 Các hệ thống số 1.2.1 Hệ cơ số 10 (thập phân, Decimal system) Hệ thập phân là hệ thống số rất quen thuộc, gồm 10 số mã như nói trên. Dưới đây là vài ví dụ số thập phân: 3 2 1 0 N = 199810 = 1x10 + 9x10 + 9x10 + 8x10 = 1x1000 + 9x100 + 9x10 + 8x1 0 -1 -2 N = 3,1410 = 3x10 + 1x10 +4x10 = 3x1 + 1x1/10 + 4x1/100 1.2.2 Hệ cơ số 2 (nhị phân, Binary system) Hệ nhị phân gồm hai số mã trong tập hợp S2 = {0, 1} Mỗi số mã trong một số nhị phân được gọi là một bit (viết tắt của binary digit). Số N trong hệ nhị phân: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)2 (với ai∈ S2) Có giá trị là: n n-1 i 0 -1 -2 -m N = an 2 + an-12 + . . .+ ai2 +. . . + a02 + a-1 2 + a-2 2 + . . .+ a-m2 an là bit có trọng số lớn nhất, được gọi là bit MSB (Most significant bit) và a-m là bit có trọng số nhỏ nhất, gọi là bit LSB (Least significant bit). 3 2 1 0 -1 Thí dụ: N = 1010,12 = 1x2 + 0x2 + 1x2 + 0x2 + 1x2 = 10,510 1.2.3 Hệ cơ số 8 (bát phân ,Octal system) Hệ bát phân gồm tám số trong tập hợp S8 = {0,1, 2, 3, 4, 5, 6, 7}. Số N trong hệ bát phân: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)8 (với ai ∈ S8) ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  4. ___Chương I : Các Hệ Thống Số I-1 Có giá trị là: n n-1 n-2 i 0 -1 -2 -m N = an 8 + an-18 + an-28 +. . + ai8 . . .+a08 + a-1 8 + a-2 8 +. . .+ a-m8 3 2 1 0 -1 Thí dụ: N = 1307,18 = 1x8 + 3x8 + 0x8 + 7x8 + 1x8 = 711,12510 1.2.4 Hệ cơ số 16 (thập lục phân, Hexadecimal system) Hệ thập lục phân được dùng rất thuận tiện để con người giao tiếp với máy tính, hệ này gồm mười sáu số trong tập hợp S16 ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } (A tương đương với 1010 , B =1110 , . . . . . . , F=1510) . Số N trong hệ thập lục phân: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)16 (với ai∈ S16) Có giá trị là: n n-1 n-2 i 0 -1 -2 -m N = an 16 + an-116 + an-216 +. . + ai16 . . .+a016 + a-1 16 + a-2 16 +. . .+ a-m16 Người ta thường dùng chữ H (hay h) sau con số để chỉ số thập lục phân. 3 2 1 0 -1 Thí dụ: N = 20EA,8H = 20EA,816 = 2x16 + 0x16 + 14x16 + 10x16 + 8x16 = 4330,510 1.3 Biến đổi qua lại giữa các hệ thống số Khi đã có nhiều hệ thông số, việc xác định giá trị tương đương của một số trong hệ này so với hệ kia là cần thiết. Phần sau đây cho phép ta biến đổi qua lại giữa các số trong bất cứ hệ nào sang bất cứ hệ khác trong các hệ đã được giới thiệu. 1.3.1 Đổi một số từ hệ b sang hệ 10 Để đổi một số từ hệ b sang hệ 10 ta triển khai trực tiếp đa thức của b Một số N trong hệ b: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)b với ai ∈ Sb Có giá trị tương đương trong hệ 10 là: n n-1 i 0 -1 -2 -m N = an b + an-1b +. . .+ aib +. . . + a0b + a-1 b + a-2 b +. . .+ a-mb . Thí dụ: * Đổi số 10110,112 sang hệ 10 4 2 -1 -2 10110,112 = 1x2 + 0 + 1x2 + 1x2 + 0 + 1x2 + 1x2 = 22,7510 * Đổi số 4BE,ADH sang hệ 10 2 1 0 -1 -2 4BE,ADH=4x16 +11x16 +14x16 +10x16 +13x16 = 1214,67510 1.3.2 Đổi một số từ hệ 10 sang hệ b Đây là bài toán tìm một dãy ký hiệu cho số N viết trong hệ b. Tổng quát, một số N cho ở hệ 10, viết sang hệ b có dạng: N = (anan-1 . . .a0 , a-1a-2 . . .a-m)b = (anan-1 . . .a0)b + (0,a-1a-2 . . .a-m)b Trong đó (anan-1 . . .a0)b = PE(N) là phần nguyên của N và (0,a-1a-2 . . .a-m)b = PF(N) là phần lẻ của N Phần nguyên và phần lẻ được biến đổi theo hai cách khác nhau: ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  5. ___Chương I : Các Hệ Thống Số I-1 Š Phần nguyên: Giá trị của phần nguyên xác định nhờ triển khai: n n-1 1 0 PE(N) = anb + an-1b + . . .+ a1b + a0b Hay có thể viết lại n-1 n-2 PE(N) = (anb + an-1b + . . .+ a1)b + a0 n- Với cách viết này ta thấy nếu chia PE(N) cho b, ta được thương số là PE’(N) = (anb 1 n-2 + an-1b + . . .+ a1) và số dư là a0. Vậy số dư của lần chia thứ nhất này chính là số mã có trọng số nhỏ nhất (a0) của phần nguyên. Lặp lại bài toán chia PE’(N) cho b: n-1 n-2 n-2 n-3 PE’(N) = anb + an-1b + . . .+ a1= (anb + an-1b + . . .+ a2)b+ a1 Ta được số dư thứ hai, chính là số mã có trọng số lớn hơn kế tiếp (a1) và thương số n-2 n-3 là PE”(N)= anb + an-1b + . . .+ a2. Tiếp tục bài toán chia thương số có được với b, cho đến khi được số dư của phép chia cuối cùng, đó chính là số mã có trọng số lớn nhất (an) Š Phần lẻ: Giá trị của phần lẻ xác định bởi: -1 -2 -m PF(N) = a-1 b + a-2 b +. . .+ a-mb Hay viết lại -1 -1 -m+1 PF(N) = b (a-1 + a-2 b +. . .+ a-mb ) -1 -m+1 Nhân PF(N) với b, ta được : bPF(N) = a-1 + (a-2 b +. . .+ a-mb ) = a-1+ PF’(N). Vậy lần nhân thứ nhất này ta được phần nguyên của phép nhân, chính là số mã có trọng số lớn nhất của phần lẻ (a-1) (số a-1 này có thể vẫn là số 0). PF’(N) là phần lẻ xuất hiện trong phép nhân. Tiếp tục nhân PF’(N) với b, ta tìm được a-2 và phần lẻ PF”(N). Lặp lại bài toán nhân phần lẻ với b cho đến khi kết quả có phần lẻ bằng không, ta sẽ tìm được dãy số (a-1a-2 . . .a-m). Chú ý: Phần lẻ của số N khi đổi sang hệ b có thể gồm vô số số hạng (do kết quả của phép nhân luôn khác 0), điều này có nghĩa là ta không tìm được một số trong hệ b có giá trị đúng bằng phần lẻ của số thập phân, vậy tùy theo yêu cầu về độ chính xác khi chuyển đổi mà người ta lấy một số số hạng nhất định. Thí dụ: * Đổi 25,310 sang hệ nhị phân Phần nguyên: 25 : 2 = 12 dư 1 ⇒ a0 = 1 12 : 2 = 6 dư 0 ⇒ a1 = 0 6 : 2 = 3 dư 0 ⇒ a2 = 0 3 : 2 = 1 dư 1 ⇒ a3 = 1 thương số cuối cùng là 1 cũng chính là bit a4: ⇒ a4 = 1 Vậy PE(N) = 11001 Phần lẻ: 0,3 * 2 = 0,6 ⇒ a-1 = 0 0,6 * 2 = 1,2 ⇒ a -2 = 1 0,2 * 2 = 0,4 ⇒ a-3 = 0 0,4 * 2 = 0,8 ⇒ a-4 = 0 0,8 * 2 = 1,6 ⇒ a-5 = 1 . . . ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  6. ___Chương I : Các Hệ Thống Số I-1 Nhận thấy kết quả của các bài toán nhân luôn khác không, do phần lẻ của lần nhân cuối cùng là 0,6, đã lặp lại kết quả của lần nhân thứ nhất, như vậy bài toán không thể kết thúc với kết quả đúng bằng 0,3 của hệ 10. Giả sử bài toán yêu cầu lấy 5 số lẻ thì ta có thể dừng ở đây và PF(N) = 0,01001. Kết quả cuối cùng là: 25,310 = 11001,010012 * Đổi 1376,8510 sang hệ thập lục phân Phần nguyên: 1376 : 16 = 86 số dư = 0 ⇒ a0 = 0 86 : 16 = 5 số dư = 6 ⇒ a1 = 6 & ⇒ a2 = 5 137610 = 560H Phần lẻ: 0,85 * 16 = 13,6 ⇒ a-1 = 1310=DH 0,6 * 16 = 9,6 ⇒ a -2 = 9 0,6 * 16 = 9,6 ⇒ a-3 = 9 Nếu chỉ cần lấy 3 số lẻ: 0,8510= 0,D99H Và kết quả cuối cùng: 1376,8510 = 560,D99H 1.3.3 Đổi một số từ hệ b sang hệ bk và ngược lại Từ cách triển khai đa thức của số N trong hệ b, ta có thể nhóm thành từng k số hạng từ dấu phẩy về hai phía và đặt thành thừa số chung n 5 4 3 2 1 0 -1 -2 -3 -m N = anb +. . . +a5b + a4b +a3b +a2b +a1b +a0b +a-1 b +a-2 b +a-3 b . . .+a-mb Để dễ hiểu, chúng ta lấy thí dụ k = 3, N được viết lại bằng cách nhóm từng 3 số hạng, kể từ dấu phẩy về 2 phía 2 1 0 3 2 1 0 0 2 1 0 -3 N = + (a5b + a4b + a3b )b + (a2b + a1b + a0b )b + (a-1 b + a-2 b + a-3b )b + Phần chứa trong mỗi dấu ngoặc luôn luôn nhỏ hơn b3 , vậy số này tạo nên một số trong hệ b3 và lúc đó được biểu diễn bởi ký hiệu tương ứng trong hệ này. Thật vậy, số N có dạng: 2 1 0 -1 N = +A2B +A1B +A0B + A-1B + Trong đó: B=b3 (B0=b0; B1=b3; B2=b6, B-1=b-3 ) 2 1 0 3 -1 -2 -3 3 A2= a8b + a7b + a6b = b (a8b + a7b + a6b ) < B=b 2 1 0 3 -1 -2 -3 3 A1= a5b + a4b + a3b = b (a5b + a4b + a3b ) < B=b 2 1 0 3 -1 -2 -3 3 A0= a2b + a1b + a0b = b (a2b + a1b + a0b ) < B=b 3 Các số Ai luôn luôn nhỏ hơn B=b như vậy nó chính là một phần tử của tập hợp số tạo nên hệ B=b3 Ta có kết quả biến đổi tương tự cho các hệ số k khác. Tóm lại, để đổi một số từ hệ b sang hệ bk, từ dấu phẩy đi về hai phía, ta nhóm từng k số hạng, giá trị của mỗi k số hạng này (tính theo hệ b) chính là số trong hệ bk . Thí dụ: 3 * Đổi số N = 10111110101 , 011012 sang hệ 8 = 2 Từ dấu phẩy, nhóm từng 3 số hạng về hai phía (nếu cần, thêm số 0 vào ở nhóm đầu và cuối để đủ 3 số hạng mà không làm thay đổi giá trị của số N): N = 010 111 110 101 , 011 0102 Ghi giá trị tương ứng của các số 3 bit, ta được số N trong hệ 8 N = 2 7 6 5 , 3 2 8 * Đổi số N trên sang hệ 16 = 24 ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  7. ___Chương I : Các Hệ Thống Số I-1 Cũng như trên nhưng nhóm từng 4 số hạng N = 0101 1111 0101 , 0110 10002 N = 5 F 5 , 6 8 16 Từ kết quả của phép đổi số từ hệ b sang hệ bk, ta có thể suy ra cách biến đổi ngược một cách dễ dàng: Thay mỗi số hạng của số trong hệ bk bằng một số gồm k số hạng trong hệ b. 4 Thí dụ để đổi số N = 5 F5, 6816 (hệ 2 ) sang hệ nhị phân (2) ta dùng 4 bit để viết cho mỗi số hạng của số này: N = 0101 1111 0101 , 0110 10002 1.3.4 Đổi một số từ hệ bk sang hệ bp Qua trung gian của hệ b, ta có thể đổi từ hệ bk sang hệ bp. Muốn đổi số N từ hệ bk sang hệ bp, trước nhất đổi số N sang hệ b rồi từ hệ b tiếp tục đổi sang hệ bp. Thí dụ: - Đổi số 1234,678 sang hệ 16 1234,678 = 001 010 011 100,110 1112 = 0010 1001 1100,1101 11002 = 29C,DCH - Đổi số ABCD,EFH sang hệ 8 ABCD,EFH = 1010 1011 1100 1101,1110 11112 = 1 010 101 111 001 101,111 011 1102 = 125715,7368 Dưới đây là bảng kê các số đầu tiên trong các hệ khác nhau: Thập Nhị Bát Thập lục Thập Nhị Bát Thập lục phân phân phân phân phân phân phân phân 0 0 0 0 13 1101 15 D 1 1 1 1 14 1110 16 E 2 10 2 2 15 1111 17 F 3 11 3 3 16 10000 20 10 4 100 4 4 17 10001 21 11 5 101 5 5 18 10010 22 12 6 110 6 6 19 10011 23 12 7 111 7 7 20 10100 24 14 8 1000 10 8 21 10101 25 15 9 1001 11 9 22 10110 26 16 10 1010 12 A 23 10111 17 17 11 1011 13 B 24 11000 30 18 12 1100 14 C 25 11001 31 19 Bảng 1.1 1.4 Các phép tính trong hệ nhị phân Các phép tính trong hệ nhị phân được thực hiện tương tự như trong hệ thập phân, tuy nhiên cũng có một số điểm cần lưu ý ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  8. ___Chương I : Các Hệ Thống Số I-1 1.4.1 Phép cộng Là phép tính làm cơ sở cho các phép tính khác. Khi thực hiện phép cộng cần lưu ý: 0 + 0 = 0 ; 0 + 1 = 1 ; 1 + 1 = 0 nhớ 1 (đem qua bít cao hơn). Ngoài ra nếu cộng nhiều số nhị phân cùng một lúc ta nên nhớ : - Nếu số bit 1 chẵn, kết quả là 0; - Nếu số bit 1 lẻ kết quả là 1 - Và cứ 1 cặp số 1 cho 1 số nhớ (bỏ qua số 1 dư, thí dụ với 5 số 1 ta kể là 2 cặp) Thí dụ: Tính 011 + 101 + 011 + 011 1 1 ← số nhớ 1 1 1 ← số nhớ 0 1 1 + 1 0 1 0 1 1 0 1 1 1 1 1 0 1.4.2 Phép trừ Cần lưu ý: 0 - 0 = 0 ; 1 - 1 = 0 ; 1 - 0 = 1 ; 0 - 1 = 1 nhớ 1 cho bit cao hơn Thí dụ: Tính 1011 - 0101 1 ← số nhớ 1 0 1 1 - 0 1 0 1 0 1 1 0 1.4.3 Phép nhân Cần lưu ý: 0 x 0 = 0 ; 0 x 1 = 0 ; 1 x 1 = 1 Thí dụ: Tính 1101 x 101 1 1 0 1 x 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  9. ___Chương I : Các Hệ Thống Số I-1 1 0 0 0 0 0 1 1.4.4 Phép chia Thí dụ: Chia 1001100100 cho 11000 Lần chia đầu tiên, 5 bit của số bị chia nhỏ hơn số chia nên ta được kết quả là 0, sau đó ta lấy 6 bit của số bị chia để chia tiếp (tương ứng với việc dịch phải số chia 1 bit trước khi thực hiện phép trừ) Kết quả : (11001.1) 2 = (25.5)10 1.5 Mã hóa 1.5.1 Tổng quát Mã hóa là gán một ký hiệu cho một đối tượng để thuận tiện cho việc thực hiện một yêu cầu cụ thể nào đó. Một cách toán học, mã hóa là một phép áp một đối một từ một tập hợp nguồn vào một tập hợp khác gọi là tập hợp đích. (H 1.1) Tập hợp nguồn có thể là tập hợp các số, các ký tự, dấu, các lệnh dùng trong truyền dữ liệu . . . và tập hợp đích thường là tập hợp chứa các tổ hợp thứ tự của các số nhị phân. Một tổ hợp các số nhị phân tương ứng với một số được gọi là từ mã. Tập hợp các từ mã được tạo ra theo một qui luật cho ta một bộ mã. Việc chọn một bộ mã tùy vào mục đích sử dụng. Thí dụ để biểu diễn các chữ và số, người ta có mã ASCII (American Standard Code for Information Interchange), mã Baudot, EBCDIC . . Trong truyền dữ liệu ta có mã dò lỗi, dò và sửa lỗi, mật mã . . Vấn đề ngược lại mã hóa gọi là giải mã. ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  10. ___Chương I : Các Hệ Thống Số I-1 Cách biểu diễn các số trong các hệ khác nhau cũng có thể được xem là một hình thức mã hóa, đó là các mã thập phân, nhị phân, thập lục phân . . . và việc chuyển từ mã này sang mã khác cũng thuộc loại bài toán mã hóa. Trong kỹ thuật số ta thường dùng các mã sau đây: 1.5.2 Mã BCD (Binary Coded Decimal) Mã BCD dùng số nhị phân 4 bit có giá trị tương đương thay thế cho từng số hạng trong số thập phân. Thí dụ: Số 62510 có mã BCD là 0110 0010 0101. Mã BCD dùng rất thuận lợi : mạch điện tử đọc các số BCD và hiển thị ra bằng đèn bảy đoạn (led hoặc LCD) hoàn toàn giống như con người đọc và viết ra số thập phân. 1.5.3 Mã Gray Mã Gray hay còn gọi là mã cách khoảng đơn vị. Nếu quan sát thông tin ra từ một máy đếm đang đếm các sự kiện tăng dần từng đơn vị, ta sẽ được các số nhị phân dần dần thay đổi. Tại thời điểm đang quan sát có thể có những lỗi rất quan trọng. Thí dụ giữa số 7(0111) và 8 (1000), các phần tử nhị phân đều phải thay đổi trong quá trình đếm, nhưng sự giao hoán này không bắt buộc xảy ra đồng thời, ta có thể có các trạng thái liên tiếp sau: 0111 → 0110 → 0100 → 0000 → 1000 Trong một quan sát ngắn các kết quả thấy được khác nhau. Để tránh hiện tượng này, người ta cần mã hóa mỗi số hạng sao cho hai số liên tiếp chỉ khác nhau một phần tử nhị phân (1 bit) gọi là mã cách khoảng đơn vị hay mã Gray. Tính kề nhau của các tổ hợp mã Gray (tức các mã liên tiếp chỉ khác nhau một bit) được dùng rất có hiệu quả để rút gọn hàm logic tới mức tối giản. Ngoài ra, mã Gray còn được gọi là mã phản chiếu (do tính đối xứng của các số hạng trong tập hợp mã, giống như phản chiếu qua gương) Người ta có thể thiết lập mã Gray bằng cách dựa vào tính đối xứng này: - Giả sử ta đã có tập hợp 2n từ mã của số n bit thì có thể suy ra tập hợp 2n+1 từ mã của số (n+1) bit bằng cách: - Viết ra 2n từ mã theo thứ tự từ nhỏ đến lớn - Thêm số 0 vào trước tất cả các từ mã đã có để được một phần của tập hợp từ mã mới - Phần thứ hai của tập hợp gồm các từ mã giống như phần thứ nhất nhưng trình bày theo thứ tự ngược lại (giống như phản chiếu qua gương) và phía trước thêm vào số 1 thay vì số 0 (H 1.2). ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  11. ___Chương I : Các Hệ Thống Số I-1 (H 1.2) Để thiết lập mã Gray của số nhiều bit ta có thể thực hiện các bước liên tiếp từ tập hợp đầu tiên của số một bit (gồm hai bit 0, 1). Dưới đây là các bước tạo mã Gray của số 4 bit. Cột bên phải của bảng mã 4 bit cho giá trị tương đương trong hệ thập phân của mã Gray tương ứng (H 1.3). Trị thập phân tương đương 0 0 0 0 0 00 0 0 → 0 1 0 1 ⎯⎯→ 0 0 0 0 0 1 → 1 ⎯→ 0 1 1 ⏐ 1 1 ⏐ 0 1 0 0 1 1 → 2 bit 1 0 ⏐ 0 1 ⎯⎯→ 0 0 1 0 → 3 ⎯→ 1 0 2 bi ⏐ 1 1 ⏐ 0 1 1 0 → 4 t ⎯⎯→ 1 0 ⏐ 0 1 1 1 → 5 1 1 10 ⏐ 0 1 0 1 → 6 1 1 ⏐ 0 1 0 0 → 7 0 0 3 bi ⏐ 1 1 0 0 → 8 t ⏐ 1 1 0 1 → 9 ⏐ 1 1 1 1 → 10 ⎯⎯→ 1 1 1 0 → 11 10 1 0 → 12 1 0 1 1 → 13 10 0 1 → 14 1 0 0 0 → 15 4 bit (H 1.3) ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  12. ___Chương I : Các Hệ Thống Số I-1 Nhận xét các bảng mã của các số Gray (1 bit, 2 bit, 3 bit và 4 bit) ta thấy các số gần nhau luôn luôn khác nhau một bit, ngoài ra, trong từng bộ mã, các số đối xứng nhau qua gương cũng khác nhau một bit. Bài Tập 1. Đổi các số thập phân dưới đây sang hệ nhị phân và hệ thập lục phân : a/ 12 b/ 24 c/ 192 d/ 2079 e/ 15492 f/ 0,25 g/ 0,375 h/ 0,376 i/ 17,150 j/ 192,1875 2. Đổi sang hệ thập phân và mã BCD các số nhị phân sau đây: a/ 1011 b/ 10110 c/ 101,1 d/ 0,1101 e/ 0,001 f/ 110,01 g/ 1011011 h/ 10101101011 3. Đổi các số thập lục phân dưới đây sang hệ 10 và hệ 8: a/ FF b/ 1A c/ 789 d/ 0,13 e/ ABCD,EF 4. Đổi các số nhị phân dưới đây sang hệ 8 và hệ 16: a/ 111001001,001110001 b/ 10101110001,00011010101 c/ 1010101011001100,1010110010101 d/ 1111011100001,01010111001 5. Mã hóa số thập phân dưới đây dùng mã BCD : a/ 12 b/ 192 c/ 2079 d/15436 e/ 0,375 f/ 17,250 ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
  13. ___Chương 2 Hàm Logic II - 1 " 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: ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  14. ___Chương 2 Hàm Logic II - 2 A B Y=f(A,B) 0 (hở) 0 (hở) 0 (tắt) 0 (hở) 1 (đóng) 0 (tắt) 1 (đóng) 0 (hở) 0 (tắt) 1 (đóng) 1 (đóng) 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 0 0 1 1 1 0 1 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  15. ___Chương 2 Hàm Logic II - 3 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ù) : Y = A Bảng sự thật A Y = A 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 0 0 1 0 1 0 0 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  16. ___Chương 2 Hàm Logic II - 4 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 0 0 1 1 1 0 1 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ừ) Y = A ⊕ B Bảng sự thật A B Y = A ⊕ B 0 0 0 0 1 1 1 0 1 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 YABC= ⊕ ⊕ 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  17. ___Chương 2 Hàm Logic II - 5 - 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ù: AA= A+ A = 1 A.A= 0 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: A+ B + C = A.B.C A.B.C= A + B + C Đị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. ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  18. ___Chương 2 Hàm Logic II - 6 Đị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: Y= A .B + B.C+ A.C Chỉ cần đảo hàm Y hai lần, ta được kết quả: Y =Y = A.B+ B.C+ A.C= A .B.B.C.A.C Nếu dùng hàm OR và NOT để diễn tả hàm trên làm như sau: Y= A.B + B.C+ A.C = A + BBC+ + + A + C 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ụ : f(X,Y,Z)= XY + XZ + YZ ♦ Nếu biểu thức là tích của những tổng, ta có dạng tích Thí dụ : 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, ở dạng nguyên hay dạng đảo của chúng. Thí dụ : f(X, Y, Z)= XYZ + XYZ + XYZ là một tổng chuẩn. Mỗi số hạng của tổng chuẩn được gọi là minterm. 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 đượ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 : ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  19. ___Chương 2 Hàm Logic II - 7 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 0 0 0 0 1 0 0 1 1 2 0 1 0 1 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 1 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. ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  20. ___Chương 2 Hàm Logic II - 8 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  21. ___Chương 2 Hàm Logic II - 9 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 0 0 0 0 1 0 0 1 1 2 0 1 0 1 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 1 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  22. ___Chương 2 Hàm Logic II - 10 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ả Z theo dạng tổng chuẩn: Z =A BC +A BC + A BC Lấy đảo hai vế: Z =A BC +A BC +A BC = A BC.A BC.A BC 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: Z= (A + B + C).(A + B + C).(A + B + C) Diễn tả Z theo dạng tích chuẩn: Z=++ (A B C)(A ++ B C)(A ++ B C)(A ++ B C)(A ++ B C) Lấy đảo hai vế: Z=++ (A B C)(A ++ B C)(A ++ B C)(A ++ B C)(A ++ B C) Z =A +BC + +A +BC + + A + BC+ + A + BC+ + A + BC+ =A BC +ABC +ABC + A BC+ A BC 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  23. ___Chương 2 Hàm Logic II - 11 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 + A B = B (A+B).( A +B) = B (1’) (2) A + AB = A A.(A+B) = A (2’) (3) A + A B = A + B A.( A +B) = A.B (3’) Chứng minh các đẳng thức 1, 2, 3: (1) AB + A B = B(A+ A ) = B.1 = B (2) A + AB = A(1+B) = A (3) A + A B = (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 + A BC + A B C + AB C Thêm ABC vào để được: (ABC + A BC) + (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 + A BC + 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  24. ___Chương 2 Hàm Logic II - 12 - 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: f(A, B,C)= Σ (0,1) = A.B.C + A.B.C = A.B = A + B 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) ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  25. ___Chương 2 Hàm Logic II - 13 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): ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  26. ___Chương 2 Hàm Logic II - 14 (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) ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  27. ___Chương 2 Hàm Logic II - 15 0 0 0 0 0 1 0 0 1 1 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 0 7 1 1 1 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  28. ___Chương 2 Hàm Logic II - 16 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 A B 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 . 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 A B và A B, 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à: A C. (H 2.9) - 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 A B, 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à: A B. Và hàm Y rút gọn là: Y = B C D + A C + A B 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 = A B + 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) ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  29. ___Chương 2 Hàm Logic II - 17 (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 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 0 7 0 1 1 1 0 8 1 0 0 0 0 9 1 0 0 1 0 10→15 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). ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  30. ___Chương 2 Hàm Logic II - 18 (H 2.13) nhóm (1) cho : CE ; (2) cho : BCE ; (3) cho : BDE Vậy f(A,B,C,D,E) = CE + BCE + BDE 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: A B cho các số (0-15) ; A B cho các số (16-31) ; AB cho các số (48-63) và A B cho các số (32-47). (H 2.14) Kết quả: (1) cho CE ; (2) ACDF + BCDF ; (3) A BCE; (4) ABDEF ; (5) ABCF Vậy: f(A,B,C,D,E,F) = CE + A BCE+ ABCF + ACDF + BCDF + ABDEF ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  31. ___Chương 2 Hàm Logic II - 19 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 0 0 0 1 x 2 0 0 1 0 x 4 0 1 0 0 x 5 0 1 0 1 x 6 0 1 1 0 x 10 1 0 1 0 x 12 1 1 0 0 x 13 1 1 0 1 x 14 1 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 + A B = 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  32. ___Chương 2 Hàm Logic II - 20 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 - - 1 0 2,10 ; 6,14 - - 1 0 4,5 ; 12,13 - 1 0 - 4,6 ; 12,14 - 1 - 0 4,12 ; 5,13 - 1 0 - 4,12 ; 6,14 - 1 - 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à A C D 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à C D , (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 C D + C D + B C + B D Đế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. ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  33. ___Chương 2 Hàm Logic II - 21 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 A C D + C D + 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 B D ): f(A,B,C,D) = A C D + C D + B C 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 0 1 0 0 x 8 0 0 1 0 x 3 0 0 1 1 x 6 0 1 1 0 x 12 1 1 0 0 x 7 0 1 1 1 x 11 1 0 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  34. ___Chương 2 Hàm Logic II - 22 Bảng 3: A B C D 3,7 ; 11,15 - - 1 1 3,11 ; 7,15 - - 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+ A B D + B C D + A C D + A BC ♣ 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à A C 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 B D ) 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 B D + A C 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 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  35. ___Chương 2 Hàm Logic II - 23 b. Rút gọn hàm F Bảng Karnaugh F(A,B.C)= A BC + ABC + A BC 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: F(A,B.C)= F(A,B.C)= A BC + ABC + A BC = A BCABC A BC 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: F(A,B,C,D)= ABC +ABD +ACD + BCD = A +BC + + A + BD+ + A + CDBCD+ + + + 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 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  36. ___Chương 2 Hàm Logic II - 24 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/ A.B + A B. = A.B+ A .B b/ A.B+ A.C = (A + C)(A + B) c/ A.C + B.C = A.C+ B.C d/ (A+ B)(A + C)(B + C) = (A + B)(A + C) e/ (A+ C)(B + C) = (A + C)(B + C) 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.C + A.B.C+ A .B.C+ A .B.C 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) ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  37. ___Chương 2 Hàm Logic II - 25 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. ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  38. ___Chương 7 Bộ nhớ bán dẫn VII - 1  CHƯƠNG 7: BỘ NHỚ BÁN DẪN – THUẬT NGỮ – ĐẠI CƯƠNG VỀ VẬN HÀNH CỦA BỘ NHỚ y Các tác vụ và các nhóm chân của IC nhớ y Giao tiếp với CPU – CÁC LOẠI BỘ NHỚ BÁN DẪN y ROM y PLD y RAM – MỞ RỘNG BỘ NHỚ y Mở rộng độ dài từ y Mở rộng vị trí nhớ y Mở rộng dung lượng nhớ ___ Tính ưu việt chủ yếu của các hệ thống số so với hệ thống tương tự là khả năng lưu trữ một lượng lớn thông tin số và dữ liệu trong những khoảng thời gian nhất định. Khả năng nhớ này là điều làm cho hệ thống số trở thành đa năng và có thể thích hợp với nhiều tình huống. Thí dụ trong một máy tính số, bộ nhớ trong chứa những lệnh mà theo đó máy tính có thể hoàn tất công việc của mình với sự tham gia ít nhất của con người. Bộ nhớ bán dẫn được sử dụng làm bộ nhớ chính trong các máy tính nhờ vào khả năng thỏa mãn tốc độ truy xuất dữ liệu của bộ xử lý trung tâm (CPU). Chúng ta đã quá quen thuộc với Fliflop, một linh kiện điện tử có tính nhớ. Chúng ta cũng đã thấy một nhóm các FF họp thành thanh ghi để lưu trữ và dịch chuyển thông tin như thế nào. Các FF chính là các phần tử nhớ tốc độ cao được dùng rất nhiều trong việc điều hành bên trong máy tính, nơi mà dữ liệu dịch chuyển liên tục từ nơi này đến nơi khác. Tiến bộ trong công nghệ chế tạo LSI và VLSI cho phép kết hợp một lượng lớn FF trong một chip tạo thành các bộ nhớ với các dạng khác nhau. Những bộ nhớ bán dẫn với công nghệ chế tạo transistor lưỡng cực (BJT) và MOS là những bộ nhớ nhanh nhất và giá thành của nó liên tục giảm khi các công nghệ LSI và VLSI ngày càng được cải tiến. Dữ liệu số cũng có thể được lưu trữ dưới dạng điện tích của tụ điện, và một loại phần tử nhớ bán dẫn rất quan trọng đã dùng nguyên tắc này để lưu trữ dữ liệu với mật độ cao nhưng tiêu thụ một nguồn điện năng rất thấp. Bộ nhớ bán dẫn được dùng như là bộ nhớ trong chính của máy tính, nơi mà việc vận hành nhanh được xem như ưu tiên hàng đầu và cũng là nơi mà tất cả dữ liệu của chương trình lưu chuyển liên tục trong quá trình thực hiện một tác vụ do CPU yêu cầu. Mặc dù bộ nhớ bán dẫn có tốc độ làm việc cao, rất phù hợp cho bộ nhớ trong, nhưng giá thành tính trên mỗi bit lưu trữ cao khiến cho nó không thể là loại thiết bị có tính chất lưu trữ khối (mass storage), là loại thiết bị có khả năng lưu trữ hàng tỉ bit mà không cần cung cấp năng lượng và được dùng như là bộ nhớ ngoài (đĩa từ , băng từ , CD ROM . . .). Tốc độ xử lý dữ liệu ở bộ nhớ ngoài tương đối chậm nên khi máy tính làm việc thì dữ liệu từ bộ nhớ ngoài được chuyển vào bộ nhớ trong. Băng từ và đĩa từ là các thiết bị lưu trữ khối mà giá thành tính trên mỗi bit tương đối thấp. Một loại bộ nhớ khối mới hơn là bộ nhớ bọt từ (magnetic bubble memory, MBM) là bộ nhớ điện tử dựa trên nguyên tắc từ có khả năng lưu trữ hàng triệu bit trong một chip. Với tốc độ tương đối chậm nó không được dùng như bộ nhớ trong. Chương này nghiên cứu cấu tạo và tổ chức của các bộ nhớ bán dẫn. ___Nguyễn Trung Lập KỸ THUẬT SỐ
  39. ___Chương 7 Bộ nhớ bán dẫn VII - 2 7.1 Thuật ngữ liên quan đến bộ nhớ Để tìm hiểu cấu tạo, hoạt động của bộ nhớ chúng ta bắt đầu với một số thuật ngữ liên quan đến bộ nhớ - Tế bào nhớ: là linh kiện hay một mạch điện tử dùng để lưu trữ một bit đơn (0 hay 1). Thí dụ của một tế bào nhớ bao gồm: mạch FF, tụ được tích điện, một điểm trên băng từ hay đĩa từ. . . . - Từ nhớ : là một nhóm các bit (tế bào) trong bộ nhớ dùng biểu diễn các lệnh hay dữ liệu dưới dạng một số nhị phân. Thí dụ một thanh ghi 8 FF là một phần tử nhớ lưu trữ từ 8 bit. Kích thước của từ nhớ trong các máy tính hiện đại có chiều dài từ 4 đến 64 bit. - Byte : từ 8 bit, đây là kích thước thường dùng của từ nhớ trong các máy vi tính. - Dung lượng : chỉ số lượng bit có thể lưu trữ trong bộ nhớ. Thí dụ bộ nhớ có khả năng lưu trữ 4.096 từ nhớ 20 bit, dung lượng của nó là 4096 x 20, mỗi 1024 (=210) từ nhớ được gọi là “1K”, như vậy 4096 x 20 = 4K x 20. Với dung lượng lớn hơn ta dùng “1M” hay 1meg để chỉ 220 = 1.048.576 từ nhớ. - Địa chỉ : là số nhị phân dùng xác định vị trí của từ nhớ trong bộ nhớ. Mỗi từ nhớ được lưu trong bộ nhớ tại một địa chỉ duy nhất. Địa chỉ luôn luôn được biểu diễn bởi số nhị phân, tuy nhiên để thuận tiện người ta có thể dùng số hex hay thập phân, bát phân - Tác vụ đọc : (Read, còn gọi là fetch ), một từ nhớ tại một vị trí nào đó trong bộ nhớ được truy xuất và chuyển sang một thiết bị khác. - Tác vụ viết : (ghi, Write, còn gọi là store ), một từ mới được đặt vào một vị trí trong bộ nhớ, khi một từ mới được viết vào thì từ cũ mất đi. - Thời gian truy xuất (access time) : số đo tốc độ hoạt động của bộ nhớ, ký hiệu tACC Đó là thời gian cần để hoàn tất một tác vụ đọc. Chính xác đó là thời gian từ khi bộ nhớ nhận một địa chỉ mới cho tới lúc dữ liệu khả dụng ở ngã ra bộ nhớ - Bộ nhớ không vĩnh cữu (volatile) : Bộ nhớ cần nguồn điện để lưu trữ thông tin. Khi ngắt điện, thông tin lưu trữ bị mất. Hầu hết bộ nhớ bán dẫn là loại không vĩnh cữu, trong khi bộ nhớ từ là loại vĩnh cữu (nonvolatile). - Bộ nhớ truy xuất ngẫu nhiên (Random-Access Memory, RAM) : Khi cần truy xuất một địa chỉ ta tới ngay địa chỉ đó. Vậy thời gian đọc hay viết dữ liệu vào các vị trí nhớ khác nhau trong bộ nhớ không tùy thuộc vào vị trí nhớ. Nói cách khác, thời gian truy xuất như nhau đối với mọi vị trí nhớ. Hầu hết bộ nhớ bán dẫn và nhẫn từ (bộ nhớ trong của máy tính trước khi bộ nhớ bán dẫn ra đời) là loại truy xuất ngẫu nhiên. - Bộ nhớ truy xuất tuần tự (Sequential-Access Memory, SAM) : Khi cần truy xuất một địa chỉ ta phải lướt qua các địa chỉ trước nó. Như vậy thời gian đọc và viết dữ liệu ở những vị trí khác nhau thì khác nhau. Những thí dụ của bộ nhớ này là băng từ, đĩa từ. Tốc độ làm việc của loại bộ nhớ này thường chậm so với bộ nhớ truy xuất ngẫu nhiên. - Bộ nhớ đọc/viết (Read/Write Memory, RWM) : Bộ nhớ có thể viết vào và đọc ra. - Bộ nhớ chỉ đọc (Read-Only Memory, ROM): là bộ nhớ mà tỉ lệ tác vụ đọc trên tác vụ ghi rất lớn. Về mặt kỹ thuật, một ROM có thể được ghi chỉ một lần ở nơi sản xuất và sau đó thông tin chỉ có thể được đọc ra từ bộ nhớ. Có loại ROM có thể được ghi nhiều lần nhưng tác vụ ghi khá phức tạp hơn là tác vụ đọc. ROM thuộc loại bộ nhớ vĩnh cữu và dữ liệu được lưu giữ khi đã cắt nguồn điện. - Bộ nhớ tĩnh (Static Memory Devices) : là bộ nhớ bán dẫn trong đó dữ liệu đã lưu trữ được duy trì cho đến khi nào còn nguồn nuôi. - Bộ nhớ động (Dynamic Memory Devices) : là bộ nhớ bán dẫn trong đó dữ liệu đã lưu trữ muốn tồn tại phải được ghi lại theo chu kỳ. Tác vụ ghi lại được gọi là làm tươi (refresh). - Bộ nhớ trong (Internal Memory) : Chỉ bộ nhớ chính của máy tính. Nó lưu trữ các lệnh và dữ liệu mà CPU dùng thường xuyên khi hoạt động. ___Nguyễn Trung Lập KỸ THUẬT SỐ
  40. ___Chương 7 Bộ nhớ bán dẫn VII - 3 - Bộ nhớ khối (Mass Memory): Còn gọi là bộ nhớ phụ, nó chứa một lượng thông tin rất lớn ở bên ngoài máy tính. Tốc độ truy xuất trên bộ nhớ này thường chậm và nó thuộc loại vĩnh cữu. 7.2 Đại cương về vận hành của bộ nhớ 7.2.1 Các tác vụ và các nhóm chân của một IC nhớ Mặc dù mỗi loại bộ nhớ có hoạt động bên trong khác nhau, nhưng chúng có chung một số nguyên tắc vận hành mà chúng ta có thể tìm hiểu sơ lược trước khi đi vào nghiên cứu từng loại bộ nhớ. Mỗi hệ thống nhớ luôn có một số yêu cầu ở các ngã vào và ra để hoàn thành một số tác vụ: - Chọn địa chỉ trong bộ nhớ để truy xuất (đọc hoặc viết) - Chọn tác vụ đọc hoặc viết để thực hiện - Cung cấp dữ liệu để lưu vào bộ nhớ trong tác vụ viết - Gửi dữ liệu ra từ bộ nhớ trong tác vụ đọc - Cho phép (Enable) (hay Không, Disable) bộ nhớ đáp ứng (hay không) đối với lệnh đọc/ghi ở địa chỉ đã gọi đến. Từ các tác vụ kể trên, ta có thể hình dung mỗi IC nhớ có một số ngã vào ra như sau: - Ngã vào địa chỉ : mỗi vị trí nhớ xác định bởi một địa chỉ duy nhất, khi cần đọc dữ liệu ra hoặc ghi dữ liệu vào ta phải tác động vào chân địa chỉ của vị trí nhớ đó. Một IC có n n chân địa chỉ sẽ có 2 vị trí nhớ. Ký hiệu các chân địa chỉ là A0 đến An-1 Một IC có 10 chân địa chỉ sẽ có 1024 (1K) vị trí nhơ. - Ngã vào/ra dữ liệu: Các chân dữ liệu là các ngã vào/ra, nghĩa là dữ liệu luôn được xử lý theo hai chiều. Thường thì dữ liệu vào/ra chung trên một chân nên các ngã này thuộc loại ngã ra 3 trạng thái. Số chân địa chỉ và dữ liệu của một IC xác định dung lượng nhớ của IC đó. Thí dụ một IC nhớ có 10 chân địa chỉ và 8 chân dữ liệu thì dung lượng nhớ của IC đó là 1Kx8 (8K bit hoặc 1K Byte). - Các ngã vào điều khiển: Mỗi khi IC nhớ được chọn hoặc có yêu cầu xuất nhập dữ liệu các chân tương ứng sẽ được tác động. Ta có thể kể ra một số ngã vào điều khiển: * CS: Chip select - Chọn chip - Khi chân này xuống thấp IC được chọn * CE: Chip Enable - Cho phép chip - Chức năng như chân CS * OE: Output Enable - Cho phép xuất - Dùng khi đọc dữ liệu * R/ W : Read/Write - Đọc/Viết - Cho phép Đọc dữ liệu ra khi ở mức cao và Ghi dữ liệu vào khi ở mức thấp * CAS : Column Address Strobe - Chốt địa chỉ cột * RAS: Row Address Strobe - Chốt địa chỉ hàng. Trong trường hợp chip nhớ có dung lượng lớn, để giảm kích thước của mạch giải mã địa chỉ bên trong IC, người ta chia số chân ra làm 2: địa chỉ hàng và địa chỉ cột. Như vậy phải dùng 2 mạch giải mã địa chỉ nhưng mỗi mạch nhỏ hơn rất nhiều. Thí dụ với 10 chân địa chỉ, thay vì dùng 1 mạch giải mã 10 đường sang 1024 đường, người ta dùng 2 mạch giải mã 5 đường sang 32 đường, hai mạch này rất đơn giản so với một mạch kia. Một vị trí nhớ bây giờ có 2 địa chỉ : hàng và cột, dĩ nhiên muốn truy xuất một vị trí nhớ phải có đủ 2 địa chỉ nhờ 2 tín hiệu RAS và CAS . (H 7.1) cho thấy cách vẽ các nhóm chân của IC nhớ (m chân địa chỉ và n chân dữ liệu). (H 7.1b) và (H 7.1c) vẽ các chân địa chỉ và dữ liệu dưới dạng các Bus. (H 7.1b) được dùng trong các sơ đồ chi tiết và (H 7.1c) được dùng trong các sơ đồ khối. ___Nguyễn Trung Lập KỸ THUẬT SỐ
  41. ___Chương 7 Bộ nhớ bán dẫn VII - 4 (a) (b) (c) (H 7.1) 7.2.2 Giao tiếp giữa IC nhớ và bộ xử lý trung tâm (CPU) Trong hệ thống mọi hoạt động có liên quan đến IC nhớ đều do bộ xử lý trung tâm (Central Processing Unit, CPU) quản lý. Giao tiếp giữa IC nhớ và CPU mô tả ở (H 7.2) (H 7.2) Một tác vụ có liên quan đến bộ nhớ được CPU thực hiện theo các bước: - Đặt địa chỉ quan hệ lên bus địa chỉ. - Đặt tín hiệu điều khiển lên bus điều khiển. - Dữ liệu khả dụng xuất hiện trên bus dữ liệu, sẵn sàng để ghi vào hoặc đọc ra. Để hoạt động của IC đồng bộ, các bước trên phải tuân thủ giản đồ thời gian của từng IC nhớ (sẽ đề cập đến khi xét các loại bộ nhớ) 7.3 Các loại bộ nhớ bán dẫn Có 3 loại bộ nhớ bán dẫn : - Bộ nhớ bán dẫn chỉ đọc : (Read Only Memory, ROM) - Bộ nhớ truy xuất ngẫu nhiên : (Random Access Memory, RAM) Thật ra ROM và RAM đều là loại bộ nhớ truy xuất ngẫu nhiên, nhưng RAM được giữ tên gọi này. Để phân biệt chính xác ROM và RAM ta có thể gọi ROM là bộ nhớ chết (nonvolatile, vĩnh cữu) và RAM là bộ nhớ sống (volatile, không vĩnh cữu) hoặc nếu coi ROM là bộ nhớ chỉ đọc thì RAM là bộ nhớ đọc được - viết được (Read-Write Memory) - Thiết bị logic lập trình được : (Programmable Logic Devices, PLD) có thể nói điểm khác biệt giữa PLD với ROM và RAM là qui mô tích hợp của PLD thường không lớn như ROM và RAM và các tác vụ của PLD thì có phần hạn chế. 7.3.1 ROM (Read Only Memory) Mặc dù có tên gọi như thế nhưng chúng ta phải hiểu là khi sử dụng ROM, tác vụ đọc được thực hiện rất nhiều lần so với tác vụ ghi. Thậm chí có loại ROM chỉ ghi một lần khi xuất xưởng. Các tế bào nhớ hoặc từ nhớ trong ROM sắp xếp theo dạng ma trận mà mỗi phần tử chiếm một vị trí xác định bởi một địa chỉ cụ thể và nối với ngã ra một mạch giải mã địa chỉ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  42. ___Chương 7 Bộ nhớ bán dẫn VII - 5 bên trong IC. Nếu mỗi vị trí chứa một tế bào nhớ ta nói ROM có tổ chức bit và mỗi vị trí là một từ nhớ ta có tổ chức từ. Ngoài ra, để giảm mức độ cồng kềnh của mạch giải mã, mỗi vị trí nhớ có thể được xác định bởi 2 đường địa chỉ : đường địa chỉ hàng và đường địa chỉ cột và trong bộ nhớ có 2 mạch giải mã nhưng mỗi mạch có số ngã vào bằng 1/2 số đường địa chỉ của cả bộ nhớ. 7.3.1.1 ROM mặt nạ (Mask Programmed ROM, MROM) Đây là loại ROM được chế tạo để thực hiện một công việc cụ thể như các bảng tính, bảng lượng giác , bảng logarit . . . . ngay sau khi xuất xưởng. Nói cách khác, các tế bào nhớ trong ma trận nhớ đã được tạo ra theo một chương trình đã xác định trước bằng phương pháp mặt nạ: đưa vào các linh kiện điện tử nối từ đường từ qua đường bít để tạo ra một giá trị bit và để trống cho giá trị bit ngược lại. - (H 7.3) là mô hình của một MROM trong đó các ô vuông là nơi chứa (hay không) một linh kiện (diod, transistor BJT hay MOSFET) để tạo bit. Mỗi ngã ra của mạch giải mã địa chỉ gọi là đường từ và đường nối tế bào nhớ ra ngoài gọi là đường bit. Khi đường từ lên mức cao thì tế bào nhớ hoặc từ nhớ được chọn. (H 7.3) Nếu tế bào nhớ là Diod hoặc BJT thì sự hiện diện của linh kiện tương ứng với bit 1 (lúc này đường từ lên cao, Transsisstor hoặc diod dẫn, dòng điện qua điện trở tạo điện thế cao ở hai đầu điện trở) còn vị trí nhớ trống tương ứng với bit 0. Đối với loại linh kiện MOSFET thì ngược lại, nghĩa là sự hiện diện của linh kiện tương ứng với bit 0 còn vị trí nhớ trống tương ứng với bit 1 (muốn có kết quả như loại BJT thì thêm ở ngã ra các cổng đảo). (H 7.4) là một thí dụ bộ nhớ MROM có dung lượng 16x1 với các mạch giải mã hàng và cột (các mạch giải mã 2 đường sang 4 đường của hàng và cột đều dùng Transistor MOS và có cùng cấu trúc). ___Nguyễn Trung Lập KỸ THUẬT SỐ
  43. ___Chương 7 Bộ nhớ bán dẫn VII - 6 (H 7.4) Trong thực tế, để đơn giản cho việc thực hiện, ở mỗi vị trí nhớ người ta đều cho vào một transistor MOS. Nhưng ở những vị trí ứng với bit 1 các transistor MOS được chế tạo với lớp SiO2 dầy hơn làm tăng điện thế ngưỡng của nó lên, kết quả là transistor MOS này luôn luôn không dẫn điện (H 7.5), Các transistor khác dẫn điện bình thường. (H 7.5) 7.3.1.2 ROM lập trình được (Programmable ROM, PROM) Có cấu tạo giống MROM nhưng ở mỗi vị trí nhớ đều có linh kiện nối với cầu chì. Như vậy khi xuất xưởng các ROM này đều chứa cùng một loại bit (gọi là ROM trắng), lúc sử dụng người lập trình thay đổi các bit mong muốn bằng cách phá vỡ cầu chì ở các vị trí tương ứng với bit đó. Một khi cầu chì đã bị phá vỡ thì không thể nối lại được do đó loại ROM này cho phép lập trình một lần duy nhất để sử dụng, nếu bị lỗi không thể sửa chữa được (H 7.6). (H 7.6) Người ta có thể dùng 2 diod mắc ngược chiều nhau, mạch không dẫn điện, để tạo bit 0, khi lập trình thì một diod bị phá hỏng tạo mạch nối tắt, diod còn lại dẫn điện cho bit 1 ___Nguyễn Trung Lập KỸ THUẬT SỐ
  44. ___Chương 7 Bộ nhớ bán dẫn VII - 7 7.3.1.3 ROM lập trình được, xóa được bằng tia U.V. (Ultra Violet Erasable Programmable ROM, U.V. EPROM) Đây là loại ROM rất tiện cho người sử dụng vì có thể dùng được nhiều lần bằng cách xóa và nạp lại. Cấu tạo của tế bào nhớ của U.V. EPROM dựa vào một transistor MOS có cấu tạo đặc biệt gọi là FAMOS (Floating Gate Avalanche Injection MOS) (H 7.7) Trên nền chất bán dẫn N pha loãng, tạo 2 vùng P pha đậm (P+) nối ra ngoài cho 2 cực S (Source) và D (Drain). Trong lớp cách điện SiO2 giữa 2 cực người ta cho vào một thỏi Silicon không nối với bên ngoài và được gọi là cổng nổi. Khi nguồn VDD, phân cực ngược giữa cực nền và Drain còn nhỏ, transistor không dẫn, nhưng nếu tăng VDD đủ lớn, hiện tượng thác đổ (avalanche) xảy ra, electron đủ năng lượng chui qua lớp cách điện tới bám vào cổng nổi. Do hiện tượng cảm ứng, một điện lộ P hình thành nối hai vùng bán dẫn P+ , transistor trở nên dẫn điện. Khi cắt nguồn, transistor tiếp tục dẫn điện vì electron không thể trở về để tái hợp với lỗ trống. Để xóa EPROM, người ta chiếu tia U.V. vào các tế bào trong một khoảng thời gian xác định để electron trên cổng nổi nhận đủ năng lượng vượt qua lớp cách điện trở về vùng nền tái hợp với lỗ trống xóa điện lộ P và transistor trở về trạng thái không dẫn ban đầu. (H 7.8) Mỗi tế bào nhớ EPROM gồm một transistor FAMOS nối tiếp với một transistor MOS khác mà ta gọi là transistor chọn, như vậy vai trò của FAMOS giống như là một cầu chì nhưng có thể phục hồi được. Để loại bỏ transistor chọn người ta dùng transistor SAMOS (Stacked Gate Avalanche Injection MOS) có cấu tạo tương tự transistor MOS nhưng có đến 2 cổng nằm chồng lên nhau, một được nối ra cực Gate và một để nổi. Khi cổng nổi tích điện sẽ làm gia tăng điện thế thềm khiến transistor trở nên khó dẫn điện hơn. Như vậy nếu ta chọn điện thế Vc ở khoảng giữa VT1 và VT2 là 2 giá trị điện thế thềm tương ứng với 2 trạng thái của transistor (VT1<Vc<VT2) thì các transistor không được lập trình (không có lớp electron ở cổng nổi) sẽ dẫn còn các transistor được lập trình sẽ không dẫn. ___Nguyễn Trung Lập KỸ THUẬT SỐ
  45. ___Chương 7 Bộ nhớ bán dẫn VII - 8 (H 7.9) Điểm bất tiện của U.V EPROM là cần thiết bị xóa đặc biệt phát tia U.V. và mỗi lần xóa tất cả tế bào nhớ trong một IC nhớ đều bị xóa. Như vậy người sử dụng phải nạp lại toàn bộ chương trình 7.3.1.4 ROM lập trình được và xóa được bằng xung điện (Electrically Erasable PROM, EEPROM hay Electrically Alterable PROM, EAPROM) Đây là loại ROM lập trình được và xóa được nhờ xung điện và đặc biệt là có thể xóa để sửa trên từng byte. Các tế bào nhớ EEPROM sử dụng transistor MNOS (Metal Nitride Oxide Semiconductor) có cấu tạo như (H 7.10). (H 7.10) Giữa lớp kim loại nối ra các cực và lớp SiO2 là một lớp mỏng chất Nitrua Silic (Si3N4) - từ 40nm đến 650nm - Dữ liệu được nạp bằng cách áp một điện thế dương giữa cực G và S (khoảng 20 đến 25V trong 100ms). Do sự khác biệt về độ dẫn điện, electron tích trên bề mặt giữa 2 lớp SiO2 và Si3N4 , các electron này tồn tại khi đã ngắt nguồn và làm thay đổi trạng thái dẫn điện của transistor. Bây giờ nếu áp một điện thế âm giữa cực G và S ta sẽ được một lớp điện tích trái dấu với trường hợp trước. Như vậy hai trạng thái khác nhau của Transistor có thể thiêt lập được bởi hai điện thế ngược chiều nhau và như vậy các tế bào nhớ được ghi và xóa với 2 xung điện trái dấu nhau. 7.3.1.5 FLASH ROM EPROM là loại nonvolatile, có tốc độ truy xuất nhanh (khoảng 120ns), mật độ tích hợp cao, giá thành rẻ tuy nhiên để xóa và nạp lại phải dùng thiết bị đặc biệt và lấy ra khỏi mạch. EEPROM cũng nonvolatile, cũng có tốc độ truy xuất nhanh, cho phép xóa và nạp lại ngay trong mạch trên từng byte nhưng có mật độ tích hợp thấp và giá thành cao hơn EPROM. Bộ nhớ FLASH ROM tận dụng được các ưu điểm của hai loại ROM nói trên, nghĩa là có tốc độ truy xuất nhanh, có mật độ tích hợp cao nhưng giá thành thấp. Hầu hết các FLASH ROM sử dụng cách xóa đồng thời cả khối dữ liệu nhưng rất nhanh (hàng trăm ms so với 20 min của U.V. EPROM). Những FLASH ROM thế hệ mới cho phép xóa từng sector (512 byte) thậm chí từng vị trí nhớ mà không cần lấy IC ra khỏi mạch. FLASH ROM có thời gian ghi khoảng 10μs/byte so với 100 μs đối với EPROM và 5 ms đối với EEPROM ___Nguyễn Trung Lập KỸ THUẬT SỐ
  46. ___Chương 7 Bộ nhớ bán dẫn VII - 9 7.3.1.6 Giản đồ thời gian của ROM Ngoại trừ MROM chỉ dùng ở chế độ đọc, các loại ROM khác đều sử dụng ở hai chế độ đọc và nạp chương trình. Như vậy ta có hai loại giản đồ thời gian: Giản đồ thời gian đọc và giản đồ thời gian nạp trình. (H 7.11) là giản đồ thời gian tiêu biểu cho một chu kỳ đọc của ROM. Các giá trị địa chỉ, các tín hiệu R/ W và CS được cấp từ CPU khi cần thực hiện tác vụ đọc dữ liệu tại một địa chỉ nào đó. Thời gian để thực hiện một tác vụ đọc gọi là chu kỳ đọc tRC. Trong một chu kỳ đọc có thể kể một số thời gian sau: (H 7.11) - tACC: Address Access time: Thời gian truy xuất địa chỉ: Thời gian tối đa từ lúc CPU đặt địa chỉ lên bus địa chỉ đến lúc dữ liệu có giá trị trên bus dữ liệu. Đối với ROM dùng BJT thời gian này khoảng từ 30 ns đến 90 ns, còn loại MOS thì từ 200 ns đến 900 ns. - tACS (tACE): Chip select (enable) access time: Thời gian thâm nhập chọn chip: Thời gian tối đa từ lúc tín hiệu CS được đặt lên bus điều khiển đến lúc dữ liệu có giá trị trên bus dữ liệu. ROM BJT khoảng 20 ns , MOS 100 ns - tH (Hold time): Thời gian dữ liệu còn tồn tại trên bus dữ liệu kê từ lúc tín hiệu CS hết hiệu lực (H 7.12) là giản đồ thời gian của một chu kỳ nạp dữ liệu cho EPROM. Một chu kỳ nạp liệu bao gồm thời gian nạp (Programmed) và thời gian kiểm tra kết quả (Verify) (H 7.12) 7.3.2 Thiết bị logic lập trình được (Programmable logic devices, PLD) Là tên gọi chung các thiết bị có tính chất nhớ và có thể lập trình để thực hiện một công việc cụ thể nào đó Trong công việc thiết kế các hệ thống, đôi khi người ta cần một số mạch tổ hợp để thực hiện một hàm logic nào đó. Việc sử dụng mạch này có thể lặp lại thường xuyên và sự thay đổi một tham số của hàm có thể phải được thực hiện để thỏa mãn yêu cầu của việc thiết kế. Nếu phải thiết kế từ các cổng logic cơ bản thì mạch sẽ rất cồng kềnh, tốn kém mạch in, ___Nguyễn Trung Lập KỸ THUẬT SỐ
  47. ___Chương 7 Bộ nhớ bán dẫn VII - 10 dây nối nhiều, kết quả là độ tin cậy không cao. Như vậy, sẽ rất tiện lợi nếu các mạch này được chế tạo sẵn và người sử dụng có thể chỉ tác động vào để làm thay đổi một phần nào chức năng của mạch bằng cách lập trình. Đó là ý tưởng cơ sở cho sự ra đời của thiết bị logic lập trình được. Các thiết bị này có thể được xếp loại như bộ nhớ và gồm các loại: PROM, PAL (Programmable Array Logic) và PLA (Programmable Logic Array). Trước nhất, chúng ta xét qua một số qui ước trong cách biểu diễn các phần tử của PLD Một biến trong các hàm thường xuất hiện ở dạng nguyên và đảo của nó nên chúng ta dùng ký hiêu đệm và đảo chung trong một cổng có 2 ngã ra. Một nối chết, còn gọi là nối cứng (không thay đổi được) được vẽ bởi một chấm đậm (.) và một nối sống, còn gọi là nối mềm (dùng lập trình) bởi một dấu (x). Nối sống thực chất là một cầu chì, khi lập trình thì được phá bỏ. Một cổng nhiều ngã vào thay thế bởi một ngã vào duy nhất với nhiều mối nối (H 7.13). (H 7.13) Chúng ta chỉ lấy thí dụ với mạch tương đối đơn giản để thấy được cấu tạo của các PLD, đó là các PLD chỉ thực hiện được 4 hàm mỗi hàm gồm 4 biến, như vậy mạch gồm 4 ngã vào và 4 ngã ra. Trên thực tế số hàm và biến của một PLD rất lớn. 7.3.2.1 PROM (H 7.14 ) là cấu tạo PROM có 4 ngã vào và 4 ngã ra. Có tất cả 16 cổng AND có 4 ngã vào được nối chết với các ngã ra đảo và không đảo của các biến vào, ngã ra các cổng AND là 16 tổ hợp của 4 biến (Gọi là đường tích) Các cổng OR có 16 ngã vào được nối sống để thực hiện hàm tổng (đường tổng). Như vậy với PROM việc lập trình thực hiện ở các đường tổng. Thí dụ dùng PROM này để tạo các hàm sau: O1 = A + DB + DC O2 = DCBA + DCBA O3 = CBA O4 = BA + DC Ta phải chuẩn hóa các hàm chưa chuẩn O 1 =++++++++++DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA O3 = CBA =DD CBA + CBA O4 = BA + DC = DCBA + DCBA + DCBA +DCBA + DCBA + DCBA + DCBA Mạch cho ở (H 7.14b) ___Nguyễn Trung Lập KỸ THUẬT SỐ
  48. ___Chương 7 Bộ nhớ bán dẫn VII - 11 (a) (b) (H 7.14) 7.3.2.2 PAL Mạch tương tự với IC PROM, PAL có các cổng AND 8 ngã vào được nối sống và 4 cổng OR mỗi cổng có 4 ngã vào nối chết với 4 đường tích. Như vậy việc lập trình được thực hiện trên các đường tích (H 7.15b) là IC PAL đã được lập trình để thực hiện các hàm trong thí dụ trên: O1 = A + DB + DC O2 = DCBA + DCBA O3 = CBA O4 = BA + DC (a) (b) (H 7.15) ___Nguyễn Trung Lập KỸ THUẬT SỐ
  49. ___Chương 7 Bộ nhớ bán dẫn VII - 12 7.3.2.3 PLA PLA có cấu tạo tương tự PROM và PAL, nhưng các ngã vào của cổng AND và cổng OR đều được nối sống (H 7.16). Như vậy khả năng lập trình của PLA bao gồm cả hai cách lập trình của 2 loại IC kể trên. (H 7.16) 7.3.3 RAM (Random Acess Memory) Có hai loại RAM : RAM tĩnh và RAM động RAM tĩnh cấu tạo bởi các tế bào nhớ là các FF, RAM động lợi dụng các điện dung ký sinh giữa các cực của transistor MOS, trạng thái tích điện hay không của tụ tương ứng với hai bit 1 và 0. Do RAM động có mật độ tích hợp cao, dung lượng bộ nhớ thường rất lớn nên để định vị các phần tử nhớ người ta dùng phương pháp đa hợp địa chỉ, mỗi từ nhớ được chọn khi có đủ hai địa chỉ hàng và cột được lần lượt tác động. Phương pháp này cho phép n đường địa chỉ truy xuất được 22n vị trí nhớ. Như vậy giản đồ thời gian của RAM động thường khác với giản đồ thời gian của RAM tĩnh và ROM. 7.3.3.1 RAM tĩnh (Static RAM, SRAM) Mỗi tế bào RAM tĩnh là một mạch FlipFlop dùng Transistor BJT hay MOS (H 7.17) ___Nguyễn Trung Lập KỸ THUẬT SỐ
  50. ___Chương 7 Bộ nhớ bán dẫn VII - 13 (a) (H 7.17) (b) (H 7.17a) là một tế bào nhớ RAM tĩnh dùng transistor BJT với 2 đường địa chỉ hàng và cột. Khi một trong hai đường địa chỉ hàng hoặc cột ở mức thấp các tế bào không được chọn vì cực E có điện thế thấp hai Transistor đều dẫn, mạch không hoạt động như một FF. Khi cả hai địa chỉ hàng và cột lên cao, mạch hoạt động như FF, hai trạng thái 1 và 0 của tế bào nhớ được đặc trưng bởi hai trạng thái khác nhau của 2 đường bit và bit . Giả sử khi T1 dẫn thì T2 ngưng, đường bit có dòng điện chạy qua, tạo điện thế cao ở R3 trong khi đó đường bit không có dòng chạy qua nên ở R4 có điện thế thấp. Nếu ta qui ước trạng thái này tương ứng với bit 1 thì trạng thái ngược lại, là trạng thái T1 ngưng và T2 dẫn, hiệu thế ở điện trở R3 thấp và ở R4 cao, sẽ là bit 0. R3 và R4 có tác dụng biến đổi dòng điện ra điện thế. Đối với tế bào nhớ dùng MOS, hai đường từ nối với T5, T6 và T7, T8 nên khi một trong hai đường từ ở mức thấp T1 và T2 bị cô lập khỏi mạch, tế bào nhớ không được chọn. Khi cả hai lên cao mạch hoạt động tương tự như trên. Trong mạch này R1 và R2 thay bởi T3 và T4 và không cần R3 và R4 như mạch dùng BJT. (H 7.18) là mạch điều khiển chọn chip và thực hiện tác vụ đọc/viết vào tế bào nhớ. (H 7.18) OPAMP giữ vai trò mạch so sánh điện thế hai đường bit và bit cho ở ngã ra mức cao hoặc thấp tùy kết quả so sánh này (tương ứng với 2 trạng thái của tế bào nhớ) và dữ liệu được đọc ra khi cổng đệm thứ 2 mở ( R/ W lên cao). Khi cổng đệm thứ nhất mở (R/ W xuống thấp) dữ liệu được ghi vào tế bào nhớ qua cổng đệm 1. Cổng 3 tạo ra hai tín hiệu ngược pha từ dữ liệu vào. Nếu hai tín hiệu này cùng trạng thái với hai đường bit và bit của mạch trước đó, mạch sẽ không đổi trạng thái nghĩa là ___Nguyễn Trung Lập KỸ THUẬT SỐ
  51. ___Chương 7 Bộ nhớ bán dẫn VII - 14 nếu tế bào nhớ đang lưu bit giống như bit muốn ghi vào thì mạch không thay đổi. Bây giờ, nếu dữ liệu cần ghi khác với dữ liệu đang lưu trữ thì mạch FF sẽ thay đổi trạng thái cho phù hợp với 2 tín hiệu ngược pha được tạo ra từ dữ liệu. Bit mới đã được ghi vào. - Chu kỳ đọc của SRAM Giản đồ thời gian một chu kỳ đọc của SRAM tương tự như giản đồ thời gian một chu kỳ đọc của ROM (H 7.11) thêm điều kiện tín hiệu RW/ lên mức cao. - Chu kỳ viết của SRAM (H 7.19) là giản đồ thời gian một chu kỳ viết của SRAM Một chu kỳ viết tWC bao gồm: - tAS (Address Setup time): Thời gian thiết lập địa chỉ : Thời gian để giá trị địa chỉ ổn định trên bus địa chỉ cho tới lúc tín hiệu CS tác động. - tW (Write time): Thời gian từ lúc tín hiệu CS tác động đến lúc dữ liệu có giá trị trên bus dữ liệu. - tDS và tDH: Khoảng thời gian dữ liệu tồn tại trên bus dữ liệu bao gồm thời gian trước (tDS) và sau (tDH) khi tín hiệu CSkhông còn tác động - tAH (Address Hold time): Thời gian giữ địa chỉ: từ lúc tín hiệu CSkhông còn tác động đến lúc xuất hiện địa chỉ mới. (H 7.19) 7.3.3.2 RAM động (Dynamic RAM, DRAM) (H 7.20a) là một tế bào nhớ của DRAM (a) (H 7.20) (b) (H 7.20b) là một cách biểu diễn tế bào nhớ DRAM trong đó đơn giản một số chi tiết được dùng để mô tả các tác vụ viết và đọc tế bào nhớ này. Các khóa từ S1 đến S4 là các transistor MOS được điều khiển bởi các tín hiệu ra từ mạch giải mã địa chỉ và tín hiệu R/ W . ___Nguyễn Trung Lập KỸ THUẬT SỐ
  52. ___Chương 7 Bộ nhớ bán dẫn VII - 15 Để ghi dữ liệu vào tế bào, các khóa S1 và S2 đóng trong khi S3 và S4 mở. Bit 1 thực hiện việc nạp điện cho tụ C và bit 0 làm tụ C phóng điện. Sau đó các khóa sẽ mở để cô lập C với phần mạch còn lại. Một cách lý tưởng thì C sẽ duy trì trạng thái của nó vĩnh viễn nhưng thực tế luôn luôn có sự rỉ điện qua các khóa ngay cả khi chúng mở do đó C bị mất dần điện tích . Để đọc dữ liệu các khóa S2 , S3 , S4 đóng và S1 mở, tụ C nối với một mạch so sánh với một điện thế tham chiếu để xác định trạng thái logic của nó. Điện thế ra mạch so sánh chính là dữ liệu được đọc ra. Do S2 và S4 đóng, dữ liệu ra được nối ngược lại tụ C để làm tươi nó. Nói cách khác, bit dữ liệu trong tế bào nhớ được làm tươi mỗi khi nó được đọc. Sử dụng DRAM, được một thuận lợi là dung lượng nhớ khá lớn nhưng phải có một số mạch phụ trợ: - Mạch đa hợp địa chỉ vì DRAM luôn sử dụng địa chỉ hàng và cột - Mạch làm tươi để phục hồi dữ liệu có thể bị mất sau một khoảng thời gian ngắn nào đó. a. Đa hợp địa chỉ Như đã nói trên, do dung lượng của DRAM rất lớn nên phải dùng phương pháp đa hợp để chọn một vị trí nhớ trong DRAM. Mỗi vị trí nhớ sẽ được chọn bởi 2 địa chỉ hàng và cột lần lượt xuất hiện ở ngã vào địa chỉ. Thí dụ với DRAM có dung lượng 16Kx1, thay vì phải dùng 14 đường địa chỉ ta chỉ cần dùng 7 đường và mạch đa hợp 14 → 7 (7 đa hợp 2→1) để chọn 7 trong 14 đường địa chỉ ra từ CPU (H 7.21). Bộ nhớ có cấu trúc là một ma trận 128x128 tế bào nhớ, sắp xếp thành 128 hàng và 128 cột, có một ngã vào và một ngã ra dữ liệu, một ngã vào R/ W . Hai mạch chốt địa chỉ (hàng và cột) là các thanh ghi 7 bit có ngã vào nối với ngã ra mạch đa hợp và ngã ra nối với các mạch giải mã hàng và cột. Các tín hiệu RAS và CAS dùng làm xung đồng hồ cho mạch chốt và tín hiệu Enable cho mạch giải mã. Như vậy 14 bit địa chỉ từ CPU sẽ lần lượt được chốt vào các thanh ghi hàng và cột bởi các tín hiệu RAS và CAS rồi được giải mã để chọn tế bào nhớ. Vận hành của hệ thống sẽ được thấy rõ hơn khi xét các giản đồ thời gian của DRAM. (H 7.21) b. Giản đồ thời gian của DRAM (H 7.22) là giản đồ thời gian đọc và viết tiêu biểu của DRAM (Hai giản đồ này chỉ khác nhau về thời lượng nhưng có chung một dạng nên ta chỉ vẽ một) ___Nguyễn Trung Lập KỸ THUẬT SỐ
  53. ___Chương 7 Bộ nhớ bán dẫn VII - 16 (H 7.22) Giản đồ cho thấy tác động của tín hiệu MU X và các tín hiệu RAS và CAS. Khi MU X ở mức thấp mạch đa hợp cho ra địa chỉ hàng (A0 . . . A6) và được chốt vào thanh ghi khi tín hiệu RAS xuống thấp. Khi MU X ở mức cao mạch đa hợp cho ra địa chỉ cột (A7 . . . A13) và được chốt vào thanh ghi khi tín hiệu CAS xuống thấp. Khi cả địa chỉ hàng và cột đã được giải mã, dữ liệu tại địa chỉ đó xuất hiện trên bus dữ liệu để đọc ra hoặc ghi vào ( khả dụng) c. Làm tươi DRAM DRAM phải được làm tươi với chu kỳ khoảng 2ms để duy trì dữ liệu. Trong phần trước ta đã thấy tế bào nhớ DRAM được làm tươi ngay khi tác vụ đọc được thực hiện. Lấy thí dụ với DRAM có dung lượng 16Kx1 (16.384 tế bào) nói trên, chu kỳ làm tươi là 2 ms cho 16.384 tế bào nhớ nên thời gian đọc mỗi tế bào nhớ phải là 2 ms/16.384 = 122 ns. Đây là thời gian rất nhỏ không đủ để đọc một tế bào nhớ trong điều kiện vận hành bình thường. Vì lý do này các hãng chế tạo đã thiết kế các chip DRAM sao cho mỗi khi tác vụ đọc được thực hiện đối với một tế bào nhớ, tất cả các tế bào nhớ trên cùng một hàng sẽ được làm tươi. Điều này làm giảm một lượng rất lớn tác vụ đọc phải thực hiện để làm tươi tế bào nhớ. Trở lại thí dụ trên, tác vụ đọc để làm tươi phải thực hiện cho 128 hàng trong 2 ms. Tuy nhiên để vừa vận hành trong điều kiện bình thường vừa phải thực hiện chức năng làm tươi người ta phải dùng thêm mạch phụ trợ, gọi là điều khiển DRAM (DRAM controller) IC 3242 của hảng Intel thiết kế để sử dụng cho DRAM 16K (H 7.23) Ngã ra 3242 là địa chỉ 7 bit đã được đa hợp và nối vào ngã vào địa chỉ của DRAM. Một mạch đếm 7 bit kích bởi xung đồng hồ riêng để cấp địa chỉ hàng cho DRAM trong suốt thời gian làm tươi. 3242 cũng lấy địa chỉ 14 bit từ CPU đa hợp nó với địa chỉ hàng và cột đã được dùng khi CPU thực hiện tác vụ đọc hay viết. Mức logic áp dụng cho các ngã REFRESH ENABLE và ROW ENABLE xác định 7 bit nào của địa chỉ xuất hiện ở ngã ra mạch controller cho bởi bảng REFRESH ROW Controller ENABLE ENABLE output HIGH X Refresh address (từ mạch đếm) LOW HIGH Địa chỉ hàng (A0 . . . A6 từ CPU) LOW LOW Địa chỉ cột (A7 . . .A13 từ CPU) ___Nguyễn Trung Lập KỸ THUẬT SỐ
  54. ___Chương 7 Bộ nhớ bán dẫn VII - 17 (H 7.23) 7.4 MỞ RỘNG BỘ NHỚ Các IC nhớ thường được chế tạo với dung lượng nhớ có giới hạn, trong nhiều trường hợp không thể thỏa mãn yêu cầu của người thiết kế. Do đó mở rộng bộ nhớ là một việc làm cần thiết. Có 3 trường hợp phải mở rộng bộ nhớ. 7.4.1. Mở rộng độ dài từ Đây là trường hợp số vị trí nhớ đủ cho yêu cầu nhưng dữ liệu cho mỗi vị trí nhớ thì không đủ. Có thể hiểu được cách mở rộng độ dài từ qua một thí dụ Thí dụ: Mở rộng bộ nhớ từ 1Kx1 lên 1Kx8 : Chúng ta phải dùng 8 IC nhớ 1Kx1, các IC nhớ này sẽ được nối chung bus địa chỉ và các đường tín hiệu điều khiển và mỗi IC quản lý một đường bit. 8 IC sẽ vận hành cùng lúc để cho một từ nhớ 8 bit (H 7.24). (H 7.24) 7.4.2 Mở rộng vị trí nhớ Số bit cho mỗi vị trí nhớ đủ theo yêu cầu nhưng số vị trí nhớ không đủ Thí dụ: Có IC nhớ dung lượng 1Kx8. Mở rộng lên 4Kx8. Cần 4 IC. Để chọn 1 trong 4 IC nhớ cần một mạch giải mã 2 đường sang 4 đường, ngã ra của mạch giải mã lần lượt nối vào các ngã CS của các IC nhớ, như vậy địa chỉ của các IC nhớ sẽ khác nhau (H 7.25). Trong thí dụ này IC1 chiếm địa chỉ từ 000H đến 3FFH, IC2 từ 400H đến 7FFH, IC3 từ 800H đến BFFH và IC4 từ C00H đến FFFH ___Nguyễn Trung Lập KỸ THUẬT SỐ
  55. ___Chương 7 Bộ nhớ bán dẫn VII - 18 (H 7.25) 7.4.3 Mở rộng dung lượng nhớ Cả vị trí nhớ và độ dài từ của các IC đều không đủ để thiết kế. Để mở rộng dung lượng nhớ ta phải kết hợp cả hai cách nói trên Thí dụ: Mở rộng bộ nhớ từ 4Kx4 lên 24Kx8. Cần 6 cặp IC mắc song song, mỗi cặp IC có chung địa chỉ và được chọn bởi một mạch giải mã 3 sang 8 đường (H 7.26). Ta chỉ dùng 6 ngã ra từ Y0 đến Y5 của mạch giải mã ___Nguyễn Trung Lập KỸ THUẬT SỐ
  56. ___Chương 7 Bộ nhớ bán dẫn VII - 19 (H 7.26) - Địa chỉ IC (1&2): 0000H - 0FFFH, IC (3&4) : 1000H - 1FFFH, IC (5&6): 2000H - 2FFFH và IC (7&8) : 3000H - 3FFFH IC (9&10): 4000H - 4FFFH và IC (11&12) : 5000H - 5FFFH ___Nguyễn Trung Lập KỸ THUẬT SỐ
  57. ___Chương 7 Bộ nhớ bán dẫn VII - 20 BÀI TẬP 1. Dùng IC PROM 4 ngã vào và 4 ngã ra thiết kế mạch chuyển mã từ Gray sang nhị phân của số 4 bit. 2. Dùng IC PAL 4 ngã vào và 4 ngã ra thiết kế mạch chuyển từ mã Excess-3 sang mã Aiken của các số từ 0 đến 9. Dưới đây là 2 bảng mã Excess-3 Aiken N A B C D A B C D 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 2 0 1 0 1 0 0 1 0 3 0 1 1 0 0 0 1 1 4 0 1 1 1 0 1 0 0 5 1 0 0 0 1 0 1 1 6 1 0 0 1 1 1 0 0 7 1 0 1 0 1 1 0 1 8 1 0 1 1 1 1 1 0 9 1 1 0 0 1 1 1 1 3. Thiết kế mạch để mở rộng bộ nhớ từ 2Kx4 lên 2Kx8 4. Thiết kế mạch để mở rộng bộ nhớ từ 1Kx4 lên 8Kx4. Cho biết địa chỉ cụ thể của các IC 5. Thiết kế mạch để mở rộng bộ nhớ từ 2Kx4 lên 16Kx8. Cho biết địa chỉ cụ thể của các IC ___Nguyễn Trung Lập KỸ THUẬT SỐ
  58. ___Chương 4 Mạch tổ hợp IV - 1 CHƯƠNG 4: MẠCH TỔ HỢP ” MẠCH Mà HÓA 7 Mạch mã hóa 2n đường sang n đường 7 Mạch tạo mã BCD cho số thập phân ” MẠCH GIẢI Mà 7 Mạch giải mã n đường sang 2n đường 7 Mạch giải mã BCD sang 7 đoạn ” MẠCH ĐA HỢP VÀ GIẢI ĐA HỢP 7 Khái niệm 7 Mạch đa hợp 7 Ứng dụng của mạch đa hợp 7 Mạch giải đa hợp ” MẠCH SO SÁNH 7 Mạch so sánh hai số một bit 7 Mạch so sánh hai số nhiều bit ” MẠCH KIÊM / PHÁT CHẴN LẺ 7 Mạch phát chẵn lẻ 7 Mạch kiểm chẵn lẻ ___ ___ Các mạch số được chia ra làm hai loại: Mạch tổ hợp và Mạch tuần tự. - Mạch tổ hợp: Trạng thái ngã ra chỉ phụ thuộc vào tổ hợp các ngã vào khi tổ hợp này đã ổn định. Ngã ra Q của mạch tổ hợp là hàm logic của các biến ngã vào A, B, C . . Q = f(A,B,C . . .) - Mạch tuần tự : Trạng thái ngã ra không những phụ thuộc vào tổ hợp các ngã vào mà còn phụ thuộc trạng thái ngã ra trước đó. Ta nói mạch tuần tự có tính nhớ. Ngã ra Q+ của mạch tuần tự là hàm logic của các biến ngã vào A, B, C . . . . và ngã ra Q trước đó. Q+ = f(Q,A,B,C . . .) Chương này nghiên cứu một số mạch tổ hợp thông dụng thông qua việc thiết kế một số mạch đơn giản và khảo sát một số IC trên thực tế. 4.1. MẠCH Mà HÓA Mã hóa là gán các ký hiệu cho các đối tượng trong một tập hợp để thuận tiện cho việc thực hiện một yêu cầu cụ thể nào đó. Thí dụ mã BCD gán số nhị phân 4 bit cho từng số mã của số thập phân (từ 0 đến 9) để thuận tiện cho máy đọc một số có nhiều số mã; mã Gray dùng tiện lợi trong việc tối giản các hàm logic . . Mạch chuyển từ mã này sang mã khác gọi là mạch chuyển mã, cũng được xếp vào loại mạch mã hóa. Thí dụ mạch chuyển số nhị phân 4 bit sang số Gray là một mạch chuyển mã. ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  59. ___Chương 4 Mạch tổ hợp IV - 2 4.1.1 Mạch mã hóa 2n đường sang n đường Một số nhị phân n bit cho 2n tổ hợp số khác nhau. Vậy ta có thể dùng số n bit để mã cho 2n ngã vào khác nhau, khi có một ngã vào được chọn bằng cách đưa nó lên mức tác động, ở ngã ra sẽ chỉ báo số nhị phân tương ứng. Đó là mạch mã hóa 2n đường sang n đường. (H 4.1) là mô hình một mạch mã hóa 2n đường sang n đường. - (H 4.1a) là mạch có ngã vào và ra tác động cao : Khi các ngã vào đều ở mức thấp, mạch chưa hoạt động, các ngã ra đều ở mức thấp. Khi có một ngã vào được tác động bằng cách ấn khóa K tương ứng để đưa ngã vào đó lên mức cao, các ngã ra sẽ cho số nhị phân tương ứng. - (H 4.1b) là mạch có ngã vào và ra tác động thấp. Hoạt động tương tự như mạch trên nhưng có mức tác động ngược lại. (trong mô hình (H 4.1b) ký hiệu dấu o ở ngã ra để chỉ mức tác động thấp, còn ở ngã vào không có dấu o vì là mạch thật) Trong trường hợp ngã ra có mức tác động thấp, muốn đọc đúng số nhị phân ở ngã ra, ta phải đảo các bit để đọc. (a) (b) (H 4.1) Dĩ nhiên, người ta cũng có thể thiết kế theo kiểu ngã vào tác động thấp và ngã ra tác động cao hay ngược lại. Trên thực tế, ta có thể có bất cứ loại ngã vào hay ra tác động theo bất cứ kiểu nào (mức cao hay thấp). Ngoài ra, để tránh trường hợp mạch cho ra một mã sai khi người sử dụng vô tình (hay cố ý) tác động đồng thời vào hai hay nhiều ngã vào, người ta thiết kế các mạch mã hóa ưu tiên: là mạch chỉ cho ra một mã duy nhất có tính ưu tiên khi có nhiều ngã vào cùng được tác động. 4.1.1.1 Mã hóa ưu tiên 4 đường sang 2 đường Thiết kế mạch mã hóa 4 đường sang 2 đường, ưu tiên cho mã có trị cao, ngã vào và ra tác động cao Bảng sự thật và sơ đồ mạch (H 4.2) 0 1 2 3 A1 A0 1 0 0 0 0 0 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  60. ___Chương 4 Mạch tổ hợp IV - 3 x 1 0 0 0 1 x x 1 0 1 0 x x x 1 1 1 Bảng 4.1 Nhận thấy biến 0 trong bảng sự thật không ảnh hưởng đến kết quả nên ta chỉ vẽ bảng Karnaugh cho 3 biến 1, 2 và 3. Lưu ý là do trong bảng sự thật có các trường hợp bất chấp của biến nên ứng với một trị riêng của hàm ta có thể có đến 2 hoặc 4 số 1 trong bảng Karnaugh. Thí dụ với trị 1 của cả 2 hàm A1 và A0 ở dòng cuối cùng đưa đến 4 số 1 trong các ô 001, 011, 101 và 111 của 3 biến 123. Từ bảng Karnaugh, ta có kết quả và mạch tương ứng. Trong mạch không có ngã vào 0, điều này được hiểu là mạch sẽ chỉ báo số 0 khi không tác động vào ngã vào nào. (H 4.2) 4.1.1.2 Mã hóa 8 đường sang 3 đường Chúng ta sẽ khảo sát một IC mã hóa 8 đường sang 3 đường. Trên thực tế khi chế tạo một IC, ngoài các ngã vào/ra để thực hiện chức năng chính của nó, người ta thường dự trù thêm các ngã vào và ra cho một số chức năng khác như cho phép, nối mạch để mở rộng hoạt động của IC. IC 74148 là IC mã hóa ưu tiên 8 đường sang 3 đường, vào/ ra tác động thấp, có các ngã nối mạch để mở rộng mã hóa với số ngã vào nhiều hơn. Dưới đây là bảng sự thật của IC 74148, trong đó Ei ngã vào nối mạch và cho phép, Eo là ngã ra nối mạch và Gs dùng để mở rộng cho số nhị phân ra. Dựa vào bảng sự thật, ta thấy IC làm việc theo 10 trạng thái: - Các trạng thái từ 0 đến 7: IC mã hóa cho ra số 3 bit - Các trạng thái 8 và 9: dùng cho việc mở rộng, sẽ giải thích rõ hơn khi nối 2 IC để mở rộng mã hóa cho số 4 bit Trạng Ngã vào Ngã ra thái Ei 0 1 2 3 4 5 6 A2 A1 A0 Gs Eo 7 9 1 x x x x x x x 1 1 1 1 1 8 0 x 1 1 1 1 0 7 0 1 1 1 1 1 1 1 0 0 0 0 1 6 0 1 0 0 1 0 1 5 0 x x x x x x x 0 1 0 0 1 4 0 0 0 1 1 0 1 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  61. ___Chương 4 Mạch tổ hợp IV - 4 3 0 x x x x x x 0 1 0 0 0 1 2 0 1 1 0 1 0 1 1 0 x x x x x 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 x x x x 0 1 1 1 x x x 0 1 1 1 1 x x 0 1 1 1 1 1 x 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 Bảng 4.2 (H 4.3) là cách nối 2 IC để thực hiện mã hóa 16 đường sang 4 đường (H 4.3) - IC2 có Ei = 0 nên hoạt động theo các trạng thái từ 0 đến 8, nghĩa là mã hóa từ 0 đến 7 cho các ngã ra A2A1A0. - IC1 có Ei nối với Eo của IC2 nên IC1 chỉ hoạt động khi tất cả ngã vào dữ liệu của IC2 lên mức 1 (IC2 hoạt động ở trạng thái 8) * Để mã hóa các số từ 0 đến 7, cho các ngã vào 8 đến 15 (tức các ngã vào dữ liệu của IC2) lên mức 1, IC2 hoạt động ở trạng thái 8. Lúc đó Ei1 = Eo2 = 0: kết quả là IC1 sẽ hoạt động ở trạng thái từ 0 đến 7, cho phép tạo mã các số từ 0 đến 7 (từ 111 đến 000) và IC2 hoạt động ở trạng thái 8 nên các ngã ra (A2A1A0)2= 111, đây là điều kiện mở các cổng AND để cho mã số ra là B2B1B0 = A2A1A0 của IC1, trong lúc đó B3 = Gs2 = 1, ta được kết quả từ 1111 đến 1000, tức từ 0 đến 7 (tác động thấp). Thí dụ để mã số 4 , đưa ngã vào 4 xuống mức 0, các ngã vào từ 5 đến 15 lên mức 1, bất chấp các ngã vào từ 0 đến 3, mã số ra là B3B2B1B0=Gs2B2B1B0=1011, tức số 4 * Để mã hóa các số từ 8 đến 15, cho IC2 hoạt động ở trạng thái từ 0 đến 7 (đưa ngã vào ứng với số muốn mã xuống thấp, các ngã vào cao hơn lên mức 1 và các ngã vào thấp hơn xuống mức 0), bất chấp các ngã vào dữ liệu của IC1 (cho IC1 hoạt động ở trạng thái 9), nên các ngã ra (A2A1A0)1=111, đây là điều kiện mở các cổng AND để cho mã số ra là B2B1B0= ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  62. ___Chương 4 Mạch tổ hợp IV - 5 A2A1A0 của IC2, , trong lúc đó B3 = Gs2 = 0, ta được kết quả từ 0111 đến 0000, tức từ 8 đến 15. Thí dụ để mã số 14, đưa ngã vào 14 xuống mức 0, đưa ngã vào 15 lên mức 1, bất chấp các ngã vào từ 0 đến 13, mã số ra là B3B2B1B0 = Gs2B2B1B0 = 0001, tức số 14 Muốn có ngã ra chỉ số nhị phân đúng với ngã vào được tác động mà không phải đảo các bit ta có thể thay các cổng AND bằng cổng NAND 4.1.2 Mạch tạo mã BCD cho số thập phân Mạch gồm 10 ngã vào tượng trưng cho 10 số thập phân và 4 ngã ra là 4 bit của số BCD. Khi một ngã vào (tượng trưng cho một số thập phân) được tác động bằng cách đưa lên mức cao các ngã ra sẽ cho số BCD tương ứng Bảng sự thật của mạch: Trạng thái các ngã vào Mã số ra 9 8 7 6 5 4 3 2 A3 A2 A1 1 0 A0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 Bảng 4.3 Không cần bảng Karnaugh ta có thể viết ngay các hàm xác định các ngã ra: A0 = 1 + 3 + 5 + 7 + 9 A1 = 2 + 3 + 6 + 7 A2 = 4 + 5 + 6 + 7 A3 = 8 + 9 Mạch cho ở (H 4.4) ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ
  63. ___Chương 4 Mạch tổ hợp IV - 6 (H 4.4) Để tạo mã BCD ưu tiên cho số lớn, ta viết lại bảng sự thật và dùng phương pháp đại số để đơn giản các hàm xác định các ngã ra A3 , A2 , A1 , A0 Trạng thái các ngã vào Mã số ra 9 8 7 6 5 4 3 2 A3 A2 A1 1 0 A0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 x 1 0 0 0 0 0 0 0 1 0 0 1 x x 0 0 0 0 0 0 0 1 x 0 0 1 x x 1 0 0 0 0 0 1 x x 0 1 0 x x 0 0 0 0 0 1 x x x 0 1 0 x x 1 0 0 0 1 x x x x 0 1 1 x x 0 0 0 1 x x x x x 0 1 1 x x 1 0 1 x x x x x x 1 0 0 x x 0 1 x x x x x x x 1 0 0 x x 1 Bảng 4.4 A 3 = 9.8+ 9 = 9 + 8 A 2 = 7.8.9+ 6.7.8.9+ 5.6.7.8.9+ 4.5.6.7.8.9 = (7+ 6.7+ 5.6.7+ 4.5.6.7)8.9 A 2 = (7 + 6+ 5+ 4)8.9 = (7 + 6+ 5+ 4)(8+ 9) A1 = 7.8.9 + 6.7.8.9 + 3.4.5.6.7.8.9 + 2.3.4.5.6.7.8.9 = (7 + 6.7+ 3.4.5.6.7+ 2.3.4.5.6.7)8.9 A 1 = (7 + 6 + 3.4.5 + 2.3.4.5)8.9 = (7 + 6 + 3.4.5 + 2.4.5)(8 + 9) A 0 = 9 + 7.8.9 + 5.6.7.8.9 + 3.4.5.6.7.8.9 + 1.2.3.4.5.6.7.8.9 ___ ___Nguyễn Trung Lập KỸ THUẬT SỐ