We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 57523

MIG Spartan-6 (All versions and devices) - Read data error occurs around refresh command


There is chance for MCB to have read data error around refresh command. The error type is mostly data shift, but can also have bits error.

This is due to soft calibration dynamic DQS tuning that happens during the refresh cycle. In the refresh cycle, any adjustment of IODELAY of IODRP will make IODRP function failure; the signal will miss in this situation.


If the read data error always happens along with the refresh command on memory bus, please follow this answer record.

  1. Follow (Xilinx Answer 42173) and check the DQS_INT signal. The error burst will miss one pulse. If this is the case, the error is consistent with this answer record.
  2. Replace mcb_soft_calibration.v with the attachment at the end of this answer record and re-run the test.
  3. Check if the errors still occur.

This solution only runs one IODELAY adjustment during the refresh cycle. There are increase/decrease counters for DQS tuning, but the counters are not correctly reset after adjustment. So, when the next refresh cycle happens, the IODELAY may occur at any time. This makes IODRP miss one pulse. The solution is to make the adjustment only once and at the latest cycle to avoid function confliction.


Associated Attachments

Name File Size File Type
mcb_soft_calibration_modified.v 67 KB V
AR# 57523
Date 11/27/2013
Status Active
Type General Article
  • Spartan-6
  • Spartan-6Q
  • ISE
  • MIG Virtex-6 and Spartan-6
Page Bookmarked