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