Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 8: Mạch logic

pdf 92 trang phuongnguyen 2520
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 8: Mạch logic", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

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

  • pdfbai_giang_mon_hoc_kien_truc_may_tinh_hop_ngu_chuong_8_mach_l.pdf

Nội dung text: Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 8: Mạch logic

  1. Môn học: Kiến trúc máy tính & Hợp ngữ
  2. • Là thiết bị điện tử hoạt động với 2 mức điện áp: – Cao: thể hiện bằng giá trị luận lý (quy ước) là 1 – Thấp: thể hiện bằng giá trị luận lý (quy ước) là 0 • Được xây dựng từ những thành phần cơ bản là cổng luận lý (logic gate) – Cổng luận lý là thiết bị điện tử gồm 1 / nhiều tín hiệu đầu vào (input) - 1 tín hiệu đầu ra (output) – output = F(input_1, input_2, , input_n) – Tùy thuộc vào cách xử lý của hàm F sẽ tạo ra nhiều loại cổng luận lý • Hiện nay linh kiện cơ bản để tạo ra mạch số là transistor 2
  3. Tên cổng Hình vẽ đại diện Hàm đại số Bun AND x.y hay xy OR x + y XOR x  y NOT x’ hay x NAND (x .y)’ hay x.y NOR (x + y)’ hay x + y NXOR (x y)’ hay x y 3
  4. AND OR NOT A B out A B out A out 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 4
  5. NAND NOR XOR A B out A B out A B out 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 5
  6. A A A+B A.B A.B A+B 6
  7. x + 0 = x x . 0 = 0 x + 1 = 1 x . 1 = x x + x = x x . x = x x + x’ = 1 x . x’ = 0 x + y = y + x xy = yx x + (y + z) = (x + y) + z x(yz) = (xy)z x(y + z) = xy + xz x + yz = (x + y)(x + z) (x + y)’ = x’.y’ (De Morgan) (xy)’ = x’ + y’ (De Morgan) (x’)’ = x 10
  8. • Gồm n ngõ vào (input); m ngõ ra (output) – Mỗi ngõ ra là 1 hàm luận lý của các ngõ vào • Mạch tổ hợp không mang tính ghi nhớ: Ngõ ra chỉ phụ thuộc vào Ngõ vào hiện tại, không xét những giá trị trong quá khứ11
  9. • The 7400 chip, containing four NAND gate • The two additional pins supply power (+5 V) and connect the 12 ground.
  10. • Độ trễ mạch (Propagation delay / gate delay) = Thời điểm tín hiệu ra ổn định - thời điểm tín hiệu vào ổn định – Mục tiêu thiết kế mạch: làm giảm thời giản độ trễ mạch 13
  11. • Bằng ngôn ngữ • Bằng bảng chân trị – n input – m output – 2n hàng – (n + m) cột • Bằng công thức (hàm luận lý) • Bằng sơ đồ 14
  12. • Thường trải qua 3 bước: – Lập bảng chân trị A B F 0 0 1 0 1 1 1 0 1 1 1 0 – Viết hàm luận lý F = (AB)’ – Vẽ sơ đồ mạch và thử nghiệm 15
  13. • Giả sử đã có bảng chân trị cho mạch n đầu vào x1, ,xn và 1 đầu ra f • Ta dễ dàng thiết lập công thức (hàm) logic theo thuật toán sau: – Ứng với mỗi hàng của bảng chân trị có đầu ra = 1 ta tạo thành 1 tích có dạng u1.u2 un với: x nếu x = 1 i i ui = (xi)’ nếu xi = 0 – Cộng các tích tìm được lại thành tổng công thức của f 16
  14. • Trường hợp số hàng có giá trị đầu ra = 1 nhiều hơn = 0, ta có thể đặt g = (f)’ • Viết công thức dạng SOP cho g • Lấy f = (g)’ = (f’)’ để có công thức dạng POS (Tích các tổng) của f 18
  15. • Sau khi viết được hàm logic, ta có thể vẽ sơ đồ của mạch tổ hợp từ những cộng luận lý cơ bản – Ví dụ: f = xy + xz • Tuy nhiên ta có thể viết lại hàm logic sao cho sơ đồ mạch sử dụng ít cổng hơn – Ví dụ: f = xy + xz = x(y + z) • Cách đơn giản hoá hàm tổng quát? Một số cách phổ biến: – Dùng đại số Bun (Xem lại bảng 1 số đẳng thức cơ bản để áp dụng) – Dùng bản đồ Karnaugh (Cac-nô) 20
  16. • Dùng các phép biến đổi đại số Bun để lược giản hàm logic • Khuyết điểm: – Không có cách làm tổng quát cho mọi bài toán – Không chắc kết quả cuối cùng đã tối giản chưa 21 • Ví dụ: Đơn giản hoá các hàm sau
  17. • Mỗi tổ hợp biến trong bảng chân trị gọi là bộ trị (tạm hiểu là 1 dòng) Biểu diễn hàm có n biến thì sẽ cho ra tương ứng 2n bộ trị, với vị trí các bộ trị được đánh số từ 0 Thông tin trong bảng chân trị có thể cô đọng bằng cách: – Liệt kê vị trí các bộ trị (minterm) với giá trị đầu ra = 1 (SOP) 22 – Liệt kê vị trí các bộ trị (maxterm) với giá trị đầu ra = 0
  18. • F(x,y,z) = m1 + m4 + m5+ m6 + m7 = Σ(1,4,5,6,7) • F(x,y,z) = M0M2M3 = Π(0,2,3) Vị trí x y z minterm maxterm F 0 0 0 0 m0 = x’y’z’ M0 = x + y + z 0 1 0 0 1 m1 = x’y’z M1 = x + y + z’ 1 2 0 1 0 m2 = x’yz’ M2 = x + y’ + z 0 3 0 1 1 m3 = x’yz M3 = x + y’ + z’ 0 4 1 0 0 m4 = xy’z’ M4 = x’ + y + z 1 5 1 0 1 m5 = xy’z M5 = x’ + y + z’ 1 6 1 1 0 m6 = xyz’ M6 = x’ + y’ + z 1 7 1 1 1 m7 = xyz M7 = x’ + y’ + z’ 1 23
  19. B B 24 B BC A 0 1 A 00 01 11 10 0 0 1 0 0 1 3 2 A 1 2 3 A 1 4 5 7 6 C C CD AB 00 01 11 10 00 0 1 3 2 01 4 5 7 6 B 11 12 13 15 14 A 10 8 9 11 10 D
  20. • F(A, B, C) = Σ(1, 4, 5, 6, 7) B B BC BC A 00 01 11 10 A 00 01 11 10 0 0 1 0 0 0 1 == A 1 1 1 1 1 A 1 1 1 1 1 C C 25
  21. • Bộ trị giữa 2 ô liền kề trong bản đồ chỉ khác nhau 1 biến – Biến đó bù 1 ô, không bù ở ô kế hoặc ngược lại Các ô đầu / cuối của các dòng / cột là các ô liền kề 4 ô nằm ở 4 góc bản đồ cũng coi là ô liền 26
  22. • Hàm logic F biểu diễn bảng chân trị được đưa vào bản đồ bằng các trị 1 tương ứng • Các ô liền kề có giá trị 1 được gom thành nhóm sao cho mỗi nhóm sau khi gom có tổng số ô là luỹ thừa của 2 (2, 4, 8, ) • Các nhóm có thể dùng chung ô có giá trị 1 để tạo thành nhóm lớn hơn. Cố gắng tạo những nhóm lớn nhất có thể • Nhóm 2/4/8 ô sẽ đơn giản bớt 1/2/3 biến trong số hạng • Mỗi nhóm biểu diễn 1 số hạng nhân (Product), Cộng (Sum – OR) các số hạng này ta sẽ được biểu thức tối giản của hàm logic F 27
  23. • F(A, B, C) = Σ(3, 4, 6, 7) B B BC BC A 00 01 11 10 A 00 01 11 10 0 1 0 1 A 1 1 1 1 A 1 1 1 1 C C F(A, B, C) = BC + AC’ 28
  24. • F(A, B, C) = Σ(0, 2, 4, 5, 6) B B BC BC A 00 01 11 10 A 00 01 11 10 0 1 1 0 1 1 A 1 1 1 1 A 1 1 1 1 C C F(A, B, C) = C’ + AB’ 29
  25. • F(A, B, C, D) = Σ(0, 1, 2, 6, 8, 9, 10) C C CD CD AB 00 01 11 10 AB 00 01 11 10 00 1 1 1 00 1 1 1 01 1 01 1 B B 11 11 A A 10 1 1 1 10 1 1 1 D D F(A, B, C) = B’D’ + B’C’ + A’CD’ 30
  26. • Đôi khi biểu diễn dạng tổng các tích (SOP) sẽ khó làm khi số bộ trị có đầu ra = 1 < số bộ trị có đầu ra = 0 Dùng phương pháp tích các tổng (POS) • Hoàn toàn giống phương pháp đơn giản hàm theo dạng SOP, chỉ khác ta nhóm các ô liền kề = 0 thay vì 1 Tìm được F’ F = (F’)’ 31
  27. • F(A, B, C, D) = Σ(0, 1, 2, 5, 8, 9, 10) C C CD CD AB 00 01 11 10 AB 00 01 11 10 00 1 1 0 1 00 1 1 0 1 01 0 1 0 0 01 0 1 0 0 B B 11 0 0 0 0 11 0 0 0 0 A A 10 1 1 0 1 10 1 1 0 1 D D F’(A, B, C) = CD + BD’ + AB F = (F’)’ = (A’ + B’)(C’ + D’)(B’ + D) 32
  28. • Trong 1 số trường hợp ta không cần quan tâm đến giá trị ngõ ra của 1 số bộ trị nào đó (1 hay 0 đều được) • Trong bản đồ ta sẽ ghi tương ứng những ô đó là x (gọi là giá trị tuỳ chọn /không cần) • x có thể dùng để gom nhóm với các ô liền kề nhằm đơn giản hàm • Lưu ý: Không được gom nhóm bao gồm toàn những ô có giá trị x 33
  29. • F(A, B, C) = Σ(0, 2, 6) • d(A, B, C) = Σ(1, 3, 5) Vị trí A B C F 0 0 0 0 1 1 0 0 1 x 2 0 1 0 1 3 0 1 1 x 4 1 0 0 0 5 1 0 1 x 6 1 1 0 1 7 1 1 1 0 34
  30.  F(A, B, C) = Σ(0, 2, 6)  d(A, B, C) = Σ(1, 3, 5) B B BC BC A 00 01 11 10 A 00 01 11 10 0 1 x x 1 0 1 x x 1 A 1 x 1 A 1 x 1 C C F(A, B, C) = A’ + BC’ 35
  31. • Yêu cầu: Thiết kế mạch tổ hợp 3 ngõ vào, 1 ngõ ra, sao cho giá trị logic ở ngõ ra là giá trị nào chiếm đa số trong các ngõ vào 36
  32. • Gọi các ngõ vào là x, y, z - ngõ ra là f f(x, y, z) = Σ(3, 5, 6, 7) 37
  33.  f(x, y, z) = Σ(3, 5, 6, 7) y y yz yz x 00 01 11 10 x 00 01 11 10 0 1 0 1 x 1 1 1 1 x 1 1 1 1 z z f(x, y, z) = xz + xy + yz = x.(y+z) + yz 38
  34. • Mạch toàn cộng (Full adder) • Mạch giải mã (Decoder) • Mạch mã hoá (Encoder) 40
  35. • Mạch tổ hợp thực hiện phép cộng số học 3 bit • Gồm 3 ngõ vào (A, B: bit cần cộng – Ci: bit nhớ) và 2 ngõ ra (kết quả có thể từ 0 đến 3 với giá trị 2 và 3 cần 2 bit biểu diễn – S: ngõ tổng, C0: ngõ nhớ) A B Ci S C0 S = F(A, B, Ci) 0 0 0 0 0 = Σ(1, 2, 4, 7) 0 1 0 1 0 1 0 0 1 0 C0 = F(A, B, Ci) 1 1 0 0 1 = Σ(3, 5, 6, 7) 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 41
  36. A A AB AB Ci 00 01 11 10 Ci 00 01 11 10 0 1 1 0 1 Ci 1 1 1 Ci 1 1 1 1 B B S = F(A, B, Ci) = Σ(1, 2, 4, 7) C0 = F(A, B, Ci) = Σ(3, 5, 6, 7) S = A’BCi’ + AB’Ci’ + A’B’Ci + ABCi C0 = AB + BCi + ACi S = A  B Ci (Lưu ý: x y = x’y + xy’) 42
  37. • Có 2n (hoặc ít hơn) ngõ vào, n ngõ ra • Quy định chỉ có duy nhất một ngõ vào mang giá trị = 1 tại một thời điểm • Nếu ngõ vào = 1 đó là ngõ thứ k thì các ngõ ra tạo thành số nhị phân có giá trị = k 44
  38. • Ngõ vào: X0, X1, X2, X3 • Ngõ ra: Y0, Y1 Y0 = X1+ X3 Y1 = X2 + X3 45
  39. • Các ngõ vào được xem như có độ ưu tiên • Giá trị ngõ ra phụ thuộc vào các ngõ vào có độ ưu tiên cao nhất • Ví dụ: Độ ưu tiên ngõ vào x3 > x2 > x1 > x0 y0 = (x2 + x0x1’).x3 y1 = (x2 + x1).x3’ y2 = x3 46
  40. y0 = (x2 + x0x1’).x3 y1 = (x2 + x1).x3’ y2 = x3 47
  41. • Có n ngõ vào, 2n (hoặc ít hơn) ngõ ra • Quy định chỉ có duy nhất một ngõ ra mang giá trị = 1 tại một thời điểm • Nếu các ngõ vào tạo thành số nhị phân có giá trị = k thì ngõ ra = 1 đó là ngõ thứ k 48
  42. • Còn gọi là mạch chọn dữ liệu • Chọn n ngõ trong 2n ngõ vào để quyết định giá trị của duy nhất 1 ngõ ra • Mạch dồn 2n – 1 có 2n ngõ nhập, 1 ngõ xuất và n ngõ nhập chọn 50
  43. • Chọn n ngõ trong 2n ngõ vào để quyết định giá trị của duy nhất 1 ngõ ra • Mạch DEMUX 1-2n có 1 ngõ nhập, 2n ngõ xuất và n ngõ nhập chọn 54
  44. • F = (5X + 2Y) % 4 • Input: X (2 bit), Y (2 bit) • Output: F (2 bit) Có 4 ngõ vào, 2 ngõ ra (mỗi ngõ có 1 tín hiệu biểu diễn cho 1 bit) 57
  45. • Khác với mạch tổ hợp, ở mạch tuần tự thì ngõ ra không chỉ phụ thuộc vào giá trị hiện thời của ngõ vào, mà còn phụ thuộc giá trị quá khứ • Mạch tuần tự có khả năng “ghi nhớ các trạng thái trong quá khứ” 61
  46. x1 z1 x2 z2 Circuit inputs . . Circuit outputs . Combinatorial . . circuit . xn yk Memory Yk device . Present state . Next state y1 Memory Y1 device 62
  47. • Là 1 thành phần cấu thành mạch tuần tự • Có chức năng lưu trữ 1 bit nhị phân • Có nhiều loại mạch lật, sự khác nhau ở chỗ số ngõ vào và cách thức các ngõ vào tác động đến trạng thái bit nhị phân 63
  48.  Latch Input Q  Ngõ ra thay đổi trạng thái khi ngõ vào thay đổi giá trị  Độ trễ mạch (delayed gate) giá trị mới của ngõ ra được xác định bằng độ trễ giữa ngõ vào và ngõ ra Q’  Được sử dùng như 1 thành phần nhớ của mạch tuần tự bất đồng bộ  Flip-Flop  Bên cạnh những ngõ vào thông thường thì luôn có 1 ngõ Input Q vào kích hoạt (trigger input), gọi là clock Clock Pulse  Trạng thái của ngõ ra chỉ có thể thay đổi khi ngõ vào kích Q’ hoạt (clock) thay đổi xung đồng hồ (clock pulse) của nó (0 1 hoặc 1 0)  Được sử dùng như 1 thành phần nhớ của mạch tuần tự 64 đồng bộ
  49. Chuyển tiếp lề dương (0 1) Chuyển tiếp lề âm (1 0) 65
  50. • Có 2 ngõ vào: S Q – S (Set): Đặt R Q’ – R (Reset): Khởi động • Có 2 ngõ ra Q và Q’ (tín hiệu đảo của Q) • Trạng thái ngõ ra Qnext = Q(t+1) phụ thuộc vào trạng thái ngõ vào S, R và tình 66 trạng hiện tại của mạch Qcurrent = Q(t)
  51. S R Q = Q(t+1) Q’ Ý nghĩa 0 0 Q(t) (Q(t))’ Không đổi 0 1 0 1 = 0 1 0 1 0 = 1 1 1 undefined undefined Không xác định 67
  52. S R Q Q set reset set reset 68
  53. • Dùng thêm 1 tín hiệu ngõ vào kích hoạt “Enabled” (thường là tín hiệu xung đồng hồ Clock - C) để điều khiển mạch – Enabled = 1 (Positive Clock Edge): mạch hoạt động như mạch lật RS Latch – Enabled = 0 (Negative Clock Edge): mạch bị vô hiệu hoá, Q giữ nguyên giá trị Q(t+1) = Q(t) Chỉ khi tín hiệu Enabled đổi từ 0 sang 1 (positive edge triggered), ngõ ra mới có thể bị ảnh hưởng, nếu không thì không thể thay đổi bất chấp giá trị của S và R S Q E R Q’ 69
  54. E S R Q = Q(t+1) Q’ Ý nghĩa 0 x x Q(t) (Q(t))’ Không đổi 1 0 0 Q(t) (Q(t))’ Không đổi 1 0 1 0 1 = 0 1 1 0 1 0 = 1 1 1 1 undefined undefined Không xác định 70
  55. S R E/CL Q Q 71
  56. • Để tránh trường hợp R = S = 1 trong RS Flip-Flop, trong mạch lật D Flip-Flop ta chỉ dùng 1 ngõ vào D nhưng tách ra 2 tín hiệu, 1 trong 2 tín hiệu sẽ đi qua cổng NOT để tạo tín hiệu đảo của D Không bao giờ xảy ra trường hợp 2 tín hiệu vào mạch đều bằng 1 Nhưng bên cạnh đó cũng không bao giờ xảy ra 2 tín hiệu vào mạch đều bằng 0  Ta không thể giữ nguyên trạng thái tín hiệu ngõ ra Q(t + 1) = Q(t) 72
  57. E D Q = Q(t+1) Q’ Ý nghĩa 0 x Q(t) (Q(t))’ Không đổi 1 0 0 1 = 0 1 1 1 0 = 1 D Q E Q’ D S Q E CLK R Q’ 73
  58. D E/CL Q Q 74
  59. • Là 1 cải tiến của mạch RS Flip-Flop đối với trường hợp R = S = 1 • Nguyên tắc: – J = S – K = R – Nếu J = K = 1 thì khi đó với 1 chuyển tiếp của tín hiệu xung đồng hồ sẽ chuyển tín hiệu ngõ ra Q sang trạng thái bù Q’ J K Q = Q(t+1) Q’ Ý nghĩa 0 0 Q(t) (Q(t))’ Không đổi J Q 0 1 0 1 = 0 C 1 0 1 0 = 1 K Q’ 1 1 Q’(t) Q(t) Đảo bit 75
  60. • Xuất phát từ mạch JK Flip-Flop với sự kết hợp 2 ngõ vào J, K thành duy nhất 1 ngõ vào T (T = J = K) T Q C – T = 0: Q(t + 1) = Q(t) Q’ – T = 1: Q(t + 1) = (Q(t))’ T Q = Q(t+1) Q’ Ý nghĩa 0 Q(t) (Q(t))’ Không đổi 1 (Q(t))’ Q(t) Đảo bit 76
  61. • Bao gồm 2 bản mạch flip-flop tuần tự nối với nhau (master – slave) • Tín hiệu ngõ ra Q phụ thuộc vào giá trị của những ngõ vào tại những chuyển tiếp lề âm / dương của xung đồng hồ (clock edge) Master Slave S S Q S Q Q C E E R R Q’ R Q’ Q’ Master works when C=1 Slave works when C=0 77
  62. • Thanh ghi dịch 4 bit • U1(D) = 01001100 U4(Q) = 00000100 78
  63. • Mạch đếm đồng bộ nhị phân 4 bit (0 15) 80
  64. Số Ngõ ra sau khi có Trị thập xung vào xung vào phân ra Q3 Q2 Q1 Q0 Xoá 0 0 0 0 0 1 0 0 0 1 1 2 0 0 1 0 2 3 0 0 1 1 3 4 0 1 0 0 4 5 0 1 0 1 5 6 0 1 1 0 6 7 0 1 1 1 7 8 1 0 0 0 8 9 1 0 0 1 9 10 1 0 1 0 10 11 1 0 1 1 11 12 1 1 0 0 12 13 1 1 0 1 13 14 1 1 1 0 14 15 1 1 1 1 15 16 0 0 0 0 0 17 0 0 0 1 1 81
  65. 82 Ngõ nhập ngoài Ngõ xuất ngoài Mạch tổ hợp (Combination Mạch lật lề Circuits) (Flip-Flop) Xung đồng hồ (Clock pulse) • Mạch tuần tự được xác định bởi: – Các ngõ nhập ngoài – Các ngõ xuất ngoài – Trạng thái nhị phân của mạch lật • Trạng thái kế của mạch lật = F(Trạng thái hiện tại, Các ngõ nhập ngoài) • Thiết kế mạch tuần tự Xác định dạng mạch lật và các Input của chúng
  66.  Đầu tiên phải xác định dùng dạng mạch lật gì (RS / JK / D / T)  Lập lược đồ các trạng thái mạch lật dựa trên đặc tả mạch ban đầu  Có 2 cách biểu diễn 83
  67. • Thay vì dùng lược đồ trạng thái, ta cũng có thể lập bảng trạng thái mạch lật Trạng thái hiện tại Giá trị ngõ Trạng thái kế Q (t) nhập ngoài Q(t +1) Ngõ xuất Ngõ xuất x Ngõ xuất Ngõ xuất mạch mạch lật 1 mạch lật n mạch lật 1 lật n • Trạng thái kế của mạch lật: Dựa trên mô tả đề bài 84
  68. • Lập bảng kích thích – Nhiệm vụ là phải xác định được làm thế nào để có được ngõ nhập vào mạch lật từ ngõ nhập ngoài x – Lưu ý ngõ nhập vào mạch lật != ngõ nhập ngoài • Ví dụ: x != D1, D2 x ~1PR ~1PR D1 q1 D2 q2 1D 1Q 1D 1Q z 1CLK ~1Q 1CLK ~1Q ~1CLR ~1CLR Clock 85
  69. Mạch lật RS / SR Mạch lật JK Q(t) Q(t+1) S R Q(t) Q(t+1) J K 0 0 0 x 0 0 0 x 0 1 1 0 0 1 1 x 1 0 0 1 1 0 x 1 1 1 x 0 1 1 x 0 Mạch lật D Mạch lật T Q(t) Q(t+1) D Q(t) Q(t+1) T 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 0 86
  70. • Tìm phương trình đại số xác định ngõ nhập mạch lật từ bảng kích thích (Hàm ngược) – Có n mạch lật n ngõ ra mạch lật A1 An – Suy ra phương trình ngõ nhập mạch lật có n + 1 biến bao gồm: • n biến A1 An • 1 biến x (ngõ nhập ngoài) – Dùng biểu đồ Karnaugh + bảng kích thích để xác định phương trình hàm ngõ nhập mạch lật 87
  71. • Vẽ sơ đồ mạch dựa trên phương trình hàm ngõ nhập x ~1PR ~1PR D1 q1 D2 q2 1D 1Q 1D 1Q z 1CLK ~1Q 1CLK ~1Q ~1CLR ~1CLR Clock 88
  72. • Xem ví dụ minh hoạ tại giáo trình “Kiến trúc máy tính” – Thầy Nguyễn Minh Tuấn, trang 42-45 89
  73. • Thiết kế đồng hồ với mặt số thể hiện các số từ 0 đến 7 và 2 nút bấm A, B. Nếu bấm nút A, số thể hiện tăng lên 1. Nếu bấm nút B, số thể hiện giảm đi 1 • Cần: Adder, MUX 90
  74. • Thiết kế đồng hồ bấm giây với mặt số thể hiện các số từ 00 đến 63 và 2 nút bấm A, B. Bấm nút A để start / stop. Khi đồng hồ đang ở trạng thái stop, bấm nút B sẽ xoá về 0 • Cần: Counter, MUX 91
  75. • Thiết kế đồng hồ bấm giây với mặt số thể hiện các số từ 00 đến 63 và 3 nút bấm A, B, C. Bấm nút A để start / stop. Khi đồng hồ đang ở trạng thái stop, bấm nút B sẽ tăng lên 1, bấm nút C sẽ giảm đi 1, bấm đồng thời B và C sẽ xoá về 00 92