2x1 mux using half adder

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
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.
 

tchintap

May 6, 2010
4
Joined
May 6, 2010
Messages
4
I googled but i couldnt find answer. I found many answers about how to build half adder using 2x1 mux
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
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.
 

tchintap

May 6, 2010
4
Joined
May 6, 2010
Messages
4
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.
 

tchintap

May 6, 2010
4
Joined
May 6, 2010
Messages
4
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
 

Amalathithan

Nov 17, 2015
1
Joined
Nov 17, 2015
Messages
1
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