# Full-Adder (3 Gates)

12 messages
Open this post in threaded view
|

## Full-Adder (3 Gates)

 I managed to hook up the full-adder gate using 2 Half Adder gates and a very elementary gate. Without this gate I can't get the expected result for {a,b,c} = {1,1,0} and {a,b,c} = {1,1,1}. I know that that is allowed. My question is: Can it be done with merely 2 Half Adder gates? Thanks in advance.
Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

 Administrator erwinleonardy wrote Can it [full adder] be done with merely 2 Half Adder gates? Full adder requires some simple logic in addition to the half adders. --Mark
Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

 Looking at truth table I see that if a==0 then half-adder, else half-adder not. I have played with many combinations of gates: 1 and 2 half-adders in combination with Mux, DMux and Not with no success. It seems that I should be able to use 1 half-adder and invert if a==1. Not sure how to wire together an "if else" statement using gates. I do enjoy "the hunt" so don't want you to give me the answer, but if you could point me in the right direction I'd much appreciate it.
Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

 Administrator A full adder can be implemented using three half adders. Just track the math that you do by hand to add three one-bit numbers together under the constraint of only getting to add two one-bit numbers together at any one time. The logic design falls out immediately from those steps.
Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

 As Half-Adders have 2 inputs and 2 outputs I figured (looking at my diagram) that a carry bit will need to be "dropped", as Full-Adder has 3 inputs. I recall Noam and Shimon mentioning this carry bit "dropping off" in the video. No matter how I wire the 3 Half-Adders, the test fails? I figured that the 1st Half-Adder was where to set carry to true (I also tried false.) Frankly, I thought that there would be an implementation where there would be 1 or 2 Half-Adders and some way to negate sum and carry, depending on whether a was 0 or 1 - as that was the way the truth table seemed to lead - logically.
Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

 I got it, thanks to your "take it easy, take it slow" exhortation. I had it an hour ago or so, but had a sum and carry piped wrong. Thanks much!
Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

 Thank you for spelling out the FullAdder. I was able to follow pretty close. One phrase caught me up a tad, "The 1 is the final two's digit and the 0 is the final four's digit" When I add on paper there is no carry of 0 into the 4s position. My gate implementation has: "carry=false". Thanks again; I don't know what I'd do without your help. You have a way of helping me think about the problem without giving away the solution/answer. Thank you!
Open this post in threaded view
|

## Re: Full-Adder (3 Gates)

 Administrator Thanks. That's the goal -- to help you through the specific issue you are currently having so that YOU can still do the bulk of the work in solving the overall problem. You learn a lot more that way, though it can certainly be more frustrating for everyone involved, especially you.