Hi Santi,
I assume that by “address ranges” you’re referring to address values not address bits.
If the slaves have equal address spaces then a common configuration would be this:
- address range of slave 0: [0…63]
- address range of slave 1: [64…127]
- address range of slave 2: [128…191]
- address range of slave 3: [192…255]
You can quickly identify the selected slave by looking at the last two msb of the address (e.g. if address[7:6] == 2’b10 then slave #2 is selected)
Hope this helps,
Cristi