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.

66AK2H06: DDR3 data corruption on custom board

Part Number: 66AK2H06

Hi,

My customer is evaluating 66AK2H06 with their custom board.
They found DDR3 issue.

When DDR memory window is refreshed in CCS, data at 00h, 20h, 40h, 60h, 80h, A0h, C0h, E0h are randomly corrupted.
Please see attached excel sheet.
DDR3_dump.xlsx
I guess something wrong in DDR configuration. Where should be checked?

Thanks and regards,
Koichiro Tashiro

  • Hi,

    Can you give some details? What is the DDR3 chip module and speed? I thought there is a spreadsheet to calculate the DDR timing, do you have that? What code example/sequence you followed to configure the DDR interface?

    See: http://www.ti.com/lit/an/sprac04/sprac04.pdf Keystone II DDR3 Debug Guide

    http://www.ti.com/lit/an/sprabx7/sprabx7.pdf Keystone II DDR3 Initialization

    Regards, Eric

  • Hi,

    Any update?

    Regards, Eric

  • Hi Eric,

    Sorry for the delay.
    Please find below additional information from customer.

    1) DDR debug spreadsheet is attached.
    KS2_DDR_Debug_Spreadsheet_v1_01_BitErrorOccuer.xlsx
    2) DDR configuration is done using gel file.

    GelFile_Excerpt_DDR3Asetting.txt
    /*----------------------------------------------------- DDR3A : DDR1600, 64bit,TEST--------------------------------------------------------------------------*/
    ddr3A_64bit_DDR1600_setup2()
    {
            unsigned int multiplier = 39;
            unsigned int divider = 0;
            int temp,i, delay=1000;
            unsigned int OD_val = 10;
        KICK0 = 0x83E70B13;
        KICK1 = 0x95A4F1E0;
    
    //1.    Poll for IDONE=1 in the PHY General Status Register 0 (address offset 0x010).
             do {
        read_val = DDR3A_PGSR0;
        } while ((read_val&0x00000001) != 0x00000001);
    
    //      Clocks are enabled and frequency is stable---------------------------------------
            // DDR3A PLL setup
            GEL_TextOut ( "DDR3 PLL Setup ... \n");
        // DDR3APLLCTL0 = DDR3APLLCTL0 & 0xFF7FFFFF;
            // Set ENSAT = 1
            DDR3APLLCTL1 |= 0x00000040;
            // Put the PLL in PLL Mode
            DDR3APLLCTL0 |= 0x00800000;
    
            // Program the necessary multipliers/dividers and BW adjustments
        // Set the divider values
            DDR3APLLCTL0 &= ~(0x0000003F);
            DDR3APLLCTL0 |= (divider & 0x0000003F);
        // Program OD[3:0] in the SECCTL register
        DDR3APLLCTL0 &= OUTPUT_DIVIDE_MASK;  // clear the OD bit field
        DDR3APLLCTL0 |= ~OUTPUT_DIVIDE_MASK & (OD_val - 1) << OUTPUT_DIVIDE_OFFSET;  // set the OD[3:0] bit field of PLLD to OD_val
            // Set the Multipler values
            DDR3APLLCTL0 &= ~(0x0007FFC0);
            DDR3APLLCTL0 |= ((multiplier << 6) & 0x0007FFC0 );
            temp = ((multiplier + 1) >> 1) - 1;
            DDR3APLLCTL0 &= ~(0xFF000000);
            DDR3APLLCTL0 |= ((temp << 24) & 0xFF000000);
            DDR3APLLCTL1 &= ~(0x0000000F);
            DDR3APLLCTL1 |= ((temp >> 8) & 0x0000000F);
    
            // In PLL Controller, reset the PLL (bit 13 in DDR3APLLCTL1 register)
            DDR3APLLCTL1 |= 0x00004000;
            for(i=0;i<delay;i++);
            // In DDR3PLLCTL1, write PLLRST = 0 to bring PLL out of reset
        DDR3APLLCTL1 &= ~(0x00004000);
            for(i=0;i<delay;i++);
    
            // Put the PLL in PLL Mode
            DDR3APLLCTL0 &= ~(0x00800000); // ReSet the Bit 23
                    GEL_TextOut( "DDR3 PLL Setup complete, DDR3A clock now running at 800 MHz.\n" );
    //DDR3A PLL setup complete ---------------------------------------
    
    
        /*------------------------------- ECO FIX -----------------------------------------*/
        /*----------------------------- LEVELING FIX --------------------------------------*/
        // DDR3 write leveling ECO - Assert & release DDR PHY RESET after DDR PLL setup...
        DDR3APLLCTL1 = DDR3APLLCTL1 | 0x80000000;   //Assert DDR PHY reset after PLL enabled
        for(i=0;i<delay;i++);
        DDR3APLLCTL1 = DDR3APLLCTL1 & 0x7FFFFFFF;   //Release DDR PHY reset
    
        do {   // Poll IDONE after resetting PHY
            read_val = DDR3A_PGSR0;
        } while ((read_val&0x00000001) != 0x00000001);
    
    
    /*------------------------- Start PHY Configuration -------------------------------*/
    
            //DDR3A_PGCR1 = 0x0280C487;
    
            //5.a   Program FRQSEL in the PLL Control Register (address offset 0x018).
            DDR3A_PLLCR = 0xDE000; //Set FRQSEL=00
    
            //5.b.  Program WLSTEP=1, IODDRM=1, and ZCKSEL in the PHY General Configuration Register 1 (address offset 0x00C).
            DDR3A_PGCR1 |= (1 << 2); //WLSTEP = 1
    
            DDR3A_PGCR1 &= ~(IODDRM_MASK);
            DDR3A_PGCR1 |= (( 1 << 7) & IODDRM_MASK);
    
            DDR3A_PGCR1 &= ~(ZCKSEL_MASK);
            DDR3A_PGCR1 |= (( 1 << 23) & ZCKSEL_MASK);
    
            //5.c.  Program PHY Timing Parameters Register 0-4 (address offset 0x01C - 0x02C).
            DDR3A_PTR0 = 0x42C21590;
            DDR3A_PTR1 = 0xD05612C0;
    
            // Maintaining default values of Phy Timing Parameters Register 2 in PUB
            DDR3A_PTR3 = 0x0D861A80;//0x072515C2; //0x0B4515C2;//0x18061A80;
            DDR3A_PTR4 = 0x0C827100;//0x0AAE7100;
    
            //5.d.  Program PDQ, MPRDQ, and BYTEMASK in the DRAM Configuration Register (address offset 0x044).
            //              All other fields must be left at their default values.
            DDR3A_DCR &= ~(PDQ_MASK); //PDQ = 0
            DDR3A_DCR &= ~(MPRDQ_MASK); //MPRDQ = 0
    
            DDR3A_DCR &= ~(BYTEMASK_MASK);
            DDR3A_DCR |= (( 1 << 10) & BYTEMASK_MASK);
    
            //Uncomment for Dual Rank, Address Mirrored DIMMS
            //DDR3A_DCR &= ~(NOSRA_MASK);
            //DDR3A_DCR |= (( 1 << 27) & NOSRA_MASK);
            //DDR3A_DCR &= ~(UDIMM_MASK);
            //DDR3A_DCR |= (( 1 << 29) & UDIMM_MASK);
    
    
            //5.e.  Program DRAM Timing Parameters Register 0-2 (address offset 0x048 - 0x050).
            DDR3A_DTPR0 = 0x9D9CBB66;
            DDR3A_DTPR1 = 0x32868400;
            DDR3A_DTPR2 = 0x5002D200;
    
            //5.f.  Program BL=0, CL, WR, and PD=1 in the Mode Register 0 (address offset 0x054).
            //All other fields must be left at their default values.
            DDR3A_MR0 = 0x00001C70; //50
    
            //5.g.  Program DIC, RTT, and TDQS in the Mode Register 1 (address offset 0x058).
            //All other fields must be left at their default values.
            DDR3A_MR1 = 0x00000006;
    
    
    //---------------------------------------------------------------------------------------------------------
    
            //5.h.  Program Mode Register 2 (address offset 0x05C).
            // Maintaining default values of Program Mode Register 2
            DDR3A_MR2 = 0x00000018;
    
            //5.i.  Program DTMPR=1, DTEXD, DTEXG, RANKEN=1 or 3, and RFSHDT=7 in the Data Training Configuration Register (address offset 0x068).
            //All other fields must be left at their default values.
            DDR3A_DTCR = 0x710035C7; //Single-Rank
            //DDR3A_DTCR = 0x730035C7; //Dual-Rank
    
            //5.j.  Program tREFPRD=(5*tREFI/ddr_clk_period) in the PHY General Configuration Register 2 (address offset 0x08C).
            //All other fields must be left at their default values.
            DDR3A_PGCR2 = 0x00F07A12;
    
            //Set Impedence Register
            DDR3A_ZQ0CR1 = 0x0001005D;
            DDR3A_ZQ1CR1 = 0x0001005B;
            DDR3A_ZQ2CR1 = 0x0001005B;
            //DDR3A_ZQ3CR1 = 0x0000005D;
    
            //6.    Re-trigger PHY initialization in DDR PHY through the VBUSP interface.
            //6.a.  Program 0x00000033 to the PHY Initialization Register (address offset 0x004) to re-trigger PLL, ZCAL, and DCAL initialization.
            DDR3A_PIR = 0x00000033;
    
            //6.b.  Poll for IDONE=1 in the PHY General Status Register 0 (address offset 0x010).
        do {
                    read_val = DDR3A_PGSR0;
        } while ((read_val&0x00000001) != 0x00000001);
    
    //---------------------------------------------------------------------------------------------------------
    
            // 7.   Trigger DDR3 initialization and leveling/training in DDR PHY through the VBUSP interface.
            // a.   If using a 16-bit wide DDR interface, program DXEN=0 in the DATX8 2-7 General Configuration Registers (address offsets 0x240, 0x280, 0x2C0, 0x300, 0x340, and 0x380) to disable the leveling/training for the upper byte lanes.
            // b.   If using a 32-bit wide DDR interface, program DXEN=0 in the DATX8 4-7 General Configuration Registers (address offsets 0x2C0, 0x300, 0x340, and 0x380) to disable the leveling/training for the upper byte lanes.
            // c.   If ECC is not required, program DXEN=0 in the DATX8 8 General Configuration Register (address offset 0x3C0) to disable the leveling/training for the ECC byte lane.
            // NOTE: Setup supports 64-bit by default,  ECC enable by default.
    
            //7.d.  Program 0x0000XF81 to the PHY Initialization Register (address offset 0x004) to trigger DDR3 initialization and leveling/training sequences
    
            DDR3A_PIR = 0x0000FF81; //WLADJ - ON
            //DDR3A_PIR = 0x00000781;  //WLADJ - OFF
    
    
    //---------------------------------------------------------------------------------------------------------
    
    //7.e.  Poll for IDONE=1 in the PHY General Status Register 0 (address offset 0x010).
            do {
                    read_val = DDR3A_PGSR0;
               } while ((read_val&0x00000001) != 0x00000001);
    
    
            /* End PHY Configuration */
    
    
    
    
    //---------------------------------------------------------------------------------------------------------
    /* START EMIF INITIALIZATION
      ++++++++++++++++++SDCFG Register Calculation+++++++++++++++++++
      | 31 - 29  | 28 |27 - 25 | 24   | 23 - 22| 21 - 17 |
      |SDRAM_TYPE|Rsvd|DDR_TERM| DDQS | DYN_ODT|  Rsvd   |
      |  0x011   |  0 | 0x001  | 0x0  |   0x00 |   0x0   |
    
      | 16-14 |13 - 12 |  11 - 8 |  7   |6 - 5 |  4  |  3  |  2  |  1 - 0  |
      |   CWL | NM     |   CL    | Rsvd |IBANK | Rsvd|EBANK| Rsvd|PAGE_SIZE|
      |  0x11 | 0x00   |  0x1110 |  0x0 | 0x110| 0x0 |  0  |  0  |   0x10  |
      SDCFG = 0x0110 0011 0010 0010 0011 0011 1011 0010
      SDCFG = 0x6200CE62;
    
      SDRAM_TYPE = 3
      DDR_TERM = 3 (RZQ/4 = 1; RZQ/6=3)
      DDQS = 1
      DYN_ODT = 0
    
      CWL = 3 (CWL5=0; CWL6=1; CWL7=2; CWL8=3)
      NM = 0 (64-bit=0, 32-bit=1, 16-bit=2)
      CL = 14 (CL5=2; CL6=4; CL7=6; CL8=8; CL9=10; CL10=12; CL11=14)
      IBANK = 3 (8bank)
      EBANK = 0 (0 - pad_cs_o_n[0] , 1 - pad_cs_o_n[1:0])
      PAGE_SIZE = 2 (1024page-size=2; 2048page-size=3)
    */
    /* Start DDR3A EMIF Configuration */
            //8.    Configure the EMIF through the VBUSM interface.
            //8.a.  Program all EMIF MMR<92>s.
            DDR3A_SDCFG   = 0x6200CE62; // Single-Rank
            //DDR3A_SDCFG = 0x6200CE6A;     // Dual-Rank
    
        DDR3A_SDTIM1   = 0x166C9875;
        DDR3A_SDTIM2   = 0x00001D4A;
        DDR3A_SDTIM3   = 0x435DFF53;
            DDR3A_SDTIM4   = 0x543F0CFF;
    
            DDR3A_ZQCFG    = 0x70073200; // Single-Rank
            //DDR3A_ZQCFG  = 0xF0073200; // Dual-Rank
    
            //8.b.  Program reg_initref_dis=0 in the SDRAM Refresh Control Register (address offset 0x10).
        DDR3A_SDRFC = 0x00001869;
    
            GEL_TextOut("DDR3A initialization complete \n");
               /* End  DDR3A EMIF Configuration */
    }

    3) If speed is reduced to 1333 configuration, no error is observed. The gel used for 1333 configuration is attached.
    Change_DDR3A-1333_Setting.txt
    /*----------------------------------------------------- DDR3A : DDR1333, 64bit--------------------------------------------------------------------------*/
    
    ddr3A_64bit_DDR1333_setup()
    {
    unsigned int multiplier = 39;
            unsigned int divider = 0;
            int temp,i, delay=1000;
            unsigned int OD_val = 12;
        KICK0 = 0x83E70B13;
        KICK1 = 0x95A4F1E0;
    
    
    //1.    Poll for IDONE=1 in the PHY General Status Register 0 (address offset 0x010).
             do {
        read_val = DDR3A_PGSR0;
        } while ((read_val&0x00000001) != 0x00000001);
    
    //      Clocks are enabled and frequency is stable---------------------------------------
            // DDR3A PLL setup
            GEL_TextOut ( "DDR3 PLL Setup ... \n");
        // DDR3APLLCTL0 = DDR3APLLCTL0 & 0xFF7FFFFF;
            // Set ENSAT = 1
            DDR3APLLCTL1 |= 0x00000040;
            // Put the PLL in PLL Mode
            DDR3APLLCTL0 |= 0x00800000;
    
            // Program the necessary multipliers/dividers and BW adjustments
        // Set the divider values
            DDR3APLLCTL0 &= ~(0x0000003F);
            DDR3APLLCTL0 |= (divider & 0x0000003F);
        // Program OD[3:0] in the SECCTL register
        DDR3APLLCTL0 &= OUTPUT_DIVIDE_MASK;  // clear the OD bit field
        DDR3APLLCTL0 |= ~OUTPUT_DIVIDE_MASK & (OD_val - 1) << OUTPUT_DIVIDE_OFFSET;  // set the OD[3:0] bit field of PLLD to OD_val
            // Set the Multipler values
            DDR3APLLCTL0 &= ~(0x0007FFC0);
            DDR3APLLCTL0 |= ((multiplier << 6) & 0x0007FFC0 );
            temp = ((multiplier + 1) >> 1) - 1;
            DDR3APLLCTL0 &= ~(0xFF000000);
            DDR3APLLCTL0 |= ((temp << 24) & 0xFF000000);
            DDR3APLLCTL1 &= ~(0x0000000F);
            DDR3APLLCTL1 |= ((temp >> 8) & 0x0000000F);
    
            // In PLL Controller, reset the PLL (bit 13 in DDR3APLLCTL1 register)
            DDR3APLLCTL1 |= 0x00004000;
            for(i=0;i<delay;i++);
            // In DDR3PLLCTL1, write PLLRST = 0 to bring PLL out of reset
        DDR3APLLCTL1 &= ~(0x00004000);
            for(i=0;i<delay;i++);
    
            // Put the PLL in PLL Mode
            DDR3APLLCTL0 &= ~(0x00800000); // ReSet the Bit 23
                    GEL_TextOut( "DDR3 PLL Setup complete, DDR3A clock now running at 666 MHz.\n" );
    //DDR3A PLL setup complete ---------------------------------------
    
        /*------------------------------- ECO FIX -----------------------------------------*/
        /*----------------------------- LEVELING FIX --------------------------------------*/
        // DDR3 write leveling ECO - Assert & release DDR PHY RESET after DDR PLL setup...
        DDR3APLLCTL1 = DDR3APLLCTL1 | 0x80000000;   //Assert DDR PHY reset after PLL enabled
        for(i=0;i<delay;i++);
        DDR3APLLCTL1 = DDR3APLLCTL1 & 0x7FFFFFFF;   //Release DDR PHY reset
    
        do {   // Poll IDONE after resetting PHY
            read_val = DDR3A_PGSR0;
        } while ((read_val&0x00000001) != 0x00000001);
    
    /*------------------------- Start PHY Configuration -------------------------------*/
    
     //DDR3A_PGCR1 = 0x0280C487;
    
            //5.a   Program FRQSEL in the PLL Control Register (address offset 0x018).
            DDR3A_PLLCR = 0xDE000; //Set FRQSEL=11, for ctl_clk between 166-275MHz
    
            //5.b.  Program WLSTEP=1, IODDRM=1, and ZCKSEL in the PHY General Configuration Register 1 (address offset 0x00C).
            DDR3A_PGCR1 |= (1 << 2); //WLSTEP = 1
    
            DDR3A_PGCR1 &= ~(IODDRM_MASK);
            DDR3A_PGCR1 |= (( 1 << 7) & IODDRM_MASK);
    
            DDR3A_PGCR1 &= ~(ZCKSEL_MASK);
            DDR3A_PGCR1 |= (( 1 << 23) & ZCKSEL_MASK);
    
            //5.c.  Program PHY Timing Parameters Register 0-4 (address offset 0x01C - 0x02C).
            DDR3A_PTR0 = 0x42C21590;
            DDR3A_PTR1 = 0xD05612C0;
    
            // Maintaining default values of Phy Timing Parameters Register 2 in PUB
            DDR3A_PTR3 = 0x0B4515C2;//0x072515C2; //0x0B4515C2;//0x18061A80;
            DDR3A_PTR4 = 0x0A6E08B4;//0x0AAE7100;
    
            //5.d.  Program PDQ, MPRDQ, and BYTEMASK in the DRAM Configuration Register (address offset 0x044).
            //              All other fields must be left at their default values.
            DDR3A_DCR &= ~(PDQ_MASK); //PDQ = 0
            DDR3A_DCR &= ~(MPRDQ_MASK); //MPRDQ = 0
    
            DDR3A_DCR &= ~(BYTEMASK_MASK);
            DDR3A_DCR |= (( 1 << 10) & BYTEMASK_MASK);
    
            //Uncomment for Dual-Rank, Address Mirrored DIMMS
            //DDR3A_DCR &= ~(NOSRA_MASK);
            //DDR3A_DCR |= (( 1 << 27) & NOSRA_MASK);
            //DDR3A_DCR &= ~(UDIMM_MASK);
            //DDR3A_DCR |= (( 1 << 29) & UDIMM_MASK);
    
            //5.e.  Program DRAM Timing Parameters Register 0-2 (address offset 0x048 - 0x050).
            DDR3A_DTPR0 = 0x8558AA75;//0x85589975;//0x8558AA55;
            DDR3A_DTPR1 = 0x32857280;//0x12857280;//0x12835A80;//0x12857280;
            DDR3A_DTPR2 = 0x5002C200;
    
            //5.f.  Program BL=0, CL, WR, and PD=1 in the Mode Register 0 (address offset 0x054).
            //All other fields must be left at their default values.
            DDR3A_MR0 = 0x00001A60; //50
    
            //5.g.  Program DIC, RTT, and TDQS in the Mode Register 1 (address offset 0x058).
            //All other fields must be left at their default values.
            DDR3A_MR1 = 0x00000006;
    
    //---------------------------------------------------------------------------------------------------------
    
            //5.h.  Program Mode Register 2 (address offset 0x05C).
            // Maintaining default values of Program Mode Register 2
            DDR3A_MR2 = 0x00000010;
    
            //5.i.  Program DTMPR=1, DTEXD, DTEXG, RANKEN=1 or 3, and RFSHDT=7 in the Data Training Configuration Register (address offset 0x068).
            //All other fields must be left at their default values.
            DDR3A_DTCR = 0x710035C7;        //Single-Rank //0x730035C7;
            //DDR3A_DTCR = 0x730035C7;      //Dual-Rank
    
            //5.j.  Program tREFPRD=(5*tREFI/ddr_clk_period) in the PHY General Configuration Register 2 (address offset 0x08C).
            //All other fields must be left at their default values.
    
            DDR3A_PGCR2 = 0x00F065B8; //NOBUB = 0, FXDLAT = 0
            //DDR3A_PGCR2 = 0x00F83D09; //NOBUB = 0, FXDLAT = 1
    
            //Set Impedence Register
            DDR3A_ZQ0CR1 = 0x0001005D;
            DDR3A_ZQ1CR1 = 0x0001005B;
            DDR3A_ZQ2CR1 = 0x0001005B;
            //DDR3A_ZQ3CR1 = 0x0000005D;
    
            //6.    Re-trigger PHY initialization in DDR PHY through the VBUSP interface.
            //6.a.  Program 0x00000033 to the PHY Initialization Register (address offset 0x004) to re-trigger PLL, ZCAL, and DCAL initialization.
            DDR3A_PIR = 0x00000033;
    
            //6.b.  Poll for IDONE=1 in the PHY General Status Register 0 (address offset 0x010).
         do {
                    read_val = DDR3A_PGSR0;
        } while ((read_val&0x00000001) != 0x00000001);
    
    //---------------------------------------------------------------------------------------------------------
    
            // 7.   Trigger DDR3 initialization and leveling/training in DDR PHY through the VBUSP interface.
            // a.   If using a 16-bit wide DDR interface, program DXEN=0 in the DATX8 2-7 General Configuration Registers (address offsets 0x240, 0x280, 0x2C0, 0x300, 0x340, and 0x380) to disable the leveling/training for the upper byte lanes.
            // b.   If using a 32-bit wide DDR interface, program DXEN=0 in the DATX8 4-7 General Configuration Registers (address offsets 0x2C0, 0x300, 0x340, and 0x380) to disable the leveling/training for the upper byte lanes.
            // c.   If ECC is not required, program DXEN=0 in the DATX8 8 General Configuration Register (address offset 0x3C0) to disable the leveling/training for the ECC byte lane.
            // NOTE: Setup supports 64-bit by default,  ECC enable by default.
    
            //7.d.  Program 0x0000XF81 to the PHY Initialization Register (address offset 0x004) to trigger DDR3 initialization and leveling/training sequences
            DDR3A_PIR = 0x0000FF81; //WLADJ - ON
            //DDR3A_PIR = 0x00000781;  //WLADJ - OFF
    
    
    //---------------------------------------------------------------------------------------------------------
    
            //7.e.  Poll for IDONE=1 in the PHY General Status Register 0 (address offset 0x010).
            do {
                    read_val = DDR3A_PGSR0;
            } while ((read_val&0x00000001) != 0x00000001);
    
    
            /* End PHY Configuration */
    //---------------------------------------------------------------------------------------------------------
    /* START EMIF INITIALIZATION
      ++++++++++++++++++SDCFG Register Calculation+++++++++++++++++++
      | 31 - 29  | 28 |27 - 25 | 24   | 23 - 22| 21 - 17 |
      |SDRAM_TYPE|Rsvd|DDR_TERM| DDQS | DYN_ODT|  Rsvd   |
      |  0x011   |  0 | 0x011  | 0x1  |   0x00 |   0x0   |
    
      | 16-14 |13 - 12 |  11 - 8 |  7   |6 - 5 |  4  |  3  |  2  |  1 - 0  |
      |   CWL | NM     |   CL    | Rsvd |IBANK | Rsvd|EBANK| Rsvd|PAGE_SIZE|
      |  0x11 | 0x00   |  0x1110 |  0x0 | 0x11 | 0x0 |  0  |  0  |   0x10  |
      SDCFG = 0x0110 0011 0010 0010 0011 0011 1011 0010
      SDCFG = 0x6700486A;//0x63223332
    
      SDRAM_TYPE = 3
      DDR_TERM = 3 (RZQ/4 = 1; RZQ/6=3)
      DDQS = 1
      DYN_ODT = 0
    
      CWL = 3 (CWL5=0; CWL6=1; CWL7=2; CWL8=3)
      NM = 0 (64-bit=0, 32-bit=1, 16-bit=2)
      CL = 14 (CL5=2; CL6=4; CL7=6; CL8=8; CL9=10; CL10=12; CL11=14)
      IBANK = 3 (8bank)
      EBANK = 0 (0 - pad_cs_o_n[0] , 1 - pad_cs_o_n[1:0])
      PAGE_SIZE = 2 (1024page-size=2; 2048page-size=3)
    */
    /* Start DDR3A EMIF Configuration */
            //8.    Configure the EMIF through the VBUSM interface.
            //8.a.  Program all EMIF MMR<92>s.
            DDR3A_SDCFG    = 0x62008C62;    //Single-Rank 9A62//0x62008C62  ;//0x6600CE62=single rank,0x6600CE6A=dual rank
            //DDR3A_SDCFG  = 0x62008C6A;    //Dual-Rank
    
        DDR3A_SDTIM1   = 0x125C8044;//0x125C8046;//0x125C8044;
        DDR3A_SDTIM2   = 0x00001D29;//0x00001D08; //29
        DDR3A_SDTIM3   = 0x32CDFF43;//0x31C5FF43;//0x32CDFF43;
            DDR3A_SDTIM4   = 0x543F0ADF;//0x543F06AF;//0x543F0ADF;
    
            DDR3A_ZQCFG    = 0x70073200;    //Single-Rank
            //DDR3A_ZQCFG    = 0xF0073200;  //Dual-Rank
    
            //8.b.  Program reg_initref_dis=0 in the SDRAM Refresh Control Register (address offset 0x10).
        DDR3A_SDRFC = 0x00001457;
    
            GEL_TextOut("DDR3A initialization complete \n");
               /* End  DDR3A EMIF Configuration */
    }

    4) Customer checked waveforms. The waveforms are attached in “Issue Review” sheet. Each signal is probed at VIA close to K2H.
    It seems CLK/DQS/DQ timings are correct, but bit corruption is observed in CCS window.

    Thanks and regards,
    Koichiro Tashiro

  • Koichiro,

    Thanks for collecting the debug information! On the "Debug Test" table:

    Test cannot run properly:
    Write_Read_Test_DDR3A() cannot be evaluated.
    Target failed to read 0x01840040
      at L1_cache_value=*((int *) 0x01840040) [Keystone2_DDR_Debug_v1_4.gel:328]
      at disable_cache() [Keystone2_DDR_Debug_v1_4.gel:2373]
      at Write_Read_Test_DDR3A()

    The 0x01840040 is the address of L1DCFG, this is to disable the L1D cache, run a memory test, re-enable L1D cache. I am not sure why you can't run the TI test gel file for this, but we already know the DDR3A is not stable at certain addresses. Let me check with our DDR expert.

    Regards, Eric 

  • Koichiro,

    Commissioning a DDR interface for robust operation is a multi-step process.  If any step is skipped, the DDR interface will not operate robustly.  Eric referenced a few of the resources above.  The steps are highlighted in the KeyStone™ II DDR3 Interface Bring-Up Application Report (SPRACM0) at the link below.  Please provide a report, like the one in Table 1, that shows that the length matching rules have been met.  The Applications Report also contains links to the other documents that must be referenced.  One of them is the Keystone II DDR3 Initialization Application Report (SPRABX7) and its associated REG_CALC spreadsheet.  Please also provide the SDRAM datasheet and the completed REG_CALC worksheet.

    Tom

  • Koichiro,

    The 66AK2H06 has 2 DDR interfaces.  Is the customer using one or both?  If both, do they see the same behavior on both?

    Tom

  • Hi Tom,

    Please find in attachment complete REG_CALC worksheet.
    2451.K2 DDR3 Register Calc v1p60.xlsx

    DDR datasheet:
    https://www.winbond.com/resource-files/W634GU6NB_A01.pdf

    DDR3 layout data are also attached. All signals are OK.
    The issue is observed with memory U3 and U6 in the excel.
    DDR3_Length_Matching.xlsx

    Tom Johnson 16214 said:

    Koichiro,

    The 66AK2H06 has 2 DDR interfaces.  Is the customer using one or both?  If both, do they see the same behavior on both?

    Tom



    No, customer is using DDR3A only.

    Thanks and regards,
    Koichiro Tashiro

  • Koichiro,

    What is the full part number for the Winbond SDRAMs?

    Tom

  • Koichiro,

    I reviewed the length matching table and the REG_CALC worksheet.  These look proper.  I noticed in the length-matching table that you have the ECC byte lane implemented.  Do you have ECC enabled in your configuration?  If so, do you see a change in behavior if you disable ECC?

    Tom

  • Tom-san,

    We use W634GU6NB-11(Corresponds -1866 standard).

    However, use it at -1600 standard.

    So, timing and operating condition refers to -1600.

    Thanks and regards,

    Tomoya Kimura

  • Tom-san,

    We setting ECC enable now.

    We test ECC enable -> desable (address 0x023293C0 Value: 7C000E81 -> 7C000E80)

    However, the situation in DDR3 data corruption doesn't change.

    Thanks and regards,

    Tomoya Kimura

    /cfs-file/__key/communityserver-discussions-components-files/791/change-ECC-desable.xlsx

  • Tomoya,

    Changing the value at address 0x023293C0  only enables or disables the DDR byte lane buffers and leveling for the ECC byte lane.  I was asking whether you had ECC checking enabled as part of the system operation.  there is much more required to enable ECC such as initializing the memory prior to performing reads.

    Tom

  • Hi Tom,

    DDR layout of customer board is attached.
    It is 12 layer PCB.
    DDR3_Pattern.xlsx
    Both K2H and DDRs are on TOP layer.
    And the data corruptions are observed often on DQ<0-15> and DQ<48-63>.
    Please refer TOP sheet for device location.

    Thanks and regards,
    Koichiro Tashiro

  • Koichiro,

    All of the information provided thus far has been screen shots of CCS memory displays.  CCS has a lot of background operations and examining the displayed results can be misleading.  Can you write a program that writes to a block of memory and then reads it back and displays the results (or at least displays the mismatches - ADDR, DATA expected, DATA revceived) while performing 32-bit accesses?

    Tom

  • Koichiro,

    I reviewed the layout images.  One of the requirements is that the area containing the DDR routing must be isolated from other circuits to prevent interference.  The ADDR/CMD routing on layer K extends above the first SDRAM (DQ[1:15]).  The top layer image shows what appears to be part of the DC-DC switching supply adjacent to the SDRAM and directly above these routes.  The electrical field underneath these components will be very strong and it can couple (broadside) into these routes.  There are also components with vias between the DATA routes to the last SDRAM but these are less of a concern.  I also noticed that you have a 1.8V power plane between layers C and E.  This is another opportunity for digital noise to couple into the DDR routes.  The DDR routing area of this plane should be cut out and be coupled to GND.

    Tom

  • Koichiro,

    Can you have the customer create a memory test as I described above?  That can provide useful information.  It can also be used for robustness testing at a reduced clock rate so that development can continue until the layout is improved.

    Tom

  • Hi Tom,

    Thanks for your feedback on customer layout.
    I got below questions from customer.

    Tom Johnson 16214 said:

     The ADDR/CMD routing on layer K extends above the first SDRAM (DQ[1:15]).  The top layer image shows what appears to be part of the DC-DC switching supply adjacent to the SDRAM and directly above these routes.  The electrical field underneath these components will be very strong and it can couple (broadside) into these routes.  


    a) The DC-DC near the first SDRAM(DQ[1:15]) is generating 1.5V for DDR3.
    The pattern is separated on Layer J (please refer to sheet ’1’). Is this still concern?

    Tom Johnson 16214 said:

     I also noticed that you have a 1.8V power plane between layers C and E.  This is another opportunity for digital noise to couple into the DDR routes.  The DDR routing area of this plane should be cut out and be coupled to GND.



    b) Changing layer D as attached sheet ‘2’ is ok?
    DDR3_Pattern_2.xlsx
    Thanks and regards,
    Koichiro Tashiro

  • Koichiro,

    a)  Yes, the dynamic magnetic fields created by the large AC ripple currents in the switching power supply will extend below the ground plane on the 2nd layer.  Power supply circuitry cannot be near the sensitive digital logic routing.  This is why we inform designers to define a DDR keep-out region where there can be no other circuitry.

    b)  Yes, cutting the 1V8 plane and putting GND adjacent to all of the DDR routes in this keep-out region.

    Tom

  • Tom,

    For a), is there any recommended keep-out length from DDRs?
    On customer’s board, there are other DC-DCs around the 1st DDR.
    Please see attached sheet ‘a’
    DDR3_Pattern_3.xlsx
    How far these DC-DCs need to be separated from DDR signals?

    Thanks and regards,
    Koichiro Tashiro

  • Koichiro,

    The Design Guide mentions that non-DDR signals should be at least 6W from the DDR routes.  That would be a minimum horizontal distance from the outer-most routes and this is intended for typical digital routes.  Electrical and magnetic fields from switching power supplies may need additional separation.  Additionally, you may need to add a barrier of ground 'pinning' vias along the border of the switching supply to prevent the rapidly varying ground currents around the supply from entering the DDR keep-out region.

    Tom

  • Tom,

    Thanks for your answer.

    Customer wonders what “add a barrier of ground 'pinning' vias along the border…” exactly means.
    The attached image (add pinning sheet) is correct?
    DDR3_Pattern_4.xlsx
    Thanks and regards,
    Koichiro Tashiro

  • Koichiro,

    Yes, adding a row of ground vias along the border of the keep-out area is what I mean be this.  It adds paths for the ripple currents to remain within the ground planes under the power supply components.  Of course, the power supply components still need to be moved outside the DDR keep-out region.

    Tom

  • Hi Tom,

    Customer found the issue happens differently each time DDR initialization sequence is repeated.
    For example:

    Suppose the same board and same setup sequence with same parameters are used,
    a) After the first DDR initialization sequence, only DQ[7:0] (byte lane#0) shows data corruptions.
    b) After DDR initialization sequence is re-tried, only DQ[55:48] (byte lane#6) shows data corruptions.
    c) After DDR initialization sequence is re-tried again, DQ[7:0] (byte lane#0), DQ[15:8] (byte lane#1) and DQ[55:48] (byte lane#6) show data corruptions.
    d) After DDR initialization sequence is re-tried again, no data corruption.

    Are such behavior introduced due to layout problems?
    Customer suspected something wrong with DDR initialization sequence and some configuration(leveling?) may be wrong.
    The DDR initialization sequence is the same attached in previous post on Feb.14 (GelFile_Excerpt_DDR3Asetting.txt).

    I compared DDR PHY registers above four cases and the results are attached.
    (I also compared DDR Controller registers, but they are the same except PERF_CNT_TIM.)
    PHY_registers.xlsx
    Column B: Address
    Column C: Register values for no data corruption
    Column D to F: Register values with data corruption(see comments at row#2 for details)
    Column G to I: Comparison results (Column C with D to F)

    There are many differences in leveling registers(some are not in User’s guide), but I am not sure these differences are significant or marginal.

    Thanks and regards,
    Koichiro Tashiro

  • Tashiro-san,

    At the beginning of this thread, the Debug GEL was used.  This tool parses and displays the registers that show important leveling results.  It would be more meaningful if you provided comparative results using this tool.  You can also run this tool on successive tests on the EVM to see the expected variability of the leveling registers.

    The DDR initialization code in the GEL file and in the ProcSDK is mature and not broken.  If it is implemented correctly by merging in the settings from the REG_CALC worksheet, the hardware-driven, automatic leveling process will succeed.  Disturbances on the Clock, DQS and Data signals can cause leveling to be unstable.  This is why I have been looking at the layout for possible aggressors.

    I mentioned previously that the DC-DC POL supply was a possible source of signal disruption.  You could test this by disabling that supply and providing that supply rail from a bench supply or from somewhere else on the board.

    Tom

  • Tashiro-san,

    How many prototype boards have they produced?  Do they all fail intermittently as described above?

    Have they written a memory test as I requested?  It would be useful to see the patterns of the failures.  Normally, a memory test writes known values into a block of memory.  Then it reads that block back and compares the result and displays the address, value read and the expected value for each failure.  You can do this in GEL but it will run slow.  Also, cache must be disable for the memory being tested.

    Tom

  • Hi Tom,

    Customer compared Debug logs with and without error.
    “Debug Logs – Leveling” shows differences.

    Please see attached.
    NoError.txt : No data corruption
    Error.txt: Data corruption at DQ[7:0], DQ[15:8] and DQ[55:48]

    NoError.txt
    arm_A15_1: GEL Output: ****************************************************************************************************************													
    arm_A15_1: GEL Output: ***************** DDR3A Leveling Errors *********************													
    arm_A15_1: GEL Output:  PGSR0[27]:	WEERR has 	** No Error **											
    arm_A15_1: GEL Output:  PGSR0[26]:	REERR has 	** No Error **											
    arm_A15_1: GEL Output:  PGSR0[25]:	WDERR has 	** No Error **											
    arm_A15_1: GEL Output:  PGSR0[24]:	RDERR has 	** No Error **											
    arm_A15_1: GEL Output:  PGSR0[23]:	WLAERR has 	** No Error **											
    arm_A15_1: GEL Output:  PGSR0[22]:	QSGERR has 	** No Error **											
    arm_A15_1: GEL Output:  PGSR0[21]:	WLERR has 	** No Error **											
    arm_A15_1: GEL Output:  PGSR0[20]:	ZCERR has 	** No Error **											
    													
    arm_A15_1: GEL Output:  PGSR0[11]:	WEDONE is 	** Set **											
    arm_A15_1: GEL Output:  PGSR0[10]:	REDONE is 	** Set **											
    arm_A15_1: GEL Output:  PGSR0[9]:		WDDONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[8]:		RDDONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[7]:		WLADONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[6]:		QSGDONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[5]:		WLDONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[4]:		DIDONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[3]:		ZCDONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[2]:		DCDONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[1]:		PLDONE is 	** Set **										
    arm_A15_1: GEL Output:  PGSR0[0]:		IDONE is 	** Set **										
    													
    arm_A15_1: GEL Output: ********************************************************													
    arm_A15_1: GEL Output: Leveling Errors by Byte Lane:													
    													
    arm_A15_1: GEL Output: Byte Lane 0:													
    arm_A15_1: GEL Output: 	DX0GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX0GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX0GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX0GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX0GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX0GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX0GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: Byte Lane 1:													
    arm_A15_1: GEL Output: 	DX1GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX1GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX1GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX1GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX1GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX1GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX1GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: Byte Lane 2:													
    arm_A15_1: GEL Output: 	DX2GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX2GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX2GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX2GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX2GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX2GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX2GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: Byte Lane 3:													
    arm_A15_1: GEL Output: 	DX3GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX3GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX3GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX3GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX3GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX3GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX3GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: Byte Lane 4:													
    arm_A15_1: GEL Output: 	DX4GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX4GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX4GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX4GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX4GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX4GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX4GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: Byte Lane 5:													
    arm_A15_1: GEL Output: 	DX5GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX5GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX5GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX5GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX5GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX5GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX5GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: Byte Lane 6:													
    arm_A15_1: GEL Output: 	DX6GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX6GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX6GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX6GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX6GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX6GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX6GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: Byte Lane 7:													
    arm_A15_1: GEL Output: 	DX7GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX7GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX7GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX7GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX7GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX7GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX7GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: Byte Lane 8:													
    arm_A15_1: GEL Output: 	DX8GSR2[6]:   WEERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX8GSR2[4]:   REERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX8GSR2[2]:   WDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX8GSR2[0]:   RDERR has 		** No Error **										
    arm_A15_1: GEL Output: 	DX8GSR0[25]:   QSGERR on Rank1 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX8GSR0[24]:   QSGERR on Rank0 has 	** No Error **											
    arm_A15_1: GEL Output: 	DX8GSR0[6]:    WLERR has 		** No Error **										
    arm_A15_1: GEL Output: ****************************************************************************************************************													
    arm_A15_1: GEL Output: ****************************************************************************************************************													
    arm_A15_1: GEL Output: ***************** DDR3A Leveling Values *********************													
    arm_A15_1: GEL Output: DDR Clock Period as measured by Leveling Registers:													
    													
    arm_A15_1: GEL Output:  DX0GSR0:		0x00379AA0 											
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	5										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55										
    arm_A15_1: GEL Output:  DX1GSR0:		0x00379AA0 											
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	5										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55										
    arm_A15_1: GEL Output:  DX2GSR0:		0x00359AA0 											
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	5										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	53										
    arm_A15_1: GEL Output:  DX3GSR0:		0x00379BA0 											
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55										
    arm_A15_1: GEL Output:  DX4GSR0:		0x00369BA0 											
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	54										
    arm_A15_1: GEL Output:  DX5GSR0:		0x00379BA0 											
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55										
    arm_A15_1: GEL Output:  DX6GSR0:		0x00379BA0 											
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55										
    arm_A15_1: GEL Output:  DX7GSR0:		0x00359B20 											
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	6										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	53										
    arm_A15_1: GEL Output:  DX8GSR0(ECC):	0x00359BA0 												
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7										
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	53										
    													
    arm_A15_1: GEL Output: ********************************************************													
    arm_A15_1: GEL Output: Delay Values from Write Leveling Registers:													
    													
    arm_A15_1: GEL Output:  DX0GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX0LCDLR0:		0x00000015 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		21									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output:  DX1GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX1LCDLR0:		0x00000018 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		24									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output:  DX2GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX2LCDLR0:		0x00000023 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		35									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output:  DX3GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX3LCDLR0:		0x00000027 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		39									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output:  DX4GTR:			0x00005003 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX4LCDLR0:		0x00000035 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		53									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output:  DX5GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX5LCDLR0:		0x00000041 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		65									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output:  DX6GTR:			0x00005003 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX6LCDLR0:		0x00000045 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		69									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output:  DX7GTR:			0x00005003 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX7LCDLR0:		0x0000004A 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		74									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output:  DX8GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1										
    arm_A15_1: GEL Output:  DX8LCDLR0:		0x00000026 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		38									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0									
    arm_A15_1: GEL Output: ********************************************************													
    arm_A15_1: GEL Output: Equivalent 90 degree phase shift in delay units, derived from measured period:													
    													
    arm_A15_1: GEL Output:  DX0LCDLR1:		0x001B1B1E 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		30									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay):		27									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		27									
    arm_A15_1: GEL Output:  DX1LCDLR1:		0x001B1A1F 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		31									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		26									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		27									
    arm_A15_1: GEL Output:  DX2LCDLR1:		0x001B1C1D 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		29									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		28									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		27									
    arm_A15_1: GEL Output:  DX3LCDLR1:		0x0018171F 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		31									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		23									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		24									
    arm_A15_1: GEL Output:  DX4LCDLR1:		0x001A191E 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		30									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		25									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		26									
    arm_A15_1: GEL Output:  DX5LCDLR1:		0x001A1A1F 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		31									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		26									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		26									
    arm_A15_1: GEL Output:  DX6LCDLR1:		0x001B1B1D 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		29									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		27									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		27									
    arm_A15_1: GEL Output:  DX7LCDLR1:		0x00191920 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		32									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		25									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		25									
    arm_A15_1: GEL Output:  DX8LCDLR1:		0x0018181F 											
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		31									
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		24									
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		24									
    arm_A15_1: GEL Output: ********************************************************													
    arm_A15_1: GEL Output: Delay Values from Read DQS Gating Leveling Registers:													
    													
    arm_A15_1: GEL Output:  DX0GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX0LCDLR2:		0x0000004E 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		78									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output:  DX1GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX1LCDLR2:		0x00000045 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		69									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output:  DX2GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX2LCDLR2:		0x0000004B 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		75									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output:  DX3GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX3LCDLR2:		0x00000048 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		72									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output:  DX4GTR:			0x00005003 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	3										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX4LCDLR2:		0x00000002 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		2									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output:  DX5GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX5LCDLR2:		0x0000005D 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		93									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output:  DX6GTR:			0x00005003 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	3										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX6LCDLR2:		0x0000000D 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		13									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output:  DX7GTR:			0x00005003 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	3										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX7LCDLR2:		0x00000007 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		7									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output:  DX8GTR:			0x00005002 										
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2										
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0										
    arm_A15_1: GEL Output:  DX8LCDLR2:		0x0000005E 											
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		94									
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0									
    arm_A15_1: GEL Output: ****************************************************************************************************************													
    

    5516.Error.txt
    arm_A15_1: GEL Output: ****************************************************************************************************************										
    arm_A15_1: GEL Output: ***************** DDR3A Leveling Errors *********************										
    arm_A15_1: GEL Output:  PGSR0[27]:	WEERR has 	** No Error **								
    arm_A15_1: GEL Output:  PGSR0[26]:	REERR has 	** No Error **								
    arm_A15_1: GEL Output:  PGSR0[25]:	WDERR has 	** No Error **								
    arm_A15_1: GEL Output:  PGSR0[24]:	RDERR has 	** No Error **								
    arm_A15_1: GEL Output:  PGSR0[23]:	WLAERR has 	** No Error **								
    arm_A15_1: GEL Output:  PGSR0[22]:	QSGERR has 	** No Error **								
    arm_A15_1: GEL Output:  PGSR0[21]:	WLERR has 	** No Error **								
    arm_A15_1: GEL Output:  PGSR0[20]:	ZCERR has 	** No Error **								
    										
    arm_A15_1: GEL Output:  PGSR0[11]:	WEDONE is 	** Set **								
    arm_A15_1: GEL Output:  PGSR0[10]:	REDONE is 	** Set **								
    arm_A15_1: GEL Output:  PGSR0[9]:		WDDONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[8]:		RDDONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[7]:		WLADONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[6]:		QSGDONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[5]:		WLDONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[4]:		DIDONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[3]:		ZCDONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[2]:		DCDONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[1]:		PLDONE is 	** Set **							
    arm_A15_1: GEL Output:  PGSR0[0]:		IDONE is 	** Set **							
    										
    arm_A15_1: GEL Output: ********************************************************										
    arm_A15_1: GEL Output: Leveling Errors by Byte Lane:										
    										
    arm_A15_1: GEL Output: Byte Lane 0:										
    arm_A15_1: GEL Output: 	DX0GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX0GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX0GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX0GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX0GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX0GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX0GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: Byte Lane 1:										
    arm_A15_1: GEL Output: 	DX1GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX1GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX1GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX1GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX1GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX1GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX1GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: Byte Lane 2:										
    arm_A15_1: GEL Output: 	DX2GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX2GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX2GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX2GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX2GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX2GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX2GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: Byte Lane 3:										
    arm_A15_1: GEL Output: 	DX3GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX3GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX3GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX3GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX3GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX3GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX3GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: Byte Lane 4:										
    arm_A15_1: GEL Output: 	DX4GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX4GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX4GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX4GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX4GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX4GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX4GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: Byte Lane 5:										
    arm_A15_1: GEL Output: 	DX5GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX5GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX5GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX5GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX5GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX5GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX5GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: Byte Lane 6:										
    arm_A15_1: GEL Output: 	DX6GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX6GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX6GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX6GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX6GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX6GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX6GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: Byte Lane 7:										
    arm_A15_1: GEL Output: 	DX7GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX7GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX7GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX7GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX7GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX7GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX7GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: Byte Lane 8:										
    arm_A15_1: GEL Output: 	DX8GSR2[6]:   WEERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX8GSR2[4]:   REERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX8GSR2[2]:   WDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX8GSR2[0]:   RDERR has 		** No Error **							
    arm_A15_1: GEL Output: 	DX8GSR0[25]:   QSGERR on Rank1 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX8GSR0[24]:   QSGERR on Rank0 has 	** No Error **								
    arm_A15_1: GEL Output: 	DX8GSR0[6]:    WLERR has 		** No Error **							
    arm_A15_1: GEL Output: ****************************************************************************************************************										
    arm_A15_1: GEL Output: ****************************************************************************************************************										
    arm_A15_1: GEL Output: ***************** DDR3A Leveling Values *********************										
    arm_A15_1: GEL Output: DDR Clock Period as measured by Leveling Registers:										
    										
    arm_A15_1: GEL Output:  DX0GSR0:		0x00379BA0 								
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    arm_A15_1: GEL Output:  DX1GSR0:		0x00379BA0 								
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    arm_A15_1: GEL Output:  DX2GSR0:		0x00379BA0 								
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    arm_A15_1: GEL Output:  DX3GSR0:		0x00379BA0 								
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    arm_A15_1: GEL Output:  DX4GSR0:		0x00379BA0 								
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    arm_A15_1: GEL Output:  DX5GSR0:		0x00379BA0 								
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    arm_A15_1: GEL Output:  DX6GSR0:		0x00379BA0 								
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    arm_A15_1: GEL Output:  DX7GSR0:		0x00379BA0 								
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    arm_A15_1: GEL Output:  DX8GSR0(ECC):	0x00379BA0 									
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	7							
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	55							
    										
    arm_A15_1: GEL Output: ********************************************************										
    arm_A15_1: GEL Output: Delay Values from Write Leveling Registers:										
    										
    arm_A15_1: GEL Output:  DX0GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX0LCDLR0:		0x00000016 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		22						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output:  DX1GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX1LCDLR0:		0x00000017 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		23						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output:  DX2GTR:			0x00005002 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX2LCDLR0:		0x00000024 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		36						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output:  DX3GTR:			0x00005002 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX3LCDLR0:		0x00000028 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		40						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output:  DX4GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX4LCDLR0:		0x00000037 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		55						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output:  DX5GTR:			0x00005002 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX5LCDLR0:		0x00000042 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		66						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output:  DX6GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX6LCDLR0:		0x00000047 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		71						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output:  DX7GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX7LCDLR0:		0x0000004A 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		74						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output:  DX8GTR:			0x00005002 							
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1							
    arm_A15_1: GEL Output:  DX8LCDLR0:		0x00000026 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		38						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0						
    arm_A15_1: GEL Output: ********************************************************										
    arm_A15_1: GEL Output: Equivalent 90 degree phase shift in delay units, derived from measured period:										
    										
    arm_A15_1: GEL Output:  DX0LCDLR1:		0x001C1C1F 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		31						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay):		28						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		28						
    arm_A15_1: GEL Output:  DX1LCDLR1:		0x001B1B1F 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		31						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		27						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		27						
    arm_A15_1: GEL Output:  DX2LCDLR1:		0x001D1D1F 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		31						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		29						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		29						
    arm_A15_1: GEL Output:  DX3LCDLR1:		0x00191920 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		32						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		25						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		25						
    arm_A15_1: GEL Output:  DX4LCDLR1:		0x001B1B1E 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		30						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		27						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		27						
    arm_A15_1: GEL Output:  DX5LCDLR1:		0x001B1B20 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		32						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		27						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		27						
    arm_A15_1: GEL Output:  DX6LCDLR1:		0x001C1C1D 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		29						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		28						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		28						
    arm_A15_1: GEL Output:  DX7LCDLR1:		0x00191821 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		33						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		24						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		25						
    arm_A15_1: GEL Output:  DX8LCDLR1:		0x00191920 								
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		32						
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		25						
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		25						
    arm_A15_1: GEL Output: ********************************************************										
    arm_A15_1: GEL Output: Delay Values from Read DQS Gating Leveling Registers:										
    										
    arm_A15_1: GEL Output:  DX0GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	3							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX0LCDLR2:		0x00000015 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		21						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output:  DX1GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	3							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX1LCDLR2:		0x0000000F 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		15						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output:  DX2GTR:			0x00005002 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX2LCDLR2:		0x0000004B 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		75						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output:  DX3GTR:			0x00005002 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX3LCDLR2:		0x00000047 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		71						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output:  DX4GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	3							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX4LCDLR2:		0x00000002 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		2						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output:  DX5GTR:			0x00005002 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX5LCDLR2:		0x0000005E 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		94						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output:  DX6GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	3							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX6LCDLR2:		0x00000045 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		69						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output:  DX7GTR:			0x00005003 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	3							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX7LCDLR2:		0x00000004 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		4						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output:  DX8GTR:			0x00005002 							
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2							
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0							
    arm_A15_1: GEL Output:  DX8LCDLR2:		0x0000005F 								
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		95						
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0						
    arm_A15_1: GEL Output: ****************************************************************************************************************										
    

    I found the most of these differences are minor (1 or 2), but “Delay Values from Read DQS Gating Leveling Registers” shows significant differences for failing data lanes.

    DX0LCDLR2
    [7:0] (Rank 0 RL Delay): 78 vs 21

    DX1LCDLR2
    [7:0] (Rank 0 RL Delay): 69 vs 15

    DX6LCDLR2
    [7:0] (Rank 0 RL Delay): 13 vs 69

    As you can see, there is no error flags for leveling operations.
    Are such differences introduced with layout problems?

    Customer is making memory test program and I will let you know when I get test results.

    Thanks and regards,
    Koichiro Tashiro

  • Tashiro-san,

    This is good information.  As you report, leveling results are significantly different for the failing byte lanes when data corruption occurs.  This is sufficient indication that the errors are the result of corrupted leveling process.  We will need the memory test eventually but we do not need it to correlate data corruption to leveling results.

    Yes, layout issues can cause the leveling process to fail.  Excessive signal distortion or jitter on the DDR clock, DQS or data bits can cause leveling to fail.  Similarly, this distortion would cause data to be corrupted even if the leveling was successful.

    Tom

  • Tashiro-san,

    Please also compare data captured by the debug log when the DDR3 Clock is reduced to 666MHz for operation at 1333MT/s.  Do all of these failures go away?

    Tom

  • Hi Tom,

    Customer checked the debug log with 1333MT/s configuration.
    Please see attached. For both cases, there was no data corruption observed.

    -1333_Levering_LOG_01.txt
    arm_A15_1: GEL Output: ****************************************************************************************************************
    arm_A15_1: GEL Output: ***************** DDR3A Leveling Values *********************
    arm_A15_1: GEL Output: DDR Clock Period as measured by Leveling Registers:
    
    arm_A15_1: GEL Output:  DX0GSR0:		0x0041A020 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	0 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX1GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX2GSR0:		0x003F9FA0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	15 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	63 
    arm_A15_1: GEL Output:  DX3GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX4GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX5GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX6GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX7GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX8GSR0(ECC):	0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    
    arm_A15_1: GEL Output: ********************************************************
    arm_A15_1: GEL Output: Delay Values from Write Leveling Registers:
    
    arm_A15_1: GEL Output:  DX0GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX0LCDLR0:		0x00000016 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		22 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX1GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX1LCDLR0:		0x00000018 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		24 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX2GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX2LCDLR0:		0x00000024 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		36 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX3GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX3LCDLR0:		0x0000002A 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		42 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX4GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX4LCDLR0:		0x00000036 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		54 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX5GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX5LCDLR0:		0x00000041 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		65 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX6GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX6LCDLR0:		0x00000046 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		70 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX7GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX7LCDLR0:		0x0000004A 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		74 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX8GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX8LCDLR0:		0x00000027 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		39 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output: ********************************************************
    arm_A15_1: GEL Output: Equivalent 90 degree phase shift in delay units, derived from measured period:
    
    arm_A15_1: GEL Output:  DX0LCDLR1:		0x00202025 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay):		32 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		32 
    arm_A15_1: GEL Output:  DX1LCDLR1:		0x00202025 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		32 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		32 
    arm_A15_1: GEL Output:  DX2LCDLR1:		0x00212123 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		35 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		33 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		33 
    arm_A15_1: GEL Output:  DX3LCDLR1:		0x001E1E26 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		38 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		30 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		30 
    arm_A15_1: GEL Output:  DX4LCDLR1:		0x001F1F24 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		36 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		31 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		31 
    arm_A15_1: GEL Output:  DX5LCDLR1:		0x00201F25 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		31 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		32 
    arm_A15_1: GEL Output:  DX6LCDLR1:		0x00202023 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		35 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		32 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		32 
    arm_A15_1: GEL Output:  DX7LCDLR1:		0x001D1D25 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		29 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		29 
    arm_A15_1: GEL Output:  DX8LCDLR1:		0x001E1E25 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		30 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		30 
    arm_A15_1: GEL Output: ********************************************************
    arm_A15_1: GEL Output: Delay Values from Read DQS Gating Leveling Registers:
    
    arm_A15_1: GEL Output:  DX0GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX0LCDLR2:		0x0000001E 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		30 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX1GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX1LCDLR2:		0x00000015 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		21 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX2GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX2LCDLR2:		0x00000022 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		34 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX3GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX3LCDLR2:		0x0000001F 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		31 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX4GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX4LCDLR2:		0x00000041 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		65 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX5GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX5LCDLR2:		0x00000033 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		51 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX6GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX6LCDLR2:		0x0000004B 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		75 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX7GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX7LCDLR2:		0x00000044 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		68 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX8GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX8LCDLR2:		0x00000034 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		52 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output: ****************************************************************************************************************
    

    -1333_Levering_LOG_02.txt
    arm_A15_1: GEL Output: ****************************************************************************************************************
    arm_A15_1: GEL Output: ***************** DDR3A Leveling Values *********************
    arm_A15_1: GEL Output: DDR Clock Period as measured by Leveling Registers:
    
    arm_A15_1: GEL Output:  DX0GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX1GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX2GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX3GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX4GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX5GSR0:		0x0041A1A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	3 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX6GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX7GSR0:		0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    arm_A15_1: GEL Output:  DX8GSR0(ECC):	0x0041A0A0 
    arm_A15_1: GEL Output:  		[14:7] (Write Leveling Period): 	1 
    arm_A15_1: GEL Output:  		[23:16] (Read DQS Gating Period): 	65 
    
    arm_A15_1: GEL Output: ********************************************************
    arm_A15_1: GEL Output: Delay Values from Write Leveling Registers:
    
    arm_A15_1: GEL Output:  DX0GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX0LCDLR0:		0x00000016 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		22 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX1GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX1LCDLR0:		0x00000018 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		24 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX2GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX2LCDLR0:		0x00000025 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX3GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX3LCDLR0:		0x0000002A 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		42 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX4GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX4LCDLR0:		0x00000036 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		54 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX5GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX5LCDLR0:		0x00000042 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		66 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX6GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX6LCDLR0:		0x00000048 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		72 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX7GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX7LCDLR0:		0x0000004B 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		75 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output:  DX8GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[13:12] (Rank 0 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  		[15:14] (Rank 1 WL Cycle Latency): 	1 
    arm_A15_1: GEL Output:  DX8LCDLR0:		0x00000028 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 WL Delay): 		40 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 WL Delay): 		0 
    arm_A15_1: GEL Output: ********************************************************
    arm_A15_1: GEL Output: Equivalent 90 degree phase shift in delay units, derived from measured period:
    
    arm_A15_1: GEL Output:  DX0LCDLR1:		0x00212126 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		38 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay):		33 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		33 
    arm_A15_1: GEL Output:  DX1LCDLR1:		0x00212125 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		33 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		33 
    arm_A15_1: GEL Output:  DX2LCDLR1:		0x00222225 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		34 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		34 
    arm_A15_1: GEL Output:  DX3LCDLR1:		0x001E1E26 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		38 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		30 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		30 
    arm_A15_1: GEL Output:  DX4LCDLR1:		0x001F1F25 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		31 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		31 
    arm_A15_1: GEL Output:  DX5LCDLR1:		0x001F1E26 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		38 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		30 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		31 
    arm_A15_1: GEL Output:  DX6LCDLR1:		0x00212125 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		37 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		33 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		33 
    arm_A15_1: GEL Output:  DX7LCDLR1:		0x001D1C26 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		38 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		28 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		29 
    arm_A15_1: GEL Output:  DX8LCDLR1:		0x001D1D26 
    arm_A15_1: GEL Output:  		[7:0] (Write Delay Shift): 		38 
    arm_A15_1: GEL Output:  		[15:8] (Read DQS Delay): 		29 
    arm_A15_1: GEL Output:  		[23:16] (Read DQSN Delay): 		29 
    arm_A15_1: GEL Output: ********************************************************
    arm_A15_1: GEL Output: Delay Values from Read DQS Gating Leveling Registers:
    
    arm_A15_1: GEL Output:  DX0GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX0LCDLR2:		0x00000023 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		35 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX1GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX1LCDLR2:		0x00000019 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		25 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX2GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX2LCDLR2:		0x00000026 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		38 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX3GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX3LCDLR2:		0x00000021 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		33 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX4GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX4LCDLR2:		0x00000041 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		65 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX5GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX5LCDLR2:		0x00000034 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		52 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX6GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX6LCDLR2:		0x0000004F 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		79 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX7GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX7LCDLR2:		0x00000046 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		70 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output:  DX8GTR:			0x00005002 
    arm_A15_1: GEL Output:  		[2:0] (Rank 0 DQS Gating Latency): 	2 
    arm_A15_1: GEL Output:  		[5:3] (Rank 1 DQS Gating Latency): 	0 
    arm_A15_1: GEL Output:  DX8LCDLR2:		0x00000037 
    arm_A15_1: GEL Output:  		[7:0] (Rank 0 RL Delay): 		55 
    arm_A15_1: GEL Output:  		[15:8] (Rank 1 RL Delay): 		0 
    arm_A15_1: GEL Output: ****************************************************************************************************************
    

    It seems most of differences are minor(1 or 2) as well, but we can see 4 or 5 in DXnLCDLR2 registers.
    These differences are much less compared to 1600MT/s, though.

    BTW, what does DXnLDLR2 “Rank 0 RL Delay” value exactly mean?

    Thanks and regards,
    Koichiro Tashiro

  • Tashiro-san,

    The 1333MT/s leveling results are much more stable.  The small variations on successive attempts on the same board will be due to instantaneous timing variations due to jitter or due to temperature variation.  Assuming stable operation, the numbers should only have small variation.  Variation board to board will be larger as there is also process variation chip to chip.

    Operation at 1333MT/s has significantly more margin.  It would be expected to be more robust in the presence of signal distortion or clock jitter.  I believe that the customer will only achieve robust operation at 1600MT/s with improvements in the layout.

    DXnLDLR2 is not a valid register name.  I assume you are asking about the DXnLCDLR2 registers where n=0..8.  These are defined as "DATX8 Local Calibrated Delay Line Register 2 (DXnLCDLR2)" and discussed on page 126 of Keystone II Architecture DDR3 Memory Controller User's Guide (SPRUHN7C).  This is part of the delay line timing used in the leveling associated with Read DQS Gate delay timing.  The Read DQS Gate timing is used when latching the Read data into the PHY.

    Tom

  • Tashiro-san,

    Is there anything else needed in this thread?

    Tom

  • Hi Tom,

    Customer wants to confirm the noises from DC/DC are the root cause of the leveling issue.
    He removes the 1.5V DC/DC from the board and supplied 1.5V from stabilized power supply.
    But the results are the same and the issue is still observed.

    Customer wants to make sure layout change will solve the issue completely.
    Do you have any idea?

    Thanks and regards,
    Koichiro Tashiro

  • Tashiro-san,

    Operation of this DDR3 interface at 1600MT/s requires an optimized layout.  This layout must be free from crosstalk both within and from outside the keepout area.  We have helped many customers with similar problems by helping them optimize their layout.  The trace spacing rules manage the crosstalk within the layout.  The keepout rules and proper reference plane implementation eliminate external crosstalk.  Proper decoupling with low-inductance connections is needed to prevent signal distortion due to SSO effects.  These are all concepts that the designer must understand and implement.  We cannot guarantee that the fixes that I have recommended will result in a robust implementation.  However, I can assert that with proper care, a robust implementation is possible.  This was achieved on the EVM and has been achieved by many customers.

    Tom

  • Tashiro-san,

    Is there any further information needed on this thread?

    Tom

  • Tashiro-san,

    Since there have been no responses, I will close this thread.  If you want to re-open it, simply post to this thread.  If it becomes lockec, you can open a new thread and link them together.

    Tom