Skip to main content

Combinational vs sequential; BCD-to-decimal decoder

Short answer

Combinational circuits have no memory and output depends only on current inputs; sequential circuits use memory elements and past state. A BCD-to-decimal decoder activates one of ten outputs for valid 4-bit BCD inputs (0–9), with don't-care conditions for invalid codes 10–15 simplifying logic.

Differentiate between combinational and sequential circuits. Explain BCD-to-Decimal decoder circuit with suitable diagram.

Combinational vs sequential circuits

PointCombinationalSequential
Output depends onPresent inputs onlyPresent inputs and past state
MemoryNoneHas memory (flip-flops)
FeedbackNoYes
ClockNot neededUsually needed (synchronous)
Building blocksGatesGates + flip-flops
ExamplesAdder, MUX, decoderCounter, register, FSM

BCD-to-decimal decoder

A BCD-to-decimal (4-line to 10-line) decoder accepts a 4-bit BCD code ABCDABCD (AA = MSB) and makes exactly one of ten outputs D0D_0–D9D_9 active, showing the decimal digit. The 7442 is the TTL IC (active-low outputs).

Truth table

ABCDActive outputABCDActive output
0000D0D_00101D5D_5
0001D1D_10110D6D_6
0010D2D_20111D7D_7
0011D3D_31000D8D_8
0100D4D_41001D9D_9

Codes 1010–1111 are invalid in BCD, so they are don't-cares.

Output expressions. With full decoding each output is a 4-variable minterm, e.g. D5=A′BC′DD_5 = A'BC'D. Using the don't-cares (K-map grouping), shorter expressions are obtained:

OutputFull decodingSimplified
D0D_0A′B′C′D′A'B'C'D'A′B′C′D′A'B'C'D'
D1D_1A′B′C′DA'B'C'DA′B′C′DA'B'C'D
D2D_2A′B′CD′A'B'CD'B′CD′B'CD'
D3D_3A′B′CDA'B'CDB′CDB'CD
D4D_4A′BC′D′A'BC'D'BC′D′BC'D'
D5D_5A′BC′DA'BC'DBC′DBC'D
D6D_6A′BCD′A'BCD'BCD′BCD'
D7D_7A′BCDA'BCDBCDBCD
D8D_8AB′C′D′AB'C'D'AD′AD'
D9D_9AB′C′DAB'C'DADAD

For example, D8D_8: 1000 can be grouped with don't-cares 1010, 1100, 1110, giving AD′AD'.

Logic diagram

 A  B  C  D
 |  |  |  |---[NOT]-- D'
 |  |  |------[NOT]-- C'
 |  |---------[NOT]-- B'
 |------------[NOT]-- A'

 A',B',C',D' --[AND4]--> D0
 A',B',C',D  --[AND4]--> D1
 B',C,D'     --[AND3]--> D2
 B',C,D      --[AND3]--> D3
 B,C',D'     --[AND3]--> D4
 B,C',D      --[AND3]--> D5
 B,C,D'      --[AND3]--> D6
 B,C,D       --[AND3]--> D7
 A,D'        --[AND2]--> D8
 A,D         --[AND2]--> D9

Working: for input 01110111, only the gate BCDBCD has all inputs 1, so D7=1D_7 = 1 and the others are 0. The simplified version gives false outputs for invalid codes (e.g. 1111 activates D7D_7 and D9D_9); if invalid codes must be rejected, full decoding is used, as in the 7442 which keeps all outputs inactive for 1010–1111. Uses: driving decimal indicators (Nixie tubes, LEDs) and selecting one of ten devices.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 4 questions →