[SOLVED] Encoding of a slave-slect signal

Status
Not open for further replies.

dpaul

Advanced Member level 5
Joined
Jan 16, 2008
Messages
1,804
Helped
317
Reputation
635
Reaction score
346
Trophy points
1,373
Location
Germany
Activity points
13,104
Hi,

Take the case of an in-circuit bus system which has multiple slaves. Each slave will have a fixed memory map area. In most cases there will be an address decoder whose input is the address information from the master. This address decoder then generates slave select signals as per the address bus value.

I have seen in many cases that these slave select signals are of the encoding 001, 010, 100 accommodating 3 slaves. Why is this majorly followed?
If I generate a 3 bit slave select o/p signal, I can in principle control 8 slaves if I use the encoding 000, 001, 010...111.

I would like to know if a standard encoding scheme is followed and why?
 

I have seen in many cases that these slave select signals are of the encoding 001, 010, 100 accommodating 3 slaves. Why is this majorly followed?

The slave select can then be used without further decoding as it's not encoded. This is done to reduce the amount of logic and improve the timing (due to reduced logic) at the slave.

If I generate a 3 bit slave select o/p signal, I can in principle control 8 slaves if I use the encoding 000, 001, 010...111.
And this works great for slower interfaces, with a small number of slaves. What happens if you have 256 slaves? Do you use an 8-bit bus and route that to 256 slaves or do your decode 256 slave selects and have only 256 single point to point connections routed around your chip?
 
Reactions: dpaul

    dpaul

    Points: 2
    Helpful Answer Positive Rating
ok, thanks!
The thing to be considered is the no. of slaves to be connected and better to consider scalability of the design.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…