15 / 63 · Khái niệm
Từ bảng chân trị đến MUX và khai triển Shannon
Suy ra công thức lựa chọn và phân rã hàm logic bất kỳ bằng MUX.
Bài học miễn phí. Đăng ký để lưu tiến độ học tập.
Suy ra biểu thức từ quy tắc chọn
Để xuất a khi sel=0 và b khi sel=1, AND mỗi dữ liệu với điều kiện chọn rồi OR lại.
Thay chỉ còn a; thay chỉ còn b. Nếu a=b, đổi sel vẫn giữ đầu ra, nên muốn phát hiện lỗi chọn phải có dữ liệu a và b khác nhau.
Đường màu xanh là đầu vào được chọn. Đặt a và b khác nhau rồi đổi sel. Nếu bằng nhau, chỉ nhìn đầu ra khó phân biệt dây chọn có nối sai không.
y = sel ? b : a
MUX là cách phân rã hàm logic tổng quát
Với hàm Boolean F bất kỳ, gọi hai hàm con khi cố định s bằng 0 và 1 lần lượt là .
Đây là khai triển Shannon. s ? F1 : F0 tách một hàm bất kỳ thành hai phần. Ví dụ , chọn a làm tín hiệu chọn thì , , nên tạo XOR bằng MUXBộ chọn kênh Mạch tổ hợp nối một trong nhiều đầu vào tới đầu ra theo tín hiệu chọn. Phải quy định quan hệ giữa bit chọn và số đầu vào. và đảoPhủ định Phép NOT đổi 0 thành 1 và 1 thành 0. Gạch trên biểu thức nghĩa là áp dụng NOT cho toàn bộ phần nằm dưới gạch. Tìm hiểu thêm.
Chọn 4-to-1 và ưu tiên
Để chọn một trong bốn đầu vào bằng hai bit chọn, có thể dùng hai tầng MUX 2-to-1. Ngược lại, if (req0) ... else if (req1) ... ưu tiên yêu cầu trước khi nhiều yêu cầu cùng bằng 1. Chọn theo địa chỉ và chọn theo ưu tiên là hai vấn đề khác nhau.
assign y = sel[1] ? (sel[0] ? d3 : d2)
: (sel[0] ? d1 : d0);Trong cây cân bằng lý tưởng, đầu vào cần m tầng chọn. Độ trễ vật lý còn phụ thuộc thời điểm đầu vào tới, tải và dây nối. Phân rã hàm tạo phương án cài đặt, không chứng minh độ trễ tối ưu.
Tự thử
Biểu diễn bằng MUX có a là tín hiệu chọn. Hai đầu vào dữ liệu là gì?
Đọc giải thích
cho , cho , nên viết assign f = a ? b : c;. Tính hàm con trước để không đổi nhầm dữ liệu ứng với chọn 0 và 1.