Skip to content
digiwleeaTools
LearnGlossaryAboutCheat sheetHow a CPU worksToolsOpen the lab →

74LS47: the BCD to 7-segment decoder/driver, live

The 74LS47 is a BCD-to-seven-segment decoder/driver: it turns a 4-bit BCD digit on D C B A into the seven segment signals a to g for a common-anode display, with active-low outputs, so a LOW output lights its segment. It adds a lamp test (LT), leading-zero blanking (RBI and RBO) and a blanking input (BI). This live circuit follows its function table, with a display that lights wherever an output is LOW.

Each segment output is a function of the four input bits, written here as its minimal sum of products (for example, segment e is lit for C'A' + BA'), so the decoder itself is 16 shared AND terms feeding seven OR chains. Two details give the chip away: it draws 6 and 9 without tails (6 has no top segment and 9 no bottom one, while the generic BCD to 7-segment decoder on this site draws both tails), and inputs 10 to 14 show five odd symbols that TI's datasheet calls "unique symbols to authenticate input conditions", while 15 is blank. The control inputs are all active low. LT = 0 turns every segment on, to test the display. RBI = 0 blanks the digit when it is 0 and pulls RBO low, so chaining RBO of one digit to RBI of the next suppresses leading zeros, as in 0042 shown as 42. BI = 0 turns everything off, whatever the other inputs say, which is also how you dim a display by pulsing it. On the chip BI and RBO share one wire-AND pin; here they are a separate input and output. The outputs are open collector, and per the datasheet the SN74LS47 sinks up to 24 mA at up to 15 V, enough to drive LED segments through resistors. All 128 combinations of LT, RBI, BI and D C B A are checked against the datasheet's function table before the page is built. The live circuit opens showing 0, with LT, RBI and BI high.

Big circuit: pinch, scroll or tap + to zoom in, then drag to move around.

Live circuit: click the inputs to toggle them and watch the outputs update. It runs the real simulator, right here on the page.

Open this circuit in the lab →

What you need

Step by step

  1. Place the BCD inputs D, C, B, A (D is the most significant bit), the control inputs LT, RBI and BI, probes a to g and RBO, and a 7-segment display.
  2. Decode each segment from the function table as a minimal sum of products, for example e = C'A' + BA' and c = D'C + C'B' + C'A.
  3. Add the controls: OR each decode with NOT LT for the lamp test, and form blank = NOT BI + LT RBI' (DCBA = 0000), with RBO = NOT (LT RBI' zero).
  4. Make each output active low: out = NAND(on, NOT blank), and drive the display through inverters.
  5. Step D C B A from 0000 to 1111 and watch the digits, the tailless 6 and 9 and the five symbols; then try LT = 0, BI = 0, and RBI = 0 with the input at 0000.

74LS47 function table

InputD C B ALit segmentsa b c d e f g (0 = lit)
00 0 0 0a b c d e f0 0 0 0 0 0 1
10 0 0 1b c1 0 0 1 1 1 1
20 0 1 0a b d e g0 0 1 0 0 1 0
30 0 1 1a b c d g0 0 0 0 1 1 0
40 1 0 0b c f g1 0 0 1 1 0 0
50 1 0 1a c d f g0 1 0 0 1 0 0
60 1 1 0c d e f g1 1 0 0 0 0 0
70 1 1 1a b c0 0 0 1 1 1 1
81 0 0 0a b c d e f g0 0 0 0 0 0 0
91 0 0 1a b c f g0 0 0 1 1 0 0
10 (symbol)1 0 1 0d e g1 1 1 0 0 1 0
11 (symbol)1 0 1 1c d g1 1 0 0 1 1 0
12 (symbol)1 1 0 0b f g1 0 1 1 1 0 0
13 (symbol)1 1 0 1a d f g0 1 1 0 1 0 0
14 (symbol)1 1 1 0d e f g1 1 1 0 0 0 0
15 (symbol)1 1 1 1none (blank)1 1 1 1 1 1 1
BI = 0anynone1 1 1 1 1 1 1
RBI = 0, LT = 10 0 0 0none, and RBO = 01 1 1 1 1 1 1
LT = 0 (BI high)anyall (lamp test)0 0 0 0 0 0 0

74LS47 pinout

PinNamePinName
1B9e
2C10d
3LT (active low)11c
4BI/RBO (active low)12b
5RBI (active low)13a
6D14g
7A15f
8GND16VCC

Segments are named a (top) clockwise to f, with g in the middle. Rows 0 to 15 assume LT, RBI and BI high (RBI only matters at 0000). The table, the 16-pin DIP pinout and the drive figures are from TI's SN54LS47/SN74LS47 datasheet (SDLS111), checked 2026-10-25. The 74LS48 has active-high outputs with internal pull-ups instead, for common-cathode displays.

