How can a byte-wide adder be created using full adders?

  • Thread starter Thread starter heman
  • Start date Start date
  • Tags Tags
    Adder
Click For Summary

Discussion Overview

The discussion revolves around the construction of a byte-wide adder using full adders, focusing on the cascading of full adders to handle multi-bit binary addition. Participants explore the concept of using full adders as building blocks for larger adders, drawing parallels to multi-digit decimal addition.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • Some participants explain that a byte-wide adder can be created by cascading eight full adders, with the carry output from one adder feeding into the next.
  • One participant expresses uncertainty about the concept of cascading adders as a black box for any number of bits, despite understanding how full adders function.
  • Another participant provides an example of adding multi-digit decimal numbers to illustrate the need for cascading and handling carries, suggesting that the same principles apply to binary addition.
  • Further elaboration includes a detailed step-by-step binary addition example, showing how carries are managed through the cascading process of full adders.
  • Participants discuss the similarities between binary and decimal addition, emphasizing the role of carries in both systems.

Areas of Agreement / Disagreement

Participants generally agree on the mechanics of cascading full adders for binary addition, but there remains some uncertainty regarding the conceptual understanding of this process as a black box for arbitrary bit-widths.

Contextual Notes

Some participants' understanding of cascading may depend on their familiarity with both binary and decimal addition techniques, which could influence their grasp of the concept.

Who May Find This Useful

This discussion may be useful for individuals interested in digital electronics, computer architecture, or anyone looking to understand the principles of binary addition and the construction of adders.

heman
Messages
353
Reaction score
0
Can someone please explain this to me..

Once we have a full adder, then we can string eight of them together to create a byte-wide adder and cascade the carry bit from one adder to the next.
 
Computer science news on Phys.org
So what is the issue you're having? You don't understand how full adders work? You don't know how to cascade them?
 
i know how full adders work...but this concept of using adder as black box for anu no. of bits by cascading is not clear to me
 
Suppose we need to add the two numbers 4,256 and 3,124 in decimal rather than binary. Suppose the only adder we have available can support at most inputs with two decimal digits. What we can do is the following:

Code:
 42   56
+31  +24
---- ----
 73   80

And then concatenate the two together to get 7380. Of course you can see a problem with this, for example, try adding 4,256 and 3,150:

Code:
 42   56
+31  +50
---- ----
 73  106

If you concatenate them you get 73106 which is way off, the actual result is 7406. To fix this we can do the following:
.first, perform the addition of the lower digits:
Code:
   56
  +50
  ----
1  06
(we get 06 plus the carry out of 1, the carry out is always 1 or 0)
. second, perform the addition of the higher digits plus the carry out:
Code:
  42  
  31
+  1
---- 
  74
. now concatenate and get the correct result:7406

If the numbers we wanted to add had 10 digits instead of 4, we could use 5 adders. We need to cascade them because the second adder needs the carry out of the first one. The third adder needs the carry out of the second one ...etc. This example was in base 10, but with binary it's the same thing.
 
Last edited:
heman said:
i know how full adders work...but this concept of using adder as black box for anu no. of bits by cascading is not clear to me

It works that same way as when we add two multidigit numbers.

say 23457 and 38468:

we start by adding the 7 and 8 and get a 5 with a carry of 1.
we add this 1 to the 5 and 6, get 2 with a carry of 1
we add this 1 to the 4 and 4 and get 9 with no carry (a carry of zero)
we add this zero to the 8 and 3 and get 1 with a carry of 1
we add this 1 to the 2 and 3 and we get 6 with no carry

givng us 61925.

With a binary adder we just use binary addition where:
(here the last digit added is the carry in)
0+0+0 = 0 and a carry of 0
0+0+1 = 1 w/c of 0
1+0+0 or 0+1+0 = 1 w/c of 0
1+0+1 or 0+1+1 = 0 w/c of 1
1+1+0 = 0 w/c of 1
1+1+1 = 1 w/c of 1

When we cascade the adders,we take the carry from the lower Significant bit adder and feed it to the next adder along with the other two bits. This produces a result and a carry for the next adder. this is the same as when we took the carry from adding the 7 and 8, added it to the 5 and 6 and got a 2 for the tens digit and a carry of one to add to the 100s digit in the example given above.

Thus feeding 10101 and 00111 to a set of cascaded full adders produces.

1+1+0 = 0 w/c 1 (LSB)
0+1+1 = 0 w/c 1
1+1+1 = 1 w/c 1
0+0+1 = 1 w/c 0
1+0+0 = 1 w/c 0 (MSB)

giving us 111000
 
Thanks Job and Janus for detailed explanation,,

Its clear to me now.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 15 ·
Replies
15
Views
5K
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
19K
Replies
1
Views
3K
Replies
6
Views
6K
  • · Replies 6 ·
Replies
6
Views
7K
  • · Replies 1 ·
Replies
1
Views
6K
Replies
5
Views
9K