written 8.5 years ago by | • modified 2.9 years ago |
$(0111)_{BCD } + (1001)_{BCD}$. -
written 8.5 years ago by | • modified 2.9 years ago |
$(0111)_{BCD } + (1001)_{BCD}$. -
written 8.5 years ago by |
A BCD adder adds two BCD digits and produces output as a BCD digit. A BCD or Binary Coded Decimal digit cannot be greater than 9.
The two BCD digits are to be added using the rules of binary addition. If sum is less than or equal to 9 and carry is 0, then no correction is needed. The sum is correct and in true BCD form.
But if sum is greater than 9 or carry =1, the result is wrong and correction must be done. The wrong result can be corrected adding six (0110) to it.
For implementing a BCD adder using a binary adder circuit IC 7483, additional combinational circuit will be required, where the Sum output $S_3-S_0$ is checked for invalid values from 10 to 15. The truth table and K-map for the same is as shown:
The Boolean expression is, $Y = S_3S_2 + S_3S_1$
The BCD adder is shown below. The output of the combinational circuit should be 1 if Cout of adder-1 is high. Therefore Y is ORed with Cout of adder 1.
The output of combinational circuit is connected to B1B2 inputs of adder-2 and $B_3 = B_1 + 0$ as they are connected to ground permanently. This makes $B_3B_2B_1B_0$ = 0110 if Y' = 1.
The sum outputs of adder-1 are applied to $A_3A_2A_1A_0$ of adder-2. The output of combinational circuit is to be used as final output carry and the carry output of adder-2 is to be ignored.
Operations of: $(011)_{BCD} + (1001)_{BCD}$
Thus,
Cout = 1
$S_3S_2S_1S_0 = 0000$
Hence, for adder, inputs will be $A_3A_2A_1A_0 = 0000$ and $B_3B_2B_1B_0 = 0110$
This will give final output as Cout $S_3S_2S_1S_0= 1 0110$.
Therefore, $(0111)_{BCD} + (1001)_{BCD}$ = $(0001 0110)_{BCD}$ .