You can also read the full theory in the lesson on decoders. Prefer to build it yourself from scratch? Open the digiwleea lab and place the gates on the canvas, or start from the logic gate simulator.

Build more parts from gates

half adderfull adderhalf subtractorfull subtractor2:1 multiplexer4:1 multiplexerXOR gate from NAND gates2-to-4 decoderSR latchD flip-flopJK flip-flopT flip-flop4-bit shift register4-bit ripple carry adderD latch1-to-4 demultiplexer4-bit magnitude comparator4-bit ring counter4-bit Johnson counter4-to-2 priority encoder4-bit synchronous counter3-to-8 decoder8-to-1 multiplexer4-bit carry lookahead adderhalf adder from NAND gates2-bit comparatorBCD to 7-segment decoder4-bit up/down counterdecade counter2-bit multiplier4-bit ALU4-bit array multiplierNOT, AND, OR and NOR from NANDNOT, OR, AND and XOR from NORfull adder from NAND gatesSR latch from NAND gatesparity generator and checker4-bit adder/subtractorBCD adder4-bit universal shift registermod-6 counter4-bit ripple counterbinary to Gray code converterhalf adder from NOR gatesfull adder from NOR gates4-bit register with parallel load1011 sequence detectorbinary to BCD converterD flip-flop from NAND gates1-bit ALUCMOS inverterCMOS NAND gateCMOS NOR gatePISO shift registerSR flip-flop from NAND gatesBCD to excess-3 code converterHamming (7,4) code encoder and correctortraffic light controller4-bit barrel shifterCMOS AND gateCMOS OR gateCMOS XOR gate1-bit magnitude comparatorhalf subtractor from NAND gatesfull subtractor from NAND gates8-to-3 encoderGray to binary converter4-to-16 decoderfull adder using 4:1 multiplexersedge detectorserial adder4-bit carry-select adder4-bit Kogge-Stone adder4-bit carry-skip adder4x4 Wallace tree multiplier8-bit adderfrequency divider (by 2, 4 and 3)switch debouncer (SR latch)3-bit Gray code counterMealy machine (1011 detector)master-slave JK flip-flop (NAND)half subtractor from NOR gates1-to-8 demultiplexerexcess-3 to BCD code convertervending machine FSM4-bit carry-save adder3-bit synchronous counter (JK)CMOS transmission gatetri-state buffer (CMOS)2-to-1 mux from transmission gatesmod-5 counterflip-flop conversion (JK to D)8-bit ALUdecimal to BCD encoderBCD to decimal decoder4-to-1 mux from 2-to-1 muxesXOR gate from NOR gates4-bit LFSR74LS138 decoderBCD subtractor74181 ALUCMOS AOI gate (AOI21)D latch vs D flip-flop74HC595 shift register7400 quad NAND gate chip7402 quad NOR gate chip7404 hex inverter chip7408 quad AND gate chip7432 quad OR gate chip7486 quad XOR gate chip7474 dual D flip-flop74HC165 shift registerCD4017 decade counter74LS283 4-bit adder74LS90 decade counter74HC161 4-bit counter

Each of these is one step from a transistor to a working CPU. Build every gate from CMOS transistors and work all the way up in the free digiwleea lab, with the free theory reference alongside.

Open the 74LS47 BCD to 7-segment decoder in the lab →

Frequently asked

What does the 74LS47 do?

It converts a 4-bit BCD digit (inputs D, C, B, A) into the seven segment signals a to g for a common-anode 7-segment display. Its outputs are active low and open collector, so they sink current to light each segment, and it adds lamp test, ripple blanking for leading zeros and a blanking input.

Is the 74LS47 for common anode or common cathode displays?

Common anode. Its outputs go LOW to light a segment, pulling current through the segment from the shared anode. For a common-cathode display, use an active-high decoder such as the 74LS48.

What do LT, RBI and BI/RBO do on the 74LS47?

LT (lamp test) low turns all segments on. RBI (ripple blanking input) low blanks the display when the input is 0 and drives RBO low, so chained digits suppress leading zeros. BI low blanks the display regardless of the other inputs; BI and RBO share one pin.

Why do 6 and 9 look different on a 74LS47?

The 74LS47 draws 6 without its top segment and 9 without its bottom segment (no tails). TI's 74LS247 is the version that draws both digits with tails.

What does the 74LS47 show for inputs above 9?

Inputs 10 to 14 show five distinct symbols made of the lower and middle segments, and 15 turns every segment off. The datasheet describes them as unique symbols so that invalid inputs can be recognized.