Seven-Segment Displays and BCD Decoding
← All articles

Seven-Segment Displays and BCD Decoding

5 min

Anatomy of a digit

A seven-segment display is seven independently-lit bars, conventionally labelled a through g, arranged in a figure-8. Lighting the right subset of segments renders any digit from 0 to 9 (and, with creative wiring, A–F for hexadecimal). Each segment is driven by its own output signal — there is no single 'value' pin, only seven independent on/off lines.

feabgcd

From BCD to segments

A BCD-to-seven-segment decoder takes a 4-bit binary-coded-decimal input (0000 through 1001) and produces seven outputs, one per segment. Each of those seven outputs is its own Boolean function of the 4 input bits, derivable the same way as any other function: write its truth table, then simplify with a Karnaugh map.

  • Segment a, for example, is lit for digits 0, 2, 3, 5, 6, 7, 8, 9 and dark only for 1 and 4 — an 8-row-of-10 truth table like any other.

Boolflow's SEG7 element

Boolflow ships a ready-made SEG7 block that performs this whole decode internally — feed it a 4-bit BCD value and it lights the correct segments directly, with no gates required. See the Help reference for its exact pin layout.

Building a visible counter

Wire a 4-bit up-counter output straight into a SEG7 block and drive the counter's clock from a CLOCK element: the display now counts 0 through 9 and rolls over, live, in the circuit editor — a small but satisfying way to see binary counting turned into something readable.

Drive a SEG7 element from a counter →