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.

TCI6638K2K custom board, DDR3 and PSC initialization problem

Other Parts Discussed in Thread: TCI6638K2K

e have designed a TCI6638K2K custom board, based on EVM6638 rev 2.0 We have replaced the microcontroller with a CPLD for power sequencing. The power rails seem fine using/monitoring with the fusion GUI. We have replace the DDR3A and DDR3B with micron MT41J256M16HA-125-E Layout rules were followed as in the hardware design guide I am using the Gel file for EVM modified for new memeory parts I am using the EVM gel file with the changes I have made for DDR3B I am not testing the DDR3A at the moment.

I used DDR3 Reg Calc v4.xls which seems to show different register feilds in Keystone II DDR3 Memory Controller SPRUHN7A. ( Here are some settings I am using:

DDR3A_REMAP_EN=0 (DEVSTAT = 0x00000001)(bootmode = 0x00000000)

DDR3B_DTPR0 = 0x9D5CBB66;  

DDR3B_DTPR1 = 0x228503D0;  

DDR3B_DTPR2 = 0x100198AA;

DDR3B_ZQ0CR1 = 0x0000005D;

DDR3B_ZQ1CR1 = 0x0000005B;

DDR3B_ZQ2CR1 = 0x0000005B;

 

DDR3B_SDCFG    = 0x6480CE62;   //bit 24 is marked Reserved in manual!! =0)  

//DDR3B_SDCFG    = 0x6580CE62;  //bit 24 marked above as DDQS=1)  

DDR3B_SDTIM1   = 0x166C5855;   DDR3B_SDTIM2   = 0x0000154A;   DDR3B_SDTIM3   = 0x421DFF53;   DDR3B_SDTIM4   = 0x543F07FF;

The clocks and PLLs seem OK and I can connect to C66x cores and examine their memory. I connect via JTAG to C66x-0,

-I see that during initialization of DDR3

DDR3B_PGSR0=0x8010000F (ZCERR=1) and later

DDR3B_PGSR0=0x81F001FF. (WLERR=1, QSGERR=1, WLAERR, RDERR=1, WDERR=0, REERR=0, WEERR=0)

-When I access DDR3 memory using Memory Browser, I have a crash:

Trouble Reading Memory Block at 0x60000000 on Page 0 of Length 0x9b0: (Error -1202 @ 0x60000000) Device core is hung. The debugger will attempt to force the device to a ready state to recover debug control. Your application's state will be corrupt. You should have limited access to memory and registers, but you may need to reset the device to debug further. (Emulation package 5.1.73.0)

other Observations:

The section of the Gel that turns on all modules(Set_Psc_All_On(); reports many timeout errors:

C66xx_0: GEL Output: Power on all PSC modules and DSP domains...

C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=2, md=9!

C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=17, md=25!

C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=17, md=26!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=18, md=27!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=19, md=28!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=19, md=29!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=20, md=30!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=20, md=31!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=20, md=32!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=20, md=33!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=21, md=34!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=22, md=35!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=22, md=36!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=23, md=37!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=23, md=38!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=24, md=39!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=24, md=40!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=24, md=41!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=24, md=42!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=25, md=43!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=25, md=44!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=25, md=45!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=25, md=46!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=26, md=47!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=27, md=48!
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=29, md=50!
C66xx_0: GEL Output: Power on all PSC modules and DSP domains... Done.

Thanks

  • Hi,

    TCI66xx devices such as TCI6638K2K are supported directly through Local Field Applications Engineers (FAEs.)  These devices are not supported on the E2E forum.  Please contact your local FAE for support of these devices.  If you are not sure who your local FAE is, then please contact your local technical sales representative and they will be able to put you in contact with your local FAE.

    Thanks.

  • The actual device on the board is X66AK2H12AAAW2.

    Thanks.

     

  • Hi Raj,

    Although a TCI EVM is involved (since that is all that was available for purchase at the time), this is for a broad-market application, and the customer will be using 66AK2H parts.  This post is entirely appropriate for the forum. Please check with Dave B. if you have further concerns.

    Thanks,

    RJ Hall

    Catalog Processors Business Development

    rhall@ti.com

  • Hi,

    66AK2H is supported in forum. I will work with experts to answer this.

    Thank you. 

  • Hi Shervin,

    The reg calc spreadsheet for the K2H component hasn't been released yet. Can you tell me where you received the version you are using?

    Regards, Bill

  • Hi Bill,
    I got the hold of "Calc v4.xls" from TI web site, but I could not use it, since the
    register feilds and definitions do not match the keystone II. So I used the data sheet
    and derived the feilds. I am not sure why TI has not released one for Keystone II.


    I also looked at DDR3 PHY Calc v10.xls from TI forum, but I am not sure
    if it is used pre layout or post lay out.

    from my datasheet for micron MT41J256M16HA-125-E I started with:
    tRAS=35 ns
    tRC=49.5 ns
    tFAW=48.75
    tWTR=7.5 ns
    tXP=6 ns
    tXS=170 ns
    tXSDLL=512 CK
    tRTP=7.5 ns
    tCKE=5 ns
    tCKESR=6.25 ns
    tZQCS=64 CK
    tRFC=160 ns

    the trace lengths all are less than one clk cycle.
    Both DDR3A and DDR3B use the same part No.

    We have customized the power sequencing in our design. And the
    GEL messages seem troubling when some power domains are not ON
    and they time out to turn ON.


    Thanks,
    Shervin

  • Hi Shervin,

    You may be using a PHY and REG calc spreadsheet for KeyStone I components. This spreadsheet is not compatible with the K2H component. You will need to use the DDR3 Memory Controller for KeyStone II Devices User's Guide (Rev. A) to determine the correct register values for your design. Once a PHY calc and Reg calc spreadsheet for the K2H has been released, it will appear on the K2H page on TI.com.

    I'm not sure what is causing the PSC errors. If you are following the power sequencing as defined in the data manual than the device should be able to release modules from a power down state. 

    Regards, Bill

     

  • Bill,

    "You will need to use the DDR3 Memory Controller for KeyStone II Devices User's Guide (Rev. A) to determine the correct register values for your design"

    That is what I have used to drive the above settings.

     

    Shervin

  • Based on the PSC issues, the DDR3 discussion may not be relevant.  The board appears to have more fundamental problems related to clocking and power supplies. 

    I recommend that you re-verify the power-clock-reset timing per the datasheet.  I then recommend that you also validate the voltages on all of the branched supplies, like the AVDDAx supplies.  You should have a diagram like Figure 1 in the Hardware Design Guide for KeyStone II Devices Application, Report SPRABV0.  I would also suggest that you re-check connectivity on all Reserved pins.  Finally, if you still have problems, I would recommend re-checking the ball mapping and assembly. 

    Do you have multiple boards with identical symptoms?

    HW Apps Support c/o RJ Hall