8421 BCD Adder

Click HERE to download as PDF

A BCD adder is a digital circuit to add two BCD numbers and produces the sum as a BCD number. When a BCD number is added to another BCD number using a 4-bit binary full adder, following 3 cases may arise:

     1.       Sum is less than or equal to 9 with carry 0.
     2.       Sum is greater than 9 with carry 0.
     3.       Sum is less than or equal to 9 with carry 1.

In the first case the sum is a valid BCD number and no further process is needed, but in the second and third cases the sum is not valid and should be converted into BCD numbers. To make such a correction a factor of 6 (in binary) is added to the sum to obtain the final result.

The logic expression to check if the sum of two 4-bit binary numbers A3A2A1A0 and B3B2B1B0 => S3S2S1S0 exceeds 9 is given by,

Y = S3S2 + S3S1

With these points, a BCD adder circuit can be designed as shown in the following diagram.




As shown in the figure, the two BCD numbers, together with input carry, are first added in the top 4-bit binary adder to produce a binary sum. When the output carry is equal to zero (i.e. when sum ≤ 9 and Cout = 0) nothing (zero) is added to the binary sum. When it is equal to one (i.e. when sum > 9 or Cout = 1), binary 0110 is added to the binary sum through the bottom 4-bit binary adder. The output carry generated from the bottom binary adder is ignored as it is already available at the output carry terminal.