Altifigence Academy

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.

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.

y=s‾a+sby=\overline s a+s b

Thay s=0s=0 chỉ còn a; thay s=1s=1 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.

Đường dữ liệu thay đổi theo tín hiệu chọn

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à F0,F1F_0,F_1.

F=s‾F0+sF1F=\overline s F_0+sF_1

Đâ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ụ F=a⊕bF=a\oplus b, chọn a làm tín hiệu chọn thì F0=bF_0=b, F1=b‾F_1=\overline b, 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.

SystemVerilog
assign y = sel[1] ? (sel[0] ? d3 : d2)
                 : (sel[0] ? d1 : d0);

Trong cây cân bằng lý tưởng, 2m2^m đầ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 F=ab+a‾cF=a b+\overline a c 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

a=0a=0 cho F0=cF_0=c, a=1a=1 cho F1=bF_1=b, 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.

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.