3.3.6 · D2Combinational Circuits

Visual walkthrough — Demultiplexers

2,100 words10 min readBack to topic

We assume nothing except that you know a wire can carry a (off / low / no signal) or a (on / high / signal present). Everything else — AND, NOT, "select", "minterm" — we grow from there, on a picture.


Step 1 — Draw the problem before drawing any circuit

WHAT. We have one wire coming in, call it (for Data). We have several wires going out. We want the signal on to appear on exactly one of the output wires, and we want a separate small set of "control" wires to decide which one.

WHY. You cannot build a machine until you know precisely what it must do. So before any logic gate, we draw the shape of the task: one road splitting into many, with a switch box in the middle.

PICTURE. Look at the figure. The orange wire on the left is . The plum wire coming from below is the select line — the "number card" that picks a destination. The two teal wires on the right are the outputs and . The box in the middle is the thing we must design.

Figure — Demultiplexers

Step 2 — Write the contract as a truth table

WHAT. We list, for every possible combination of and , what each output must be. This table is a promise: whatever circuit we build must reproduce it exactly.

WHY. Logic has only a handful of inputs, so we can simply enumerate all of them and state the wanted result. There is no guesswork after this — the table is the full specification.

With one select wire and one data wire , there are only input combinations. Here is the contract:

0 0 0 0
0 1 1 0
1 0 0 0
1 1 0 1

PICTURE. In the figure, each row of the table is drawn as the actual switch position: when the switch points up to ; when it points down to . The bold 1s in the table are exactly the two rows where a signal actually gets through.

Figure — Demultiplexers

Step 3 — Turn "and" into a gate, and "not" into a bubble

WHAT. We introduce the two logic building blocks the table just demanded.

WHY these two tools and not others? The phrase " and " contains two ideas:

  • AND — an output that is only when both its inputs are . This is the only gate that says "both conditions must hold at once", which is exactly what routing needs (the right door and real data).
  • NOT — flips . We need it because fires when is , but an AND gate wants a to open. So we feed it " flipped", written (read "S-bar" or "not S").

PICTURE. The figure shows a truth-table strip for AND (only the bottom-right cell is ) and the NOT bubble turning into and into .

Figure — Demultiplexers

Step 4 — Read each output straight off the table

WHAT. We convert the two "only when..." sentences from Step 2 into equations using the AND and NOT we just built.

WHY. Each output is in exactly one table row. That row says " combined with a specific value of ". Writing that as an AND of the right pieces guarantees the equation matches the table row-for-row — no gap, no extra case.

Read as: " is when the door is selected (, so ) and the data is ." If either fails, the AND gives — the output stays dark. Same story for with instead of .

PICTURE. The figure draws the full 1-to-2 DEMUX: splits into two branches; the top branch AND-gates with (note the bubble on ) to make ; the bottom branch AND-gates with to make .

Figure — Demultiplexers

Step 5 — Check the equations against the table (all four rows)

WHAT. We plug every input combination into and and confirm they reproduce Step 2's contract. No row may disagree.

WHY. An equation that matches some rows is a bug waiting to happen. We test all four so no reader ever meets a case we didn't cover.

0 0 1
0 1 1
1 0 0
1 1 0

Every row matches Step 2. ✅

PICTURE. The figure lays the four cases side by side as glowing/dim wires so you can see which output lights up in each case — including the two rows where nothing lights up.

Figure — Demultiplexers

Step 6 — Grow it to outputs: the minterm idea

WHAT. With more select wires we get more doors. For select lines we get outputs, and each output uses its own AND-of-selects term called a minterm.

WHY. With select bits there are possible binary codes. We want output to fire for exactly one code — the one whose binary value is . The term that is for one code and for all others is the AND of every select variable, each barred where that code has a . That term is the minterm .

For (selects , with the more significant bit):

Term-by-term for : it wants and , i.e. the code . So is only when the selects spell — and then . Every other minterm is for that code, so every other output is dark.

PICTURE. The figure shows a 1-to-4 DEMUX: fanning into four AND gates, each fed by a different minterm decode of . The selects are set, so only the gate opens.

Figure — Demultiplexers

Step 7 — The degenerate cases (never skip these)

WHAT. We check the boundary situations: , and confirm all non-selected outputs are hard (not "floating", not "remembering").

WHY. A tool you trust must behave predictably at its edges. Two edge behaviours trip people up (see the parent's Common Mistakes), so we draw them explicitly.

Case A — . Then for every , no matter what the selects say. The chosen door is still chosen, but nothing flows.

Case B — a non-selected output. For any that is not the current select code, , so . It is driven to by the AND gate — it does not float and does not keep an old value. Only the one selected output copies .

PICTURE. The figure contrasts two 1-to-4 DEMUX snapshots: left with (one door glows), right with (all doors dark though the same door is "selected").

Figure — Demultiplexers

The one-picture summary

WHAT. One figure that compresses the whole journey: contract → AND/NOT gates → minterms → , drawn as the full 1-to-4 DEMUX with a worked case (, ).

Figure — Demultiplexers
Recall Feynman retelling — the whole walkthrough in plain words

We started with a picture: one road () that must split into several roads, with a "number card" () deciding which. We wrote down every case in a small table — our unbreakable promise. Reading the table out loud, the word "and" kept appearing, so we invented two tiny machines: an AND gate (open only when both inputs are on) and a NOT bubble (flips a wire). We used them to write each output as "the data, AND-ed with the condition that this door is the chosen one" — that condition is the minterm of the select lines. We checked all four rows and they matched perfectly, including the two quiet rows where no data flows. Then we grew it: select wires spell one of codes, each code lights exactly one minterm, and . Finally we poked the edges: turn the data off and every door goes dark; every door except the chosen one is firmly held at by its own AND gate. That's the whole demultiplexer — a decoder that gates the data into whichever door its number card selects.

Recall Quick self-test

Why does use and not ? ::: must fire when , but AND opens on a , so we flip to which is when . For selects, how many outputs and how many minterms? ::: outputs, one minterm each. With and , which output is high in a 1-to-4 DEMUX? ::: (binary ), all others . If , what are all outputs? ::: All , whatever the selects are.

Connections

  • Demultiplexers — the parent topic this walkthrough derives.
  • Decoders — the minterm block alone; tie and the DEMUX becomes one.
  • Multiplexers — the mirror operation, many-in one-out.
  • Minterms and SOP — where the terms come from.
  • Encoders — related decode/encode family.
  • Memory Addressing — selecting one memory row is exactly this routing.
  • Bus Systems — one bus line fanned to many destinations.