1-to-2 demultiplexer
A demultiplexer, or demux, is a combinational circuit that routes a single data input to one of several outputs, chosen by the binary value on its select lines, while the other outputs stay low.
Sends one input to one of two outputs.
Circuit diagram
Toggle the inputs and follow the signals: green wires are high, red are low. The highlighted row of the truth table below is the one you have set.
Truth table
| D | S | y0 | y1 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Boolean expressions
- y0
- ¬s ∧ d the data when s is 0
- y1
- s ∧ d the data when s is 1
How it works
The mirror image of a multiplexer. One data line goes in, the select decides which output it comes out of, and the other output stays low. Chain them and one signal can be routed to any of many destinations.
Where it is used
- Routing a signal to one of several destinations, such as picking a memory bank.
- Turning a binary address into an enable line for the addressed device.
- Serial to parallel conversion, together with some storage.
Build it
One NOT and two ANDs. It is a decoder with the data line ANDed into every output.
Or draw it from the expressions above with the circuit diagram generator, in either symbol standard, and export it as SVG, PNG, Verilog or VHDL.
Reference card
The diagram above as an image, black on white, for notes or a slide.
Click to download: 1-to-2 demultiplexer circuit diagramQuestions about the 1-to-2 demultiplexer
What is a demultiplexer used for?
Steering one signal to one of several destinations: selecting which memory bank or peripheral receives a write, unpacking a shared serial line back into separate channels, and turning a binary address into the single enable line for the addressed device.
What is the difference between a demultiplexer and a decoder?
A decoder raises the one output whose number matches the select input. A demultiplexer does the same, but also ANDs a data line into every output, so the chosen output carries the data rather than a constant 1. Hold the data line high and a demux is a decoder.