A 4:1 multiplexer passes one of four data inputs to its output. Two select lines, S1 and S0, form a 2-bit code. S1 is the MSB, so the code is 2·S1 + S0:
- S1 S0 =
00→ Y = I0 - S1 S0 =
01→ Y = I1 - S1 S0 =
10→ Y = I2 - S1 S0 =
11→ Y = I3
Each data input is ANDed with the minterm of its own code, and the four products are ORed:
Y =
For any select code, three of the four AND gates contain a 0 literal, so only one data input reaches the output.
The 4:1 MUX is the workhorse of multiplexer implementation: put two of a function's three variables on the selects, and the third (or a constant) on each data input, and one 4:1 MUX builds any 3-variable function. You can also assemble one from three 2:1 MUXes as a small mux tree.