I am a Computer Science undergraduate taking a module on Computer Organisation. There is this typical circuit design question that always appear in my assignment and I'm not sure what is the standard procedure to solve it and what skills do I need for it. This is one such problem where I'm required to get both a solution of 2 decoder and 1 logic gate and 1 decoder with 2 logic gate.
This is the Truth table I have drawn
The only deduction I have derived from it is that 'a' doesn't need to be wired as there is a total repetition in the pattern of b,c,d even as a switches over to 1, and I have to come up with some kind of boolean expression in the form of X.Y.Z where X,Y,Z are booleans formed from some b,c,d as it mimics the wiring in the Decoder with an enabler. The individual expressions inside must only contain 2 levels of boolean operators.
Update: We now have more information on the Truth Table which is similar to a program like
if (b nxor c) return 1, else return b xor d. There isn't a simple case of using the enabler to "zero-out" a case that is definitely 0, as 0 can only be achieved from the else case which required 2 levels of operations, and the role of the enabler doesn't allow us to "one-out" cases that are definitely 1, which is the result we got from the truth table and seemed hardly useful information to wire into the circuit. How exactly do we translate such a checking procedure into an expression X.Y.Z which mimics the decoder perfectly?
