Altifigence Academy

9 / 63 · Khái niệm

Bản đồ Karnaugh và điều kiện don’t-care

Rút gọn biểu thức bằng tính kề của mã Gray và nêu rõ giả thiết về đầu vào không dùng.

Liên hệ bảng chân trị với chi phí cài đặt

Bảng chân trịBảng chân trị Bảng liệt kê đủ mọi tổ hợp đầu vào và đầu ra tương ứng. Sự thay đổi theo thời gian được kiểm tra riêng bằng dạng sóng. Tìm hiểu thêm xác định chức năng; tối thiểu hóa logic quyết định dùng biểu thức nào để cài đặt. Với ba đầu vào, định nghĩa số minterm bằng số nhị phân ABC, trong đó A là bit cao nhất.

F(A,B,C)=Σm(1,3,4,5,7)F(A,B,C)=\Sigma m(1,3,4,5,7)

Ví dụ minterm 4 là ABC=100. Các hàng không được liệt kê là 0, 2, 6; chúng có đầu ra 0. Thay vì luôn cài năm hạng tích riêng, có thể nhóm các hạng chỉ khác một bit.

Bản đồ Karnaugh là bảng chân trị sắp theo thứ tự khác

Xếp cột BC theo 00, 01, 11, 10. Đây là thứ tự mã Gray, trong đó hai cột kề nhau chỉ đổi một bit. Cột ngoài cùng trái và phải cũng kề nhau.

A / BC00011110
00110
11110

Nhóm phải là hình chữ nhật với số ô 1,2,4,8,…1,2,4,8,\ldots. Bao gồm ô 0 sẽ đổi chức năng. Một ô 1 được phép thuộc nhiều nhóm.

  1. Nhóm bốn ô thuộc hai cột C=1: đầu ra vẫn là 1 khi A và B thay đổi, nên còn hạng C.
  2. Nhóm hai ô BC=00 và 01 ở hàng A=1: chỉ C thay đổi, nên còn AB‾A\overline B.
  3. OR hai nhóm sẽ bao phủ mọi ô 1 và tránh mọi ô 0.
F=C+AB‾F=C+A\overline B

Đối chiếu định nghĩa gốc và biểu thức tối thiểu ở đủ tám đầu vào. Cần kiểm tra riêng hai điều: biểu thức ngắn hơn và chức năng vẫn như cũ.

Quá trình này chuyển hai nhóm trên bản đồ thành biểu thức. Trong nhóm C, A và B thay đổi; trong nhóm hai ô, C thay đổi, nên loại những biến đó khỏi hạng.

Biến biến mất khi nhóm ô
  1. m1,3,5,7: A, B đổi nhưng C=1
  2. m4,5: A=1, B=0; chỉ C đổi
  3. Tổng của hai nhóm: F = C + A · NOT B

don’t-care là quyền tối ưu và giả thiết đầu vào

Giả sử quy ước hệ thống bảo đảm ABC=000 không bao giờ xuất hiện. Đặt ô đó là X cho phép dùng như 0 hoặc 1 tùy nhu cầu. Có thể nhóm bốn ô B=0 để có biểu thức đơn giản hơn.

Fdc=C+B‾F_{\mathrm{dc}}=C+\overline B

Biểu thức mới bằng 1 tại ABC=000, khác bảng chân trị đầy đủ ban đầu. Vì thế muốn nói “cùng mạch”, phải kèm điều kiện đầu vào không phải 000. Nếu 000 xuất hiện lúc khởi tạo hoặc phục hồi lỗi, tối ưu này có thể vi phạm yêu cầu hệ thống.

Tối thiểu hóa biểu thức khác với tối ưu chip

Ít literal hơn không bảo đảm diện tích, trễ và công suất đều tối ưu trong một thư viện cell cụ thể. Tải, fan-out, cổng phức hợp có sẵn, dây nối và glitch đều ảnh hưởng. Ở bước này cần chắc chắn về tương đương chức năng và giả thiết đầu vào; chi phí vật lý được đánh giá qua tổng hợp và kết quả thời gian.

Đọc thêm: MIT OpenCourseWare — Combinational Logic

Thực hành · Kiểm tra chồng nhóm và điều kiện don’t-care

Từ C và A·NOT B tới nhóm lớn hơn

F = C + A · ¬B

Bảng chân trị ba đầu vào · X là đầu ra không bị ràng buộc
ABCF
0000
0011
0100
0111
1001
1011
1100
1111
  1. Chọn nhóm C. A và B đều đổi trong bốn ô, nên chỉ còn C.
  2. Chọn nhóm A·¬B. Nó bao phủ m4, m5; m5 chồng với nhóm C. Cho phép chồng nhóm nhưng không được chứa ô 0.
  3. Nhấn m0 hai lần: 0 → 1 → X. Sau khi thành X, đặc tả không đầy đủ có d(0). Nhóm B=0 mở rộng và biểu thức thành C+B‾C+\overline B.
  4. Nhấn m0 thêm một lần để trở về 0. Khi yêu cầu gốc được khôi phục, nhóm lớn hơn phải biến mất.

Chọn nhóm không đổi giá trị. Toàn bộ biểu thức bao phủ các ô 1 vẫn giữ nguyên; khung chỉ nhấn mạnh một hạng đang xem. “Tối thiểu” ở đây ưu tiên số hạng tích, sau đó số literal; nếu có nhiều nghiệm, chỉ hiển thị một nghiệm.

Tự thử

Sau khi đổi m0 thành X, bạn cài F=C+NOT B. Nếu thêm yêu cầu ABC=000 có thể xuất hiện khi reset và khi ấy F phải bằng 0, còn giữ tối ưu này được không?

Đọc giải thích

Không thể giữ. Yêu cầu mới quy định m0=0 trở lại. Biểu thức tối ưu cho 1 tại 000 nên vi phạm; phải dùng biểu thức thỏa mọi hàng đã chỉ định, chẳng hạn C+A·NOT B ban đầu.

Lựa chọn áp dụng cho trình duyệt này. Có thể đổi ở chân trang bất cứ lúc nào.