BCD Adder
4-bit BCD addition, correction logic for invalid BCD.
Every digital clock, calculator, and point-of-sale terminal stores and displays numbers in BCD. Adding two BCD digits requires a standard binary adder plus a correction step that keeps each digit valid in the 0–9 range.
Core Concept
A BCD adder adds two binary-coded decimal digits (each 4 bits, values 0–9) and produces a valid BCD sum. The problem is that a standard 4-bit adder can produce results from 0 to 18 (with carry), but BCD only allows 0–9 per digit. Results of 10–15 in binary (1010–1111) are invalid BCD codes.
The fix is simple: if the binary result exceeds 9 or the adder produces a carry-out, add 0110 (decimal 6) to skip the six invalid states. Adding 6 shifts the binary result back into the valid BCD range and generates the correct carry to the next decade digit.
The 74283 is the IC of choice for each adder stage. It is a 4-bit binary adder with carry in a 16-pin DIP package, operating from 5 V with a propagation delay of 17 ns. A complete 1-digit BCD adder uses two 74283 chips: one for the initial addition and one to add the 0110 correction, plus a few gates to detect the correction condition.
Boolean Expression
The correction carry is C_out = C4 + S3·S2 + S3·S1 where C4 is the carry from the first adder, and S3, S2, S1 are the three MSBs of the binary sum. This equation detects all binary results above 9. When C_out = 1, the number 0110 is added in the second stage. The final 4-bit output is a valid BCD digit and C_out becomes the carry-in to the next BCD position.
Given:
Add BCD digits: A = 9 = 1001, B = 7 = 0111, Cin = 0
Formula / Rule:
Step 1: binary add A + B + Cin
Step 2: if sum > 9 or carry out, add 0110
Step by step:
Step 1 (first 74283):
1001
+ 0111
------
10000 binary 16, C4=1, S[3:0]=0000
Correction check:
C4 = 1 → correction needed
C_out = 1
Step 2 (second 74283, add 0110):
0000
+ 0110
------
0110 with C_out=1 carried forward
BCD Result: carry=1, digit=0110 (6)
Interpreted: tens digit = 1, units digit = 6 → 16
Final Answer:
9 + 7 = 16 in decimal ✓
BCD output: 0001 (1) in tens place, 0110 (6) in units placeExam Tip: GATE frequently asks which sums require BCD correction. The answer is: binary sums 10 through 15 (no carry from first adder) AND any sum that produces a carry-out from the first adder, including sums 16–18. Do not forget that binary 16, 17, 18 also need correction even though their lower 4 bits look like valid BCD — the carry-out flag triggers correction. The correction equation C_out = C4 + S3·S2 + S3·S1 handles all cases.
Key Properties
- Uses two 4-bit adder ICs (74283) per BCD digit position.
- Correction value is always 0110 (decimal 6); added only when needed.
- Detection logic: C_out = C4 + S3·S2 + S3·S1 — implementable with a 3-input OR and two 2-input ANDs.
- 74283 specs: 5 V supply, 17 ns max delay, fan-out 10 in LS-TTL.
- Maximum 1-digit BCD sum: 9 + 9 + 1 (carry in) = 19, producing digit 9 and carry 1.
- Multi-digit BCD adder chains these 1-digit stages; carry out of one stage is carry into next.
- BCD encoding uses only 10 of 16 possible 4-bit codes; the six illegal codes are 1010–1111.
Quick Revision
- BCD digit is 4 bits, values 0–9 only.
- Add the two BCD digits as binary first.
- If result > 9 OR carry-out = 1, add 0110 and set carry.
- Detection: C_out = C4 + S3·S2 + S3·S1.
- Two 74283 ICs plus a few gates per digit.
- Adding 6 skips the six invalid BCD codes.
- Multi-digit BCD adder chains 1-digit stages with carry.
- Exam trap: assuming only binary sums 10–15 need correction — binary sums 16–18 also need correction because C4 = 1 even though the lower 4 bits may accidentally appear valid.
BCD Adder Quiz
Test your knowledge of BCD addition rules, correction logic, and invalid code detection.
Q1.When does the BCD adder correction logic add 6 (0110) to the binary sum?
Related Articles
Full Adder
Three input adder, carry in, truth table, implementation.
6 min read
Half Adder
Single bit addition, sum and carry outputs, XOR and AND.
10 min read
Ripple Carry Adder
Cascaded full adders, carry propagation delay.
11 min read
Code Converter Circuits
BCD to Gray, Gray to BCD, BCD to Excess-3 circuits.
9 min read
BCD to 7-Segment Decoder
IC 7447, display driver, segment mapping.
5 min read