Skip to main content

Multiplexer tree; 16:1 MUX from 4:1

Short answer

A multiplexer tree cascades smaller MUXes. To build a 16:1 MUX, use four 4:1 MUxes in the first level with selects S1S0 grouping I0–I15, and one 4:1 MUX in the second level with selects S3S2 to pick the final output.

What is a multiplexer tree? Design the 16 to 1 multiplexer using 4 to 1 multiplexer.

Multiplexer tree

A multiplexer tree is the connection of small multiplexers in levels to make a larger multiplexer. The first level selects within groups using the lower select bits, and the next level selects one group using the higher select bits.

16:1 MUX from 4:1 MUXes

A 16:1 MUX has inputs I0I_0–I15I_{15} and four select lines S3S2S1S0S_3S_2S_1S_0. Use five 4:1 MUXes:

  • Level 1: four 4:1 MUXes (M1–M4) with selects S1S0S_1S_0. M1 gets I0I_0–I3I_3, M2 gets I4I_4–I7I_7, M3 gets I8I_8–I11I_{11}, M4 gets I12I_{12}–I15I_{15}.
  • Level 2: one 4:1 MUX (M5) with selects S3S2S_3S_2 picks one of the outputs of M1–M4.
             S1 S0
 I0-I3   -->[ M1 ]--Y1--+
 I4-I7   -->[ M2 ]--Y2--+--> I0..I3 of
 I8-I11  -->[ M3 ]--Y3--+    [ M5 ] ----> Y
 I12-I15 -->[ M4 ]--Y4--+     S3 S2
S3S2S_3S_2M5 passesY for S1S0S_1S_0 = 00, 01, 10, 11
00Y1Y_1I0,I1,I2,I3I_0, I_1, I_2, I_3
01Y2Y_2I4,I5,I6,I7I_4, I_5, I_6, I_7
10Y3Y_3I8,I9,I10,I11I_8, I_9, I_{10}, I_{11}
11Y4Y_4I12,I13,I14,I15I_{12}, I_{13}, I_{14}, I_{15}

Example: S3S2S1S0=1011S_3S_2S_1S_0 = 1011. Every level-1 MUX selects its input 3, so M3 outputs I11I_{11}. M5 with S3S2=10S_3S_2 = 10 selects M3, so Y=I11Y = I_{11}, which is input number 10112=111011_2 = 11. Correct.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 4 questions →