Maker Pro
Maker Pro

2x1 mux using half adder

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
what are you planning to multiplex?

edit: Have you tried googling for it? Several people have tried to answer this homework question on the net previously.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
The first thing you need to do is draw up the truth tables for both the half adder and the mux.

Then see if you can see how to use one or more of the half adders to produce the same truth table as the mux.

If this doesn't put you on the track to the solution, post the truth tables and an explanation of why you're stuck and we'll try to give you a hint.
 
Truth table of mux: a is selected when s = 0 and b is selected when s =1
so the eqn is (b.s)+(a.sbar)
a b s o/p
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

For half adder the equation is sum = a^b and carry = a.b
truth table is as follows
a b sum cout
o o o o
o 1 1 o
1 o 1 o
1 1 o 1

HA circuit uses xor for sum, and gate for carry.now i want to implement the mux equation and if i give "a" and "s" as my input to xor gate, the output is = (a.sbar)+(abar.s). I dont want the term abar.s and that changes the result in some cases. So i am not knowing how to model the circuit using half adders.

Please give me some direction to go on.
 
I guess i figured out the solution.

i got it from careful observation of mux table. for a and b = 0/1 the output of mux is a.b i.e carry output of half adder.
for other values of a and b the output is (a xnor b). So i think if we take half adder
the input to xor gate are b and s and then invert the output of xor gate using another xor or just an inverter. to get the final output of mux we have to or the inverted sum and carry.

Please let me know if there is a better way
 
The Mux otput function is ASbar + BS.
Use carry output of HA to implement ASbar and BS.
Finally use another HA to add both them.
Totally we need three HAs
 
Top