Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
1,009 Views

Error: Address Span 24MB combined with 8MB

I want to create a memory like like this 

 

one master, two slaves 

 

 

0x40000000 - 0x417fffff (24MB) Slave 1 

0x41800000 - 0x41fffff (8MB) Slave 2 

 

I create a address span of 24MB (0x1800000), and see the correct values in the memory map. 

 

But I get the following error: 

 

Error: gdb_rapidio.io_write_master: gdb_srio_swap_inb_wr_if_nrt.wr_slave (0x41800000..0x41ffffff) overlaps gdb_srio_inbound_wr_if_rt.wr_slave (0x40000000..0x41ffffff) 

 

I don't know why? Can someone explain what is wrong? 

 

With kind regards, 

 

John
0 Kudos
3 Replies
Altera_Forum
Honored Contributor I
51 Views

Hi, did you know the reason? I got this error today.

Altera_Forum
Honored Contributor I
51 Views

Hi, normally address decoding is done by power of 2. I suppose you can not define an address range of 24M respectively this address span is converted to 32 MB which then occupies the address range from 0x40000000 - 0x41FFFFFF. This memory area then overlaps the 8MB address span. You have to move the address span for slave 2 behind the 32 MB boundary. 

 

Regards, 

HJS
Altera_Forum
Honored Contributor I
51 Views

That 24M address span is really a 32M space. So that 8M location can be placed at 0x42000000 to avoid this. 

 

Like HJS said, spans are usually powers of 2. In the case of that 24M slave port they probably added a property that tells the tools that only the first 24M of the 32M span is valid. So if you shoved the 8M slave directly after the 24M slave then the decoder will not work properly which is what the tools are trying to tell you.
Reply