Why does carry-out trigger adding 6 in BCD sum circuit?

1 reply · 3K views · last reply
frank1
Messages
25
Reaction score
0

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 shouldn't 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


Block diagram of a BCD adder: two 4-bit binary adders, the upper one with Addend and Augend inputs, Carry in, Carry out and outputs Z8, Z4, Z2, Z1; an OR gate and two AND gates feed a constant "0" input to the lower 4-bit binary adder, which outputs S8, S4, S2, S1.

The Attempt at a Solution



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

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 shouldn't 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


Circuit schematic of a BCD adder: two 4-bit binary adders with Addend, Augend and Carry in inputs, Carry out feeding AND and OR gates, a constant 0 input, and outputs S8, S4, S2, S1.

The Attempt at a Solution



PS: sorry my english. This is not my native language.
Try adding 15 + 1.

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: