15. Memory Module Select

Loading simulator…

Solution Explanation

From the behavioral table, Module Active = 1 only when both Address Match and Read Enable are 1.

Address MatchRead EnableModule Active
000
010
100
111

So the required function is AND.

Let:

A = Address Match
B = Read Enable

AND gates are prohibited, so use the available OR and XOR gates.

X = A + B
Z = A XOR B

Now check the required output using X and Z:

ABX = A + BZ = A XOR BY
00000
01110
10110
11101

From the table:

Y = X XOR Z

Substituting X and Z:

Y = (A + B) XOR (A XOR B)

Therefore:

Module Active =
(Address Match + Read Enable)
XOR
(Address Match XOR Read Enable)

Connect both inputs to an OR gate and an XOR gate, then XOR those two outputs to generate Module Active.