This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3359: DDR3 Leveling

Part Number: AM3359

Tool/software: Linux

Team,

One of my customers using Am3359 with the MT41J128M16JT-125, 1600 Speed bin (https://www.micron.com/parts/dram/ddr3-sdram/mt41j128m16jt-125 ). With the following settings they are able to get the levelling done but DDR test is failing. They also have referred to( https://e2e.ti.com/support/processors/f/791/t/469075?AM335x-DDR3-400MHz-SW-leveling-issue)

#define ALLOPP_DDR3_READ_LATENCY    0x00100008
#define ALLOPP_DDR3_SDRAM_TIMING1   0x0AAAD4DB   //0xEAAAE4E3
#define ALLOPP_DDR3_SDRAM_TIMING2   0x28377FDA   //0x266b7FDA
#define ALLOPP_DDR3_SDRAM_TIMING3   0x501F833F // 0x5F7F867F

#define ALLOPP_DDR3_SDRAM_CONFIG    0x61A05282 //0x61C05932
                                                
#define ALLOPP_DDR3_REF_CTRL        0x00000C30  //400 MHz * 7.8us
#define ALLOPP_DDR3_ZQ_CONFIG       0x50074BE4

Optimized values after leveling:

#define  CMD_PHY_CTRL_SLAVE_RATIO       0x80
#define  CMD_PHY_INVERT_CLKOUT          0x0

#define  DATA_PHY_RD_DQS_SLAVE_RATIO    0x38
#define  DATA_PHY_FIFO_WE_SLAVE_RATIO   0xAA //RD DQS GATE
#define  DATA_PHY_WR_DQS_SLAVE_RATIO    0x31
#define  DATA_PHY_WR_DATA_SLAVE_RATIO   0x63 //WRITE DATA

#define  DDR_IOCTRL_VALUE               (0x18B)

Couple of other observations:

1. With above settings + configuring the DDR PLL to 400 Mhz the levelling reurtns all ZEROs. So currently setting pll as :DDR_PLL_Config(  CLKIN, 23, 303, 1);

2. If I hit the continuous refresh the values gets updated always.

OUtput of the Data Integrety test:

CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
CortxA8: GEL Output: Data Integrity check Failed

Any pointers ?

Best Regards, Shiv

  • Here are the tracelength details:
    Trace Length (inches)
    Byte 0 Byte 1
    DDR_CK trace 1.683 1.683
    DDR_DQSx trace 1.38 1.38

    Best Regards, Shiv
  • Shiv, since you have a point to point design, you should be able to use the results of the RatioSeed spreadsheet straight away, without running the software leveling algorithm. Please follow these steps:

    1. Enter the trace lengths in the Ratio Seed spreadsheet as you have done. Use 400Mhz for frequency and INVERT_CLKOUT=1
    2. Use the resulting values from the spreadsheet in the GEL file. Ensure you have all the slave ratio values from the spreadsheet copied into the GEL, including INVERT_CLKOUT. And change the DDR PLL frequency back to 400MHz. Also, increase READ_LATENCY by 1 (in your case, change LSBs to 9)
    3. Run the tests as you have described below.

    Let me know results...

    Regards,
    James
  • Configurations:

    #define  CMD_PHY_CTRL_SLAVE_RATIO       0x100
    #define  CMD_PHY_INVERT_CLKOUT          0x1

    #define  DATA_PHY_RD_DQS_SLAVE_RATIO    0x40
    #define  DATA_PHY_FIFO_WE_SLAVE_RATIO   0x111 //RD DQS GATE
    #define  DATA_PHY_WR_DQS_SLAVE_RATIO    0x85
    #define  DATA_PHY_WR_DATA_SLAVE_RATIO   0xC1 //WRITE DATA

    #define  DDR_IOCTRL_VALUE               (0x18B)

    //******************************************************************
    //EMIF parameters
    //******************************************************************

    #define ALLOPP_DDR3_READ_LATENCY    0x00100009
    #define ALLOPP_DDR3_SDRAM_TIMING1   0x0AAAD4DB   //0xEAAAE4E3
    #define ALLOPP_DDR3_SDRAM_TIMING2   0x28377FDA   //0x266b7FDA
    #define ALLOPP_DDR3_SDRAM_TIMING3   0x501F833F // 0x5F7F867F

    #define ALLOPP_DDR3_SDRAM_CONFIG    0x61A05282 //0x61C05932

    Here is the leveling output:

     

     

    [CortxA8]
    Enter the PHY_INVERT_CLKOUT value (0 or 1) from the spreadsheet
    1

    Enter the Seed RD_DQS_SLAVE_RATIO Value in Hex to search the RD DQS Ratio Window
    40

    Enter the Seed FIFO_WE_SLAVE_RATIO Value in Hex to search the RD DQS Gate Window
    111

    Enter the Seed WR_DQS_SLAVE_RATIO Write DQS Ratio Value in Hex to search the Write DQS Ratio Window
    85

    ***************************************************************
        The Slave Ratio Search Program Values are...
    ***************************************************************
    PARAMETER                       MAX  |  MIN  | OPTIMUM |  RANGE    
    ***************************************************************
    DATA_PHY_RD_DQS_SLAVE_RATIO    0x000 | 0x000 |  0x000  | 0x000
    DATA_PHY_FIFO_WE_SLAVE_RATIO   0x000 | 0x000 |  0x000  | 0x000
    DATA_PHY_WR_DQS_SLAVE_RATIO    0x000 | 0x000 |  0x000  | 0x000
    DATA_PHY_WR_DATA_SLAVE_RATIO   0x000 | 0x000 |  0x000  | 0x000
    ***************************************************************
    rd_dqs_range = 0
    fifo_we_range = 0
    wr_dqs_range = 0
    wr_data_range = 0

    Optimal values have been found!!

    ***************************************************************
        The Slave Ratio Search Program Values are...
    ***************************************************************
    PARAMETER                       MAX  |  MIN  | OPTIMUM |  RANGE    
    ***************************************************************
    DATA_PHY_RD_DQS_SLAVE_RATIO    0x000 | 0x000 |  0x000  | 0x000
    DATA_PHY_FIFO_WE_SLAVE_RATIO   0x000 | 0x000 |  0x000  | 0x000
    DATA_PHY_WR_DQS_SLAVE_RATIO    0x000 | 0x000 |  0x000  | 0x000
    DATA_PHY_WR_DATA_SLAVE_RATIO   0x000 | 0x000 |  0x000  | 0x000
    ***************************************************************

    ===== END OF TEST =====

    DDR Test Result:


    CortxA8: GEL Output: Try Accessing DDR memory....Write data
    CortxA8: GEL Output: Data written at :: 0x80000000
    CortxA8: GEL Output: Data written at :: 0x80000004
    CortxA8: GEL Output: Data written at :: 0x80000008
    CortxA8: GEL Output: Data written at :: 0x8000000C
    CortxA8: GEL Output: Data written at :: 0x80000010
    CortxA8: GEL Output: Data written at :: 0x80000014
    CortxA8: GEL Output: Data written at :: 0x80000018
    CortxA8: GEL Output: Data written at :: 0x8000001C
    CortxA8: GEL Output: Data written at :: 0x80000020
    CortxA8: GEL Output: Data written at :: 0x80000024
    CortxA8: GEL Output: Data written at :: 0x80000028
    CortxA8: GEL Output: Data written at :: 0x8000002C
    CortxA8: GEL Output: Data written at :: 0x80000030
    CortxA8: GEL Output: Data written at :: 0x80000034
    CortxA8: GEL Output: Data written at :: 0x80000038
    CortxA8: GEL Output: Data written at :: 0x8000003C
    CortxA8: GEL Output: Data written at :: 0x80000040
    CortxA8: GEL Output: Data written at :: 0x80000044
    CortxA8: GEL Output: Data written at :: 0x80000048
    CortxA8: GEL Output: Data written at :: 0x8000004C
    CortxA8: GEL Output: Data written at :: 0x80000050
    CortxA8: GEL Output: Data written at :: 0x80000054
    CortxA8: GEL Output: Data written at :: 0x80000058
    CortxA8: GEL Output: Data written at :: 0x8000005C
    CortxA8: GEL Output: Data written at :: 0x80000060
    CortxA8: GEL Output: Data written at :: 0x80000064
    CortxA8: GEL Output: Data written at :: 0x80000068
    CortxA8: GEL Output: Data written at :: 0x8000006C
    CortxA8: GEL Output: Data written at :: 0x80000070
    CortxA8: GEL Output: Data written at :: 0x80000074
    CortxA8: GEL Output: Data written at :: 0x80000078
    CortxA8: GEL Output: Data written at :: 0x8000007C
    CortxA8: GEL Output: Data written at :: 0x80000080
    CortxA8: GEL Output: Data written at :: 0x80000084
    CortxA8: GEL Output: Data written at :: 0x80000088
    CortxA8: GEL Output: Data written at :: 0x8000008C
    CortxA8: GEL Output: Data written at :: 0x80000090
    CortxA8: GEL Output: Data written at :: 0x80000094
    CortxA8: GEL Output: Data written at :: 0x80000098
    CortxA8: GEL Output: Data written at :: 0x8000009C
    CortxA8: GEL Output: Data written at :: 0x800000A0
    CortxA8: GEL Output: Data written at :: 0x800000A4
    CortxA8: GEL Output: Data written at :: 0x800000A8
    CortxA8: GEL Output: Data written at :: 0x800000AC
    CortxA8: GEL Output: Data written at :: 0x800000B0
    CortxA8: GEL Output: Data written at :: 0x800000B4
    CortxA8: GEL Output: Data written at :: 0x800000B8
    CortxA8: GEL Output: Data written at :: 0x800000BC
    CortxA8: GEL Output: Data written at :: 0x800000C0
    CortxA8: GEL Output: Data written at :: 0x800000C4
    CortxA8: GEL Output: Data written at :: 0x800000C8
    CortxA8: GEL Output: Data written at :: 0x800000CC
    CortxA8: GEL Output: Data written at :: 0x800000D0
    CortxA8: GEL Output: Data written at :: 0x800000D4
    CortxA8: GEL Output: Data written at :: 0x800000D8
    CortxA8: GEL Output: Data written at :: 0x800000DC
    CortxA8: GEL Output: Data written at :: 0x800000E0
    CortxA8: GEL Output: Data written at :: 0x800000E4
    CortxA8: GEL Output: Data written at :: 0x800000E8
    CortxA8: GEL Output: Data written at :: 0x800000EC
    CortxA8: GEL Output: Data written at :: 0x800000F0
    CortxA8: GEL Output: Data written at :: 0x800000F4
    CortxA8: GEL Output: Data written at :: 0x800000F8
    CortxA8: GEL Output: Data written at :: 0x800000FC
    CortxA8: GEL Output: Data written at :: 0x80000100
    CortxA8: GEL Output: Data written at :: 0x80000104
    CortxA8: GEL Output: Data written at :: 0x80000108
    CortxA8: GEL Output: Data written at :: 0x8000010C
    CortxA8: GEL Output: Data written at :: 0x80000110
    CortxA8: GEL Output: Data written at :: 0x80000114
    CortxA8: GEL Output: Data written at :: 0x80000118
    CortxA8: GEL Output: Data written at :: 0x8000011C
    CortxA8: GEL Output: Data written at :: 0x80000120
    CortxA8: GEL Output: Data written at :: 0x80000124
    CortxA8: GEL Output: Data written at :: 0x80000128
    CortxA8: GEL Output: Data written at :: 0x8000012C
    CortxA8: GEL Output: Data written at :: 0x80000130
    CortxA8: GEL Output: Data written at :: 0x80000134
    CortxA8: GEL Output: Data written at :: 0x80000138
    CortxA8: GEL Output: Data written at :: 0x8000013C
    CortxA8: GEL Output: Data written at :: 0x80000140
    CortxA8: GEL Output: Data written at :: 0x80000144
    CortxA8: GEL Output: Data written at :: 0x80000148
    CortxA8: GEL Output: Data written at :: 0x8000014C
    CortxA8: GEL Output: Data written at :: 0x80000150
    CortxA8: GEL Output: Data written at :: 0x80000154
    CortxA8: GEL Output: Data written at :: 0x80000158
    CortxA8: GEL Output: Data written at :: 0x8000015C
    CortxA8: GEL Output: Data written at :: 0x80000160
    CortxA8: GEL Output: Data written at :: 0x80000164
    CortxA8: GEL Output: Data written at :: 0x80000168
    CortxA8: GEL Output: Data written at :: 0x8000016C
    CortxA8: GEL Output: Data written at :: 0x80000170
    CortxA8: GEL Output: Data written at :: 0x80000174
    CortxA8: GEL Output: Data written at :: 0x80000178
    CortxA8: GEL Output: Data written at :: 0x8000017C
    CortxA8: GEL Output: Data written at :: 0x80000180
    CortxA8: GEL Output: Data written at :: 0x80000184
    CortxA8: GEL Output: Data written at :: 0x80000188
    CortxA8: GEL Output: Data written at :: 0x8000018C
    CortxA8: GEL Output: Data written at :: 0x80000190
    CortxA8: GEL Output: Data written at :: 0x80000194
    CortxA8: GEL Output: Data written at :: 0x80000198
    CortxA8: GEL Output: Data written at :: 0x8000019C
    CortxA8: GEL Output: Data written at :: 0x800001A0
    CortxA8: GEL Output: Data written at :: 0x800001A4
    CortxA8: GEL Output: Data written at :: 0x800001A8
    CortxA8: GEL Output: Data written at :: 0x800001AC
    CortxA8: GEL Output: Data written at :: 0x800001B0
    CortxA8: GEL Output: Data written at :: 0x800001B4
    CortxA8: GEL Output: Data written at :: 0x800001B8
    CortxA8: GEL Output: Data written at :: 0x800001BC
    CortxA8: GEL Output: Data written at :: 0x800001C0
    CortxA8: GEL Output: Data written at :: 0x800001C4
    CortxA8: GEL Output: Data written at :: 0x800001C8
    CortxA8: GEL Output: Data written at :: 0x800001CC
    CortxA8: GEL Output: Data written at :: 0x800001D0
    CortxA8: GEL Output: Data written at :: 0x800001D4
    CortxA8: GEL Output: Data written at :: 0x800001D8
    CortxA8: GEL Output: Data written at :: 0x800001DC
    CortxA8: GEL Output: Data written at :: 0x800001E0
    CortxA8: GEL Output: Data written at :: 0x800001E4
    CortxA8: GEL Output: Data written at :: 0x800001E8
    CortxA8: GEL Output: Data written at :: 0x800001EC
    CortxA8: GEL Output: Data written at :: 0x800001F0
    CortxA8: GEL Output: Data written at :: 0x800001F4
    CortxA8: GEL Output: Data written at :: 0x800001F8
    CortxA8: GEL Output: Data written at :: 0x800001FC
    CortxA8: GEL Output: Data written at :: 0x80000200
    CortxA8: GEL Output: Data written at :: 0x80000204
    CortxA8: GEL Output: Data written at :: 0x80000208
    CortxA8: GEL Output: Data written at :: 0x8000020C
    CortxA8: GEL Output: Data written at :: 0x80000210
    CortxA8: GEL Output: Data written at :: 0x80000214
    CortxA8: GEL Output: Data written at :: 0x80000218
    CortxA8: GEL Output: Data written at :: 0x8000021C
    CortxA8: GEL Output: Data written at :: 0x80000220
    CortxA8: GEL Output: Data written at :: 0x80000224
    CortxA8: GEL Output: Data written at :: 0x80000228
    CortxA8: GEL Output: Data written at :: 0x8000022C
    CortxA8: GEL Output: Data written at :: 0x80000230
    CortxA8: GEL Output: Data written at :: 0x80000234
    CortxA8: GEL Output: Data written at :: 0x80000238
    CortxA8: GEL Output: Data written at :: 0x8000023C
    CortxA8: GEL Output: Data written at :: 0x80000240
    CortxA8: GEL Output: Data written at :: 0x80000244
    CortxA8: GEL Output: Data written at :: 0x80000248
    CortxA8: GEL Output: Data written at :: 0x8000024C
    CortxA8: GEL Output: Data written at :: 0x80000250
    CortxA8: GEL Output: Data written at :: 0x80000254
    CortxA8: GEL Output: Data written at :: 0x80000258
    CortxA8: GEL Output: Data written at :: 0x8000025C
    CortxA8: GEL Output: Data written at :: 0x80000260
    CortxA8: GEL Output: Data written at :: 0x80000264
    CortxA8: GEL Output: Data written at :: 0x80000268
    CortxA8: GEL Output: Data written at :: 0x8000026C
    CortxA8: GEL Output: Data written at :: 0x80000270
    CortxA8: GEL Output: Data written at :: 0x80000274
    CortxA8: GEL Output: Data written at :: 0x80000278
    CortxA8: GEL Output: Data written at :: 0x8000027C
    CortxA8: GEL Output: Data written at :: 0x80000280
    CortxA8: GEL Output: Data written at :: 0x80000284
    CortxA8: GEL Output: Data written at :: 0x80000288
    CortxA8: GEL Output: Data written at :: 0x8000028C
    CortxA8: GEL Output: Data written at :: 0x80000290
    CortxA8: GEL Output: Data written at :: 0x80000294
    CortxA8: GEL Output: Data written at :: 0x80000298
    CortxA8: GEL Output: Data written at :: 0x8000029C
    CortxA8: GEL Output: Data written at :: 0x800002A0
    CortxA8: GEL Output: Data written at :: 0x800002A4
    CortxA8: GEL Output: Data written at :: 0x800002A8
    CortxA8: GEL Output: Data written at :: 0x800002AC
    CortxA8: GEL Output: Data written at :: 0x800002B0
    CortxA8: GEL Output: Data written at :: 0x800002B4
    CortxA8: GEL Output: Data written at :: 0x800002B8
    CortxA8: GEL Output: Data written at :: 0x800002BC
    CortxA8: GEL Output: Data written at :: 0x800002C0
    CortxA8: GEL Output: Data written at :: 0x800002C4
    CortxA8: GEL Output: Data written at :: 0x800002C8
    CortxA8: GEL Output: Data written at :: 0x800002CC
    CortxA8: GEL Output: Data written at :: 0x800002D0
    CortxA8: GEL Output: Data written at :: 0x800002D4
    CortxA8: GEL Output: Data written at :: 0x800002D8
    CortxA8: GEL Output: Data written at :: 0x800002DC
    CortxA8: GEL Output: Data written at :: 0x800002E0
    CortxA8: GEL Output: Data written at :: 0x800002E4
    CortxA8: GEL Output: Data written at :: 0x800002E8
    CortxA8: GEL Output: Data written at :: 0x800002EC
    CortxA8: GEL Output: Data written at :: 0x800002F0
    CortxA8: GEL Output: Data written at :: 0x800002F4
    CortxA8: GEL Output: Data written at :: 0x800002F8
    CortxA8: GEL Output: Data written at :: 0x800002FC
    CortxA8: GEL Output: Data written at :: 0x80000300
    CortxA8: GEL Output: Data written at :: 0x80000304
    CortxA8: GEL Output: Data written at :: 0x80000308
    CortxA8: GEL Output: Data written at :: 0x8000030C
    CortxA8: GEL Output: Data written at :: 0x80000310
    CortxA8: GEL Output: Data written at :: 0x80000314
    CortxA8: GEL Output: Data written at :: 0x80000318
    CortxA8: GEL Output: Data written at :: 0x8000031C
    CortxA8: GEL Output: Data written at :: 0x80000320
    CortxA8: GEL Output: Data written at :: 0x80000324
    CortxA8: GEL Output: Data written at :: 0x80000328
    CortxA8: GEL Output: Data written at :: 0x8000032C
    CortxA8: GEL Output: Data written at :: 0x80000330
    CortxA8: GEL Output: Data written at :: 0x80000334
    CortxA8: GEL Output: Data written at :: 0x80000338
    CortxA8: GEL Output: Data written at :: 0x8000033C
    CortxA8: GEL Output: Data written at :: 0x80000340
    CortxA8: GEL Output: Data written at :: 0x80000344
    CortxA8: GEL Output: Data written at :: 0x80000348
    CortxA8: GEL Output: Data written at :: 0x8000034C
    CortxA8: GEL Output: Data written at :: 0x80000350
    CortxA8: GEL Output: Data written at :: 0x80000354
    CortxA8: GEL Output: Data written at :: 0x80000358
    CortxA8: GEL Output: Data written at :: 0x8000035C
    CortxA8: GEL Output: Data written at :: 0x80000360
    CortxA8: GEL Output: Data written at :: 0x80000364
    CortxA8: GEL Output: Data written at :: 0x80000368
    CortxA8: GEL Output: Data written at :: 0x8000036C
    CortxA8: GEL Output: Data written at :: 0x80000370
    CortxA8: GEL Output: Data written at :: 0x80000374
    CortxA8: GEL Output: Data written at :: 0x80000378
    CortxA8: GEL Output: Data written at :: 0x8000037C
    CortxA8: GEL Output: Data written at :: 0x80000380
    CortxA8: GEL Output: Data written at :: 0x80000384
    CortxA8: GEL Output: Data written at :: 0x80000388
    CortxA8: GEL Output: Data written at :: 0x8000038C
    CortxA8: GEL Output: Data written at :: 0x80000390
    CortxA8: GEL Output: Data written at :: 0x80000394
    CortxA8: GEL Output: Data written at :: 0x80000398
    CortxA8: GEL Output: Data written at :: 0x8000039C
    CortxA8: GEL Output: Data written at :: 0x800003A0
    CortxA8: GEL Output: Data written at :: 0x800003A4
    CortxA8: GEL Output: Data written at :: 0x800003A8
    CortxA8: GEL Output: Data written at :: 0x800003AC
    CortxA8: GEL Output: Data written at :: 0x800003B0
    CortxA8: GEL Output: Data written at :: 0x800003B4
    CortxA8: GEL Output: Data written at :: 0x800003B8
    CortxA8: GEL Output: Data written at :: 0x800003BC
    CortxA8: GEL Output: Data written at :: 0x800003C0
    CortxA8: GEL Output: Data written at :: 0x800003C4
    CortxA8: GEL Output: Data written at :: 0x800003C8
    CortxA8: GEL Output: Data written at :: 0x800003CC
    CortxA8: GEL Output: Data written at :: 0x800003D0
    CortxA8: GEL Output: Data written at :: 0x800003D4
    CortxA8: GEL Output: Data written at :: 0x800003D8
    CortxA8: GEL Output: Data written at :: 0x800003DC
    CortxA8: GEL Output: Data written at :: 0x800003E0
    CortxA8: GEL Output: Data written at :: 0x800003E4
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000000
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000001
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000002
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000003
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000004
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000005
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000005
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000005
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000005
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000005
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000005
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000006
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000006
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000006
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000006
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000007
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000007
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000007
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000007
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000008
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000008
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000008
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000008
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000009
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000009
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000009
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000009
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000A
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000A
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000A
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000A
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000B
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000C
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000D
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000D
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000E
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000E
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000E
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000E
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000F
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000F
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000F
    CortxA8: GEL Output: No of Failed locations  are :: 0x0000000F
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000010
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000010
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000010
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000010
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000011
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000011
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000011
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000011
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000012
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000012
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000012
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000012
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000013
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000013
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000013
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000013
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000014
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000014
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000014
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000014
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000015
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000015
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000015
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000016
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: No of Failed locations  are :: 0x00000017
    CortxA8: GEL Output: Data Integrity check Failed

    Best Regards, Shiv

  • Shiv, it looks like it may be a timing issue. I used the timing spreadsheet with the datasheet you pointed to, and it looks like you used the wrong value for tRFC. It looks like you used a value of 130ns, but it should be 160ns based on the datasheet. This changes a couple of values:

    #define ALLOPP_DDR3_SDRAM_TIMING1 0x0AAAD4DB
    #define ALLOPP_DDR3_SDRAM_TIMING2 0x28437FDA
    #define ALLOPP_DDR3_SDRAM_TIMING3 0x501F83FF

    Can you try with these?

    Regards,
    James