I am using a Micron DDR3, PN MT41K64M16TW-107 on a custom design. Attached is the modified MMDC configuration script. The DDR parameters were modified from the MCIMX6UL-EVK spreadsheet.
After initializing the DDR w/o running the calibration (or stress test) I cannot R/W to any memory address.
If I initialize, followed by a calibration test the device fails at DQS calibration (see output below). However, despite failing, I am able to R/W to any memory address.
My questions are:
1. What is the calibration doing that despite failing, I can R/W to memory?
2. The eval board uses a Micron chip with an 1866 MT/s speed rating. The timing parameters inputted in the spreadsheet are set to the 800MT/s (400Mhz clock) rating. However, the speed bins (RAS,CAS, etc) are set to the 1866 MT/s parameters. Is this correct?
3. The eval board does not implement *any* address/command termination resistors. Is this because you are using the on-die termination? My custom design has discrete address/command termination resistors on the board. Is there a register setting I should be shutting off? Could this be why I am failing the calibration test?
Also for the record, the design fails the stress test immediately (see below).
//-------------------------------
DDR Freq: 365 MHz
t0.1: data is addr test
Address of failure(step2): 0x80000000
Data was: 0xffffffff
But pattern should match address
Error: failed to run stress test!!!
//---------------------------------------------
MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x001F001F
Write DQS delay result:
Write DQS0 delay: 31/256 CK
Write DQS1 delay: 31/256 CK
Starting DQS gating calibration
. HC_DEL=0x00000000 result[00]=0x00000011
. HC_DEL=0x00000001 result[01]=0x00000011
. HC_DEL=0x00000002 result[02]=0x00000011
. HC_DEL=0x00000003 result[03]=0x00000011
. HC_DEL=0x00000004 result[04]=0x00000011
. HC_DEL=0x00000005 result[05]=0x00000011
. HC_DEL=0x00000006 result[06]=0x00000011
. HC_DEL=0x00000007 result[07]=0x00000011
. HC_DEL=0x00000008 result[08]=0x00000011
. HC_DEL=0x00000009 result[09]=0x00000011
. HC_DEL=0x0000000A result[0A]=0x00000011
. HC_DEL=0x0000000B result[0B]=0x00000011
. HC_DEL=0x0000000C result[0C]=0x00000011
. HC_DEL=0x0000000D result[0D]=0x00000011
ERROR FOUND, we can't get suitable value !!!!
dram test fails for all values.
Error: failed during ddr calibration