Issue Found: v3.91
Issue Resolved: v3.92 (available with ISE 14.2)
The MIG Spartan-6 LPDDR design has been found to incorrectly turn on n-term termination during consecutive resets. This issue is specifically seen when the PLL output clocks sys_clk2x (CLKOUT0) and drp_clk (CLKOUT3) have a 2:1 ratio. The associated failure is a continued decrease in DQS/DQ amplitude after each reset. This eventually results inthe I/O (and therefore MCB) not capturing reads. Failures can be seen during calibration (calib_done does not assert). An exampleof the amplitude decrease is shown below.
MIG v3.92 includes updated soft calibration code which prevents the incorrect enabling of n-term. Before the release of v3.92 or for customers not wanting to upgrade to the latest MIG code, the updated mcb_soft_calibration module and readme can be downloaded from the bottom of this answer record. It is a drop-in replacement for the MIG generated mcb_soft_calibration module located in both the "example_design/rtl/mcb_controller" and "user_design/rtl/mcb_controller" directories.