Zynq-7000 AP SoC and 7 Series FPGAs MIS v4.1
500
UG586 November 30, 2016
Chapter 3:
RLDRAM II and RLDRAM 3 Memory Interface Solutions
Isolating Bit Errors
An important hardware debug step is to try to isolate when and where the bit errors occur.
Looking at the bit errors, these should be identified:
• Are errors seen on data bits belonging to certain QK clock groups?
• Are errors seen on accesses to certain addresses of memory?
• Do the errors only occur for certain data patterns or sequences?
This can indicate a shorted or open connection on the PCB. This can also indicate an SSO or
crosstalk issue. It might be necessary to isolate whether the data corruption is due to writes
or reads. This case can be difficult to determine because if writes are the cause, read back
of the data is bad as well. In addition, issues with control or address timing affect both
writes and reads.
Some experiments that can be tried to isolate the issue are:
• If the errors are intermittent, have the design issue a small initial number of writes,
followed by continuous reads from those locations. If the reads intermittently yield bad
data, there is a potential read issue.
• Check/vary only write timing:
°
Check that the external termination resistors are populated on the PCB.
°
Use ODELAY, if available, to vary the phase of DQ relative to the DK clocks. Another
option is to adjust the PHASER_OUT timing using the fine_adjust feature of the
PHASER to adjust output timing.
°
Verify the timing relationship between CK and DK clocks.
• Vary only read timing:
°
Check the IDELAY/PHASER_IN values after calibration. Look for variations between
IDELAY/PHASER_IN values. IDELAY values should be very similar for DQs in the same
byte group.
°
Vary the IDELAY/PHASER_IN taps after calibration for the bits that are returning bad
data.
This affects only the read capture timing.