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

  • Thread starter heman
  • Start date
  • Tags
    Adder
In summary, the conversation discusses the concept of cascading full adders to create a byte-wide adder, and how this works by carrying the result and carry bit from one adder to the next. The example of adding multidigit numbers is used to explain the concept in both decimal and binary. The use of cascaded adders is compared to the process of adding multidigit numbers, where the carry from one digit is added to the next digit to produce the final result.
  • #1
heman
361
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
  • #2
So what is the issue you're having? You don't understand how full adders work? You don't know how to cascade them?
 
  • #3
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
 
  • #4
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:
  • #5
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
 
  • #6
Thanks Job and Janus for detailed explanation,,

Its clear to me now.
 

1. How does a byte-wide adder work?

A byte-wide adder is a type of digital circuit that is used to perform addition on two binary numbers, each consisting of 8 bits or 1 byte. It works by using a series of logic gates, such as AND, OR, and XOR gates, to perform the binary addition operation on each pair of bits in the two input numbers, taking into account any carry bits from previous additions.

2. What is the purpose of a byte-wide adder?

The purpose of a byte-wide adder is to perform addition on binary numbers that are 8 bits or 1 byte in length. This is commonly used in computer systems, as most data is represented in binary form and often needs to be added together for various operations.

3. What are the inputs and outputs of a byte-wide adder?

The inputs of a byte-wide adder are two binary numbers, each 8 bits in length. The outputs are also a binary number, 8 bits in length, representing the sum of the two input numbers.

4. Can a byte-wide adder handle numbers larger than 8 bits?

No, a byte-wide adder is specifically designed to work with numbers that are 8 bits or 1 byte in length. It would not be able to handle larger numbers without modifications to its design.

5. How accurate is a byte-wide adder?

A byte-wide adder is very accurate, as it follows the standard rules of binary addition and utilizes precise logic gates. However, like any digital circuit, it can be affected by errors or malfunctions in its components, which can impact its accuracy.

Similar threads

  • Set Theory, Logic, Probability, Statistics
Replies
3
Views
811
  • Engineering and Comp Sci Homework Help
Replies
5
Views
2K
  • Programming and Computer Science
Replies
1
Views
674
  • STEM Educators and Teaching
Replies
15
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
6
Views
17K
Replies
1
Views
2K
  • Electrical Engineering
Replies
6
Views
6K
  • Engineering and Comp Sci Homework Help
Replies
6
Views
5K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
3K
Back
Top