Electronic – Understanding basic computer hardware diagram of address decoding circuit

computer-architecturedigital-logicmemory

Hi I'm a computer science student doing a computer hardware course and am having trouble understanding this circuit which is supposed to show how control signals at the memory can be generated using this address decoding circuit.

enter image description here

The explanation of the diagram is: "The generation of the necessary control signals at the memory is shown in the following circuit, which is an address decoding circuit. It decodes the address to generate individual control signals to the different memory locations. When READ is active(0), READ0 is active(0) if ADDRESS is 0, and READ1 is active if ADDRESS is 1. The write control signals are similarly activated".

Would someone mind helping me understand how this circuit works? I know that the 4 gates on the right are OR gates and that to give an active output only one of their inputs needs to be active.

Best Answer

It may help to write out the boolean logic.

!Read0 = Address + !Read
!Read1 = !Address + !Read
!Write0 = Address + !Write
!Write1 = !Address + !Write

Now, apply DeMorgan's Law.

Read0 = !Address & Read
Read1 = Address & Read
Write0 = !Address & Write
Write1 = Address & Write

If your address is low, and you're in read mode, Read0 is asserted. If your address is high, and you're in read mode, Read1 is asserted. If your address is low, and you're in write mode, Write0 is asserted. If your address is high, and you're in write mode, Write1 is asserted.

So address selects 1 or 0, and read and write behave as expected.