Loading simulator…
From the behavioral table, Module Active = 1 only when both Address Match and Read Enable are 1.
| Address Match | Read Enable | Module Active |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
So the required function is AND.
Let:
A = Address Match
B = Read EnableAND gates are prohibited, so use the available OR and XOR gates.
X = A + B
Z = A XOR BNow check the required output using X and Z:
| A | B | X = A + B | Z = A XOR B | Y |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 0 | 1 |
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.