The Gateway to Computer Science Excellence
+1 vote
A $3\times 8$ decoder with $2$ enable inputs is used to  address $8$ block of memory. What will be the size of each memory block when addressed from a $16$ bit bus with $2$ MSB’s used to enable the decoder?
in Digital Logic by | 358 views
I have doubt that how these 2 enable inputs are used for $3\times 8$ decoder? Is this the 2 inputs from 3 input ends.
yes, I havenot got it properly

2 Answers

0 votes

It is given that decoder is 3x8 with 2 enable inputs. Now, input lines must be split such that two of them act as enable and only 1 act as input line. As shown in below diagram :

Please note here that 1x8 DEMUX requires 3 select lines. Hence we need to use input line as 3rd select line.

Now we have 16 bits address having 2 bits for ENABLE inputs (A,B) and another bit C I will take for Input line.

So overall I am taking first three bits of address as DEMUX select lines so that it activates one of the 8 output lines at a time, which will select one of the 8 RAM blocks.

A B C                          

First two bits (AB) of the address will act as enable of decoder (because it is as mentioned in question), third bit C will act as input line, and combination of ABC together will activate the respective output line. A is MSB here and C will be LSB.

Now we have 13 bits that can be the maximum possible address bits which can be used for memory. So size of each memory block will be $2^{13}$ bits or $2^{10}$ Bytes or $1KB$

If you want to calculate the address Range :

Block 1 will get selected when ABC=000 and address range will be from 0000000000000000 to 0001111111111111  $[0000-1FFF]$ in Hex

Block 2 will get selected when ABC=001 and address range will be from 0010000000000000 to 0011111111111111 $[2000-3FFF]$ in Hex

Block 3 will get selected when ABC=010 and address range will be from 0100000000000000 to 0101111111111111 $[4000-5FFF]$ in Hex

And so on.... Hope its correct.

input and one select line is same??
Yes we need to take help of input line for de-multiplexer to work as expected and so that it works on a logic of how to select the required RAM block with a given 16 bit address.

I found no other way to interpret "3×8 decoder with 2 enable inputs" 😓


decoder always have $N:2^{N}$ input and output line

In the circuit I made, input lines are 3 only (A,B,C) and output lines are 8. The way I am implementing the internal structure is how the question wants us to make it.

Even though they mentioned "decoder", they wants us to interpret it as a "demux". Please let me know in case you have any other way to solve the question.
0 votes

it is given that one 3*8 decoder with 2 enable input used for addressing 8 memory block

in a 16 bit bus 2 msb bits are used for enabling decoder after it we need 3 bits for selecting 1 memory  out of 8 memory block represented by 1 selected decoder

remaining no of bits = 16-2-3=11

these 11 remaining bits are used as byte/word offset of block

so size of 1 block = 2^11Byte = 2KB


Note:- here i by default assumed that memory is byte addressable because nothing is mentioned.

pls correct me if i am wrong


Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
52,345 questions
60,503 answers
95,331 users