cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
arash9k
Adventurer
Adventurer
5,155 Views
Registered: ‎02-12-2013

Why does reading from an SRAM memory address cause the address_strobe and the read_strobe pins of the iomodule to toggle?

Jump to solution

Hi,

 

Why does this (see title) happen even though the address spaces are completely different. Interestingly, when I read from 0xa8000000 to 0xaa000000 the iomodule pins get toggled BUT when I read from 0xaa000000 to 0xac000000 they don't and then they do again when I read from 0xac000000 to 0xae000000 and so on. Does this have to do with the iomodule mask? This behavior is causing all sorts of problems for me. I expect the the iomodule pins to get toggled only on memory access from the io_bus_address range (ie, 0xc0000000 to 0xffffffff). Any help is much appreciated.

 

Please see below for details.

 

Thanks!

 

xps1.png

 

 

 

xps2.png

 

 

chipscope.png

0 Kudos
1 Solution

Accepted Solutions
arash9k
Adventurer
Adventurer
6,350 Views
Registered: ‎02-12-2013

This has to do with IO module IO bus address decode mask and the IO module register decode mask. In the iomodule gui in XPS this is set to auto by default. These masks have to be set to the proper values to ignore certain addresses and "care about" certain others.

View solution in original post

0 Kudos
6 Replies
arash9k
Adventurer
Adventurer
5,132 Views
Registered: ‎02-12-2013
I don't know why, but just moving iomodule_0 from (0x42000000 - 0x420fffff) to (0x00010000 - 0x0001ffff) solved the problem (see third image above). Does anyone know why?
0 Kudos
arash9k
Adventurer
Adventurer
5,129 Views
Registered: ‎02-12-2013
Sorry meant to say "see 2nd image above" in the previous post.
0 Kudos
Anonymous
Not applicable
5,123 Views
If you are connecting to the LMB bus, then the ip must be within that addressable region. The LMB bus address range is. 0x00000000 to 0x0001ffff. This is why it worked
0 Kudos
Anonymous
Not applicable
5,115 Views
The microblaze cntlr is connected to the LMB bus
0 Kudos
arash9k
Adventurer
Adventurer
5,112 Views
Registered: ‎02-12-2013

I don't follow. Please see the image below for the working version. The io_module address range is not inside anything else. Also, the microblaze controller address high is 0x00001FFF not 0x0001FFFF (you have an extra F).

 

Untitled.png

0 Kudos
arash9k
Adventurer
Adventurer
6,351 Views
Registered: ‎02-12-2013

This has to do with IO module IO bus address decode mask and the IO module register decode mask. In the iomodule gui in XPS this is set to auto by default. These masks have to be set to the proper values to ignore certain addresses and "care about" certain others.

View solution in original post

0 Kudos