10 messages
Open this post in threaded view
|

 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
|

Open this post in threaded view
|

 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
|

 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
|

 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
|

Open this post in threaded view
|

 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
|