Sun, 18 Sep 2011, 03:43
My students in EE 306, Apparently many of you are having trouble with Problem 6B. You are asked to implement A XOR B using two 2-input muxes, and you have no inverters (NOT gates) available to you. Question: Can you implement an inverter (i.e., a NOT gate) with one of those 2-input muxes? Recall a mux look like this: X Y | | | | ------------------ Z_____\ / \ / ---------- | | OUT There are three inputs to the mux. In normal usage, X and Y are sources and Z is a control signal identifying whether OUT = X or OUT = Y. But here, we decided to stretch your brain and ask you to use a mux in a non-conventional way. That is, we want you to use the 2-input mux as a logic building block with three inputs X,Y,Z and one output OUT. We can choose any of the three values {0,1,A} for X, for Y, and for Z. For example, we could let X=A, Y=A, and Z=A. But that would be silly since then OUT=A, and the mux would have accomplished nothing. Can we choose values for X,Y, and Z such that OUT = NOT(A). Once we have done that, we still have one 2-input mux left for making the XOR gate. For this mux, we can select for each of the three inputs X,Y,Z any value from {0,1,A,NOT(A)}. NOT(A) is the output of the first mux and so can be one or more of the three inputs to the second mux. Problem 6B is, I admit, tricky. But it allows you to stretch your brain a little. And since you are hopefully working in a study group, you can tackle the problem together. Hopefully, you find the treatment above helpful. Good luck finishing the assignment and with the rest of the course. Yale Patt