Lab 6 of 15 · rank 05

2:1 multiplexer

Inputs D0, D1, S. Output Y equals D0 when S is 0, D1 when S is 1.

← All labsNext lab →

Learn first

A multiplexer is a selector switch: S picks whether D0 or D1 comes out.

Imagine a railway junction: one lever chooses which track goes through. When S is 0, Y copies D0; when S is 1, Y copies D1. The other input is ignored.

Computers use thousands of these to route data around. Build it with two ANDs (each one gated by S or not-S) joined by an OR.

Try this

Make notS with a NOT. AND D0 with notS; AND D1 with S. OR the two results into Y. Test all eight rows — only S should decide which data line you see.

D0D1MUXS = 0 picks D0Y
  1. 1
    Build itPorts named D0, D1, S and Y
  2. 2
    Pass the truth table8 rows checked
  3. 3
    Etch it (optional)a verified die in your project
⊼
Cellsclick one, then click the canvas

Build your die

Turn logic into a permanent, verifiable part.

NAND used0 / par 4
LATCH used0 / par 0
Ainput · pin0Youtput · pin
Pick a cell on the left, click to place it · drag from an output pin to an input pin to wire · click a wire to remove it · click a cell to rename it
→ Y=0

What it should do

D0 D1 SY
0 0 00
0 0 10
0 1 00
0 1 11
1 0 01
1 0 10
1 1 01
1 1 11

Stuck?

Y = (D0 AND NOT S) OR (D1 AND S).

Par is 4 NAND. Using more still passes here. To etch it as a verified die that mines, keep it within 8 NAND-equivalent (a LATCH counts 2): the verifier refuses bigger designs, so padding can't buy mining weight.

Etch it as a die (optional)

Turn this circuit into a verified die you own. It burns 0 NAND. Get materials at the Foundry.

connect a wallet to pick a project