• Engineering

## Homework Statement

I understand this BCD sum circuit. The only thing that I'm not understanding is why last full adder carry out also triggers an 6-sum in the other part of the circuit. I mean, if the nibble is not an valid BCD number, we sum six to the number. Not valid BCD numbers are 10,11,...,15. Using K-maps you simplify this list, use an OR gate and sum six to the nibble.

So, my question is: why the overflow is also a trigger to sum six to the nibble? And in the same manner, why invalid nibbles also represent carry out?

In my view, carry-out shouldnt go into that OR gate. It should that be an indicator of overflow, and OR gate would be used only by the invalid nibbles.

## Homework Equations ## The Attempt at a Solution

PS: sorry my english. This is not my native language.

Related Engineering and Comp Sci Homework Help News on Phys.org
collinsmark
Homework Helper
Gold Member

## Homework Statement

I understand this BCD sum circuit. The only thing that I'm not understanding is why last full adder carry out also triggers an 6-sum in the other part of the circuit. I mean, if the nibble is not an valid BCD number, we sum six to the number. Not valid BCD numbers are 10,11,...,15. Using K-maps you simplify this list, use an OR gate and sum six to the nibble.

So, my question is: why the overflow is also a trigger to sum six to the nibble? And in the same manner, why invalid nibbles also represent carry out?

In my view, carry-out shouldnt go into that OR gate. It should that be an indicator of overflow, and OR gate would be used only by the invalid nibbles.

## Homework Equations ## The Attempt at a Solution

PS: sorry my english. This is not my native language.

Code:
  1 1 1 1
+ 0 0 0 1
---------
Of course, we know that in straight binary, this should sum to
Code:
1 0 0 0 0
But in binary coded decimal (BCD), the "Output carry" is the 10's numeral, and the rest of the bits represent the one's numeral. In other words, it should be an output carry '1' and the rest should be a '6' to indicate 16. So the BCD result should be
Code:
1   0 1 1 0
Does that make sense?

[Edit: Of course, it appears that this particular circuit cannot output BCD numbers greater than 19]

Last edited: