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.

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?

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

En_A goes high under the following condition.

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.

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.

• I don't understand why do you use in EN_B that A13=0, A12=0, A11=1 is? How many address ranges are there in which the above address decoder activates the line EN_A? Or how many address ranges activate EN_A?
– Alen
Commented Jan 14, 2018 at 15:53
• Also why don't you consider that EN_A is coming from Y3? That should also be considered...
– Alen
Commented Jan 14, 2018 at 15:54
• @Ayya because Y1 of the second decoder is only enabled when A13=0, A12=0 AND A11=1. Note the first table Y3 IS en_A and is only enabled when A14 AND A15 are high. Commented Jan 14, 2018 at 16:01
• @Ayya see my edit if it helps.. Commented Jan 14, 2018 at 16:25
• Yes, I know that :)
– Alen
Commented Jan 14, 2018 at 17:58