Hi,
I'm using a Virtex-II Pro with CoDeveloper 3.10.b.9 under Windows XP and a shared Memory at the OPB Bus (0x50000000 - 0x5000ffff).
Using the shared memory from software side is no problem. But when I generate hardware and try to access from there, it doesn't always do, what I want. Writing works fine but reading delivers only the right data, when I read from a address with a multiple of 4. Here is a list with the values for offset and size (in byte) and the addresses for the data, I realy get.
Offset, Size -> Adresses of realy readed data
4, 1 -> 4
5, 1 -> 4
6, 1 -> 4
7, 1 -> 4
8, 1 -> 8
4, 2 -> 4, 5
5, 2 -> 4, 5
6, 2 -> 4, 5
7, 2 -> 4, 9
8, 2 -> 8, 9
4, 3 -> 4, 5, 6
5, 3 -> 4, 5, 6
6, 3 -> 4, 5, 10
7, 3 -> 4, 9. 10
8, 3 -> 8, 9, 10
4, 4 -> 4, 5, 6, 7
5, 4 -> 4, 5, 6, 11
6, 4 -> 4, 5, 10, 11
7, 4 -> 4, 9, 10, 11
8, 4 -> 8, 9, 10, 11
So reading only works for offset 4 and 8. Is this a bug or a feature? If this behaviour is intended, the only way to use the shared memory would be to use always data sizes of 32bit and offset addresses with a multiple of 4. This is a realy waste of memory and necessary memory accesses.
Hope somebody has a solution for my problem.
