Discussion in 'Homework Help' started by eldadoh, May 2, 2014.

May 2, 2014
23
0
how can i design 3 bit full adder from regular full adder?

Last edited: May 2, 2014

Apr 5, 2008
16,983
2,965
Last edited: May 2, 2014

May 2, 2014
23
0
4. ### tshuck Well-Known Member

Oct 18, 2012
3,527
675
Hello, and welcome to the forums.

You will need to put some effort into the solution before we can help you.

What do you think you may have to do?

Also, when you add in decimal, at what point do you carry over to the next digit? Does that occur in binary? If so, where?

When posting in Homework Help, be sure to include your best guess, or at least something you know about the problem so we can have a jumping off point for discussion.

May 2, 2014
23
0
well digital design is new for me , i am at the end of my first semester.the soultion is only from the subject of Adders and logic gates.
about my question , I understand the truth table of HA and FA and the logic meaning of those components, but in FA there is sum of 2 binary digits and a carry and in my question there are 3 binary entries and a carry and I don't understand how I can build the correct truth table .

Last edited: May 2, 2014
6. ### tshuck Well-Known Member

Oct 18, 2012
3,527
675
Okay, you know that when you add (in decimal), you start from the lowest significant digit, add the two values and add any digits that exceed the possible values for a single digit (above 0-9) to the next higher digit.

Can you make any connections with doing this in binary?

May 2, 2014
23
0
in binary I know that when I add :
0+0=the sum is 0 and the carry is 0
0+1=the sum is 1 and the carry is 0
1+0=sum 1 carry 0
1+1=sum 0 carry 1

and when there is a carry :
0+0 +carry 0=sum 0 carry 0
0+0 +carry 1=sum 1 carry 0
0+1 +carry 0=sum 1 carry 0
0+1 +carry 1=sum 0 carry 1
1+0 +carry 0=sum 1 carry 0
1+0 +carry 1=sum 0 carry 1
1+1 +carry 0=sum 0 carry 1
1+1 +carry 1=sum 1 carry 1

but in 3 entries and a carry
0+0+0 +carry 0=sum 0 carry 0
0+0+0 +carry 1=sum 1 carry 0
0+0+1 +carry 0=sum 1 carry 0
0+0+1 +carry 1=sum 0 carry 1
0+1+0 +carry 0=sum 1 carry 0
0+1+0 +carry 1=sum 0 carry 1
0+1+1 +carry 0=sum 0 carry 1 ??
0+1+1 +carry 1=sum 1 carry 1 ??
1+0+0 +carry 0=sum 1 carry 0 ??
1+0+0 +carry 1=sum 0 carry 1 ??
1+0+1 +carry 0=sum 0 carry 1 ??
1+0+1 +carry 1=sum 1 carry 1 ??
1+1+0 +carry 0=sum 0 carry 1 ??
1+1+0 +carry 1=sum 1 carry 1 ??
1+1+1 +carry 0=sum 1 carry 1 ??
1+1+1 +carry 1=sum 1 carry 1 second carry 1 ????? OR is it s1 (s1>sum=s0) =1 sum =0 carry =0 ??

This is how my point of view, and I think i have a mistake.

8. ### tshuck Well-Known Member

Oct 18, 2012
3,527
675
You are looking at the big picture, while I am taking about a single stage whose outputs become the next stage's inputs - the principle behind a ripple-carry adder.

So, if you have $a + b, where a ={a_{2},a_{1},a_{0}} and b ={b_{2},b_{1},b_{0}}$, you add them in stages.

So, let's add this is decimal and let a=133 and b=496

Stage 0:
$a_{0}+b_{0} = 3+6 =9$
The sum($s_{0}$) is 9 with no carry($c_{0}$).

Stage 1:
$a_{1}+b_{1} +carry_{0} = 3+9+0 =12$
The sum($s_{1}$) is 2 with a carry($c_{1}$) of 1.

Stage 2:
$a_{2}+b_{2} +carry_{1} = 1+4+1 =6$
The sum($s_{2}$) is 6 with a carry($c_{2}$) of 0.

The result is comprised of the sum of each stage s and the final carry, where $s={s_{2},s_{1},s_{0}}$, so the result is $result={carry_{2},s_{2},s_{1},s_{0}} = {0,6,2,9}$, which tells us the result of 133 + 496 = 629.

Looking at it like this, can you extend this method to a binary adder using full adders?

Last edited: May 2, 2014

May 2, 2014
23
0
hello again , I think i didnt understand you . you tried to explain me how ripple carry header works ? anyway I understand this subject.
what i am looking for is how to make this component , can you explain me how this one works ?

File size:
2.1 KB
Views:
35
File size:
12.6 KB
Views:
44
10. ### tshuck Well-Known Member

Oct 18, 2012
3,527
675
Okay, if know how it works, would it be difficult to add another input per stage?

May 2, 2014
23
0
yes! because I Still don't know how to make the truth table of it. sorry I am new at this, what easy for you might be not easy for me . if you can look at the truth table that I wrote on one of my replies and try to fix me

12. ### tshuck Well-Known Member

Oct 18, 2012
3,527
675
This is an intuitive approach - it is what you do everytime you add things, but you must look at it as a series of steps in order to do this.

If you truly want a truth table, fill this out understanding that your sum is now two bits and the carry is still just one bit:
 A B C Cin S1 S2 Cout 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

A truth table covers any and all possible inputs and shows the resulting outputs.

Last edited: May 2, 2014
13. ### WBahn Moderator

Mar 31, 2012
20,075
5,666
Consider how you add two decimal numbers. Say

Code ( (Unknown Language)):
1.
2.   37846
3.  +29384
4. ----------
5.
When you are adding the hundreds column, what information do you need to know what the hundreds digit is in the answer and whether or not there is a carry to the thousands digit?