Skip to main content

Multiplexer tree; 1:16 DEMUX from 1:4

Short answer

A multiplexer tree builds larger MUX/DEMUX from smaller ones. A 1:16 DEMUX uses one 1:4 DEMUX with selects S3S2 to distribute data to four 1:4 DEMUXes driven by S1S0, giving 16 outputs. No extra gates needed.

What is a multiplexer tree? Construct a 1:16 demultiplexer using only 1:4 demultiplexers and logic gates if necessary.

Multiplexer tree

A multiplexer tree is a larger multiplexer built by connecting smaller multiplexers in two or more levels. The lower select bits drive the first-level MUXes and the higher select bits drive the next level, which picks one first-level output. Example: a 16:1 MUX from five 4:1 MUXes. The same idea used with DEMUXes is called a demultiplexer tree.

1:16 DEMUX from 1:4 DEMUXes

A 1:16 DEMUX needs 4 select lines S3S2S1S0S_3 S_2 S_1 S_0. Use five 1:4 DEMUXes in two levels:

  • Level 1: one 1:4 DEMUX receives the data input DD; its selects are the MSBs S3S2S_3 S_2. It sends DD to one of four lines.
  • Level 2: four 1:4 DEMUXes, each fed from one level-1 output, all with selects S1S0S_1 S_0. They give the 16 outputs Y0Y_0–Y15Y_{15}.
                          S1 S0
                        +-------+
                   +--->|  DM1  |--> Y0  .. Y3
                   |    +-------+
         S3 S2     |    +-------+
       +-------+   | +->|  DM2  |--> Y4  .. Y7
  D -->| DM0  0|---+ |  +-------+
       |      1|-----+  +-------+
       |      2|------->|  DM3  |--> Y8  .. Y11
       |      3|---+    +-------+
       +-------+   |    +-------+
                   +--->|  DM4  |--> Y12 .. Y15
                        +-------+
        (DM1-DM4 all use S1 S0)

Working: if S3S2S1S0=1001S_3S_2S_1S_0 = 1001, DM0 (S3S2=10S_3S_2 = 10) sends DD to DM3; DM3 (S1S0=01S_1S_0 = 01) sends it to its second output, which is Y9Y_9. No extra gates are needed.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 4 questions →