Doubt about BCD Sum circuit using full adders

  • Context: Engineering 
  • Thread starter Thread starter frank1
  • Start date Start date
  • Tags Tags
    Circuit Doubt Sum
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 3K views
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


1323_block_diagram_of_bcd_adder.png

The Attempt at a Solution



PS: sorry my english. This is not my native language.
 
Physics news on Phys.org
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


1323_block_diagram_of_bcd_adder.png

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: