I have a board with a memory controller where I am doing a pattern copy test.  Basically, write the address to the location.

Problem I run into is that at times the read back operation gets data which is 2, 4 or 8 bytes before the current location.

If I peek at the memory location, the data is correct. 

 

Also, if I have the BDI JTAG connected the problem does not show up.  But if I do a halt/go from BDI it shows up. Similarly,

With not JTAG connected, the problem happens.

 

Could this be related to the ICTRL register?  The recommended value is 0x7, i.e. serialization & no show cycles.  I assume

Serialization means instruction prefetch.

 

I am trying a v1.1.3 port but any suggestion/debug tips would be helpful.

 

Thanks,

 

Atul