Implementing a boolean function using a decoder

I am taking a course in computer organization, and currently struggling with circuits. I was stumped by the question below.

I drew the K-map for the boolean function and managed to obtain a simplified SoP expression:
W'Y' + XY + WX' (here ' refers to the complement). I noticed that this expression is independent of the boolean variable Z. We are left with 3 variables W, X and Y, so I guessed that we need to use S1, S0 and E as input signals (even though E is also an enable signal). But E must always be 0 for the decoder to be active, so I figured I had to make E correspond to a variable which was always in complemented form in the boolean expression of the function. But I couldn't find such a variable. Compounding my troubles was the fact that all the outputs are active-low, which makes things more confusing. After being stuck for ages, I decided to refer to the (extremely brief) solution, shown below.

I could not make sense of the solution. Apart from the fact that I was clueless as to how to implement the function, the boolean expression was also different from the one I had obtained. I would really appreciate a thorough explanation at this point.

EDIT: Here is the K-map which I drew, from which I derived the expression W'Y' + XY + WX'.

• Your kmap is incorrect Commented Feb 17, 2015 at 7:59

The reason you are getting incorrect expression is because your K-map is incorrect. Look carefully, 0110 (6) and 0111(7) should be zero, not one.

If you construct the K-map properly, you will arrive at the same expression ie

Q = W + Y'


which using Demorgans rule becomes

Q = (W'.Y)'


This corresponds to (01)' . But since your outputs are active low, this is no problem.

The four results form a square in a 4D K-map. X and Z are the only variables that differ, and so are seen as "don't cares". As such, only 2 of the variables have constant values, W and Y. So your final equation must involve W and Y. W must be 0 and Y must be 1, therefore (W, Y) must select output 1.

• When you say 4D K-map do you mean 4x4? Anyway, when I drew the K-map I got the SoP expression to be W'Y' + XY + WX' which includes three variables that differ? Commented Feb 17, 2015 at 7:30

$$J(w, x, y, z) = x\bar{z}$$

I think that the negation in decoder's output make you get wrong, as POS makes the zeroes of the function, the overall result is that really your POS is a SOP, but this problem has another trap inside.

So, if you double negate $J$ you get, $$~~~~~\overline{J} = \prod M(0, 1, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15)\\ \overline{\overline{J}} = \sum M(0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 14, 15)$$ But this is not correct, as really your specification is a three variables problem not a four variables one, $z$ is always false.

Your problem is in fact, $$J(w, x, y) = \sum M(2, 3, 6, 7) = \prod M(2, 3, 6, 7)~~~~~, z = 0$$

As this problem shows up mixing positive/negative logic could be a mess.