Digital logic parts guide: logic gates, flip-flops, multiplexers and memory
One page per part: what it does, its truth table (or function table), its pins, how it is usually wired, and common mistakes. Press “Try this circuit in Norro” to play with it in your browser.
Input / Output
- SwitchA manual 0/1 input — the usual way to feed variables into a circuit.
- ClockA signal that keeps flipping between 0 and 1 on its own, used to driv…
- LEDShows one bit: lit for 1, dark for 0. Use it to watch an output.
- 7-segment displaySeven-segment display: inputs a–g each light one stroke, together for…
Logic gates
- OR gateThe output is 1 when at least one input is 1.
- AND gateThe output is 1 only when every input is 1.
- NOT gate (inverter)Inverter: the output is always the opposite of the input.
- NOR gateOR followed by NOT: the output is 1 only when every input is 0.
- NAND gateAND followed by NOT: the output is 0 only when every input is 1.
- XOR gate (exclusive OR)Exclusive OR: the output is 1 when an odd number of inputs are 1 — wi…
- XNOR gate (exclusive NOR)XOR followed by NOT: with two inputs, the output is 1 when they are e…
Combinational
- MultiplexerMultiplexer: the select lines S pick one of several data inputs and p…
- DemultiplexerDemultiplexer: routes input D to the output chosen by S; all other ou…
- DecoderDecoder: whatever number the n-bit input A holds, that output Y goes…
- EncoderEncoder: outputs the binary number of whichever input is 1.
- Hex to 7-segmentHex to 7-segment: turns a 4-bit number (0–F) into the a–g signals a s…
Flip-flops
- RS flip-flopRS flip-flop: S=1 sets Q to 1, R=1 resets it to 0, both 0 holds.
- JK flip-flopJK flip-flop: like RS, but J=K=1 toggles instead of being forbidden.
- D flip-flopD flip-flop: stores D at the instant CLK goes from 0 to 1; Q stays pu…
- T flip-flopT flip-flop: with T=1 it toggles on every rising clock edge; with T=0…
Bus & memory
- RegisterRegister: an n-bit D flip-flop that stores the whole D bus on each ri…
- ROMRead-only memory: outputs the 8-bit value stored at address A.
- RAMRead/write memory: Dout always shows the value at address A; with WE=…
- Value inputValue input: sends a whole multi-bit number at once (a bus, drawn as…
- SplitterSplitter: breaks an n-bit bus into n single-bit wires.
- JoinerJoiner: combines n single-bit wires into one n-bit bus.
- Value displayValue display: shows a bus value in both hexadecimal and decimal.