Electronic – Understanding Address decoder

decoder

Given is 3-to-8 decoder. There is 3 selection lines C, B, A (C=MSB and A=LSB) and one enable input. In total here are 16 adresses.
enter image description here

So first we're going to discuss only EN_A.

  1. How many address ranges are there in which the above address decoder activates the line EN_A?
    Can someone explain me how can I see that?

  2. If EN_A active is, what is beginning & ending address? How big is the address range?

Address lines – A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

                           Y3       

EN_A – Start Address – 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -> 6000h

EN_A – End Address – 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -> 7FFFh

7FFFh-6000h -> 2^13 = 4kiByte

Is this good?

Also if we have EN_B is this adress going to be calculated the same (if my solution is good) because I'm little bit confused with the enable input of the second decoder?

Best Answer

You are getting confused by Address 0. It helps if you use address state tables.

En_A goes high under the following condition.

enter image description here

That is it goes high from address C000 - FFFF for an address range of 16K.

Therefore En_B has this truth table. Note you copy EN_A state from above first then add the new address bit states.

enter image description here

I am sure you can take it from there.

Update:

The above is short form, you might understand better if you chart the complete truth tables, as so.

enter image description here

Related Topic