I've got an issue with my BRAM logic, created with the Block Memory Generator v8.4.
I've written data to my BRAM in the following manner:
So that the data gets changed for every clock cycle until all 32 burst cycles are complete. So far no problems in sight.
When I try to read the data the following behaviour occurs:
As you can see, when I'm reading the data with single bursts, the right data is transferred. Whenever more than 1 data is read, the data of the first address gets read twice.
I have no clue, why this happens, as the write process functions properly. Is there any delay that needs to be taken into account or is the first data packet invalid in any case? I would appreciate any hints.