BCD Adder
Definition
A BCD adder is a combinational logic circuit that adds two BCD digits and produces a valid BCD sum by applying correction logic whenever the binary sum exceeds 9 or generates a carry.
A single BCD digit is represented using 4 bits:
- 0000 = 0
- 0001 = 1
- 0010 = 2
- 0011 = 3
- 0100 = 4
- 0101 = 5
- 0110 = 6
- 0111 = 7
- 1000 = 8
- 1001 = 9
Any 4-bit result from 1010 to 1111 is invalid in BCD and must be corrected.
Main Content
1. BCD Representation
BCD meaning
- Binary-Coded Decimal stores each decimal digit separately in 4 bits, instead of converting the whole decimal number into one binary number.
Digit-by-digit encoding
- For example, decimal 59 is represented as:
- 5 = 0101
- 9 = 1001
- So, 59 in BCD =
0101 1001
Why it matters
- This representation is useful because decimal values can be displayed directly and manipulated without frequent binary-to-decimal conversions.
A BCD adder works specifically with this kind of digit-wise representation. If two BCD digits are added, the raw binary sum may be valid or invalid. The circuit must check the result and correct it if necessary.
Example:
- 4 + 3 = 7
- BCD:
- 4 = 0100
- 3 = 0011
- Sum = 0111
- Since 0111 is a valid BCD digit, no correction is required.
But:
- 7 + 8 = 15
- Binary sum of 0111 + 1000 = 1111
- 1111 is not a valid BCD digit
- So the result must be corrected to represent decimal 15 as
0001 0101
2. BCD Addition Rule
Step 1: Add using binary adder
Two 4-bit BCD digits are first added using a normal binary adder.
Step 2: Check the result
If the 4-bit result is greater than 1001 (decimal 9) or if there is a carry out, the result is invalid in BCD.
Step 3: Add correction value 0110
The circuit adds 0110 (decimal 6) to the invalid sum to make it a valid BCD digit and generate a carry to the next decimal digit if needed.
Why add 6?
- A 4-bit binary sum can represent 0 to 15.
- Valid BCD values are only 0 to 9.
- The gap between invalid binary values and correct decimal adjustment is compensated by adding 6.
Important correction condition:
A BCD sum must be corrected if:
- The carry out from the 4-bit adder is 1, or
- The sum bits are greater than 1001
This rule can be expressed as:
- If
Cout = 1orS3S2S1S0 > 1001, then add0110
Example 1:
- 6 + 5 = 11
- Binary:
0110 + 0101 = 1011 1011is invalid BCD- Add
0110: 1011 + 0110 = 1 0001- Final BCD result =
0001 0001= 11
Example 2:
- 8 + 7 = 15
- Binary:
1000 + 0111 = 1111 - Invalid BCD
- Add
0110: 1111 + 0110 = 1 0101- Final BCD result =
0001 0101= 15
3. BCD Adder Circuit Structure
Two-stage addition
- A BCD adder is usually built using:
- A 4-bit binary adder for the initial addition
- A correction circuit that detects invalid sums
- Another 4-bit adder to add
0110when needed
Detection logic
- The correction logic checks whether the first sum is greater than 9 or has a carry out.
Output result
- The corrected output becomes a proper BCD digit, and any carry goes to the next decimal digit.
A simple block-level view:
BCD Input A ----\
>---- 4-bit Binary Adder ---- Sum ---- Detection ----\
BCD Input B ----/ |
+--> Add 0110 if needed --> Valid BCD Output
Carry from previous digit --------------------------------------------/
More detailed working:
- Add the two 4-bit inputs.
- If the result is 0 to 9, output it directly.
- If the result is 10 to 15, or if there is a carry, add 6.
- The final output is a valid BCD digit and carry.
This circuit is widely used in multi-digit decimal addition, where each decimal digit is processed separately and carry is propagated from the least significant digit to the most significant digit.
Working / Process
1. Add the two BCD digits using a 4-bit binary adder
- The first stage produces a binary sum and carry out.
- Example:
0101 (5) + 0110 (6) = 1011 (11)
2. Test whether correction is needed
- If the sum is
1010to1111, or if carry out is 1, the result is not a valid BCD digit. - A detection circuit identifies this condition automatically.
3. Add correction value 0110
- The invalid sum is increased by 6.
- Example:
1011 + 0110 = 1 0001 - The lower 4 bits become the BCD digit, and the carry becomes the next decimal carry.
Example of a full BCD addition:
Add 27 and 18
- 27 in BCD =
0010 0111 - 18 in BCD =
0001 1000
Add units digits:
0111 + 1000 = 1111- Invalid BCD, so add
0110 1111 + 0110 = 1 0101- Units digit =
0101 - Carry = 1
Add tens digits:
0010 + 0001 + carry 1 = 0100- This is valid BCD
Final answer:
0100 0101= 45
Advantages / Applications
Accurate decimal representation
- BCD makes it easier to represent and display decimal numbers exactly, especially in systems where decimal accuracy is important.
Simple decimal display interfacing
- It is directly suitable for 7-segment displays, calculators, and digital instruments because each digit is already stored separately.
Useful in arithmetic systems requiring human-readable output
- BCD is widely used in financial devices, digital counters, and embedded systems where decimal values must be shown clearly.
Applications include:
- Digital calculators
- Electronic meters
- Digital clocks
- Display systems
- Business and financial machines
- Embedded systems needing decimal output
Summary
- A BCD adder adds decimal digits stored in 4-bit BCD form.
- It first performs binary addition and then corrects invalid results by adding 0110 when needed.
- It is mainly used where decimal accuracy and easy display are important.
- Important terms to remember: BCD, valid BCD digit, correction logic, carry, 0110 correction, 4-bit binary adder