This thread has been locked.

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

Linux/DRA752: How to analyze the ddr stress test result log

Part Number: DRA752

Tool/software: Linux

Hi ,

We have J6 custom board with 4 ddr chips as 32 bit bus width .

DDR3 EMIF1   =  2 x 4GBit DDR  

DDR3 EMIF2  =  2 x 4GBit DDR

 Right now our product line filter out some bad boards and we use CCS 6.0 to analyze. 

We run the 32KB and 128KB ddr size  in CCS with ddr stress test program.

32KB is PASS .  ( log is 16311 small_size_pass.c  ) 

But 128KB size failed.  ( log is  16311 small_size_pass suspect add error.c ) 

-->  Because 32KB is pass , we assume data pins are ok  and should be address pin issue.  How to map error address pin to the circuit and identify NG DDR  in EMIF1 ?

//	Pattern - F's / 0's      : FAIL - Failures found in at least 19921 32-bit address locations.
//		Address:0x80022000	Expected:0xffffffff	Received:0xe795ffff
//		Address:0x80022004	Expected:0x       0	Received:0xf75f0000

Use these two error address test  result , which DDR chip is damaged ? ( high byte DDR or low byte DDR  in EMIF1 )

Best,

Andy

6837.16311 small_size_pass.c
/*
 * FILE: DRA75x_DDR3L_666MHz_TI_EVM_revG3
 * DATE: 2017_03_29
 */


// Testing 32 KB of DDR memory @ 0x80000000
// Test Iteration 0: 
//	Pattern - F's / 0's      : PASS
//	Pattern - A's / 5's      : PASS
//	Pattern - Addr as Data   : PASS
//	Pattern - Walking 1's    : PASS

3566.16311 small_size_pass suspect add error.c

  • Hi Andy,

    First of all you should double check the DRA75x/74x DM, section "8.7.3 DDR3 Board Design and Layout Guidelines" and make sure you are fully aligned.

    Andy Huang18 said:
    Because 32KB is pass , we assume data pins are ok  and should be address pin issue.  How to map error address pin to the circuit and identify NG DDR  in EMIF1 ?

    From this test I can not point you what exactly is not working properly on your board. It might be the address bus, but it might be also the rest of the signals of the ADDR_CTRL class (ba[2:0], cas, ras, wen, etc)

    Andy Huang18 said:
    Use these two error address test  result , which DDR chip is damaged ? ( high byte DDR or low byte DDR  in EMIF1 )

    Based on the log, looks like high 16-bit DDR chip is damaged till Address:0x8002e008, then looks like both are damaged.

    Also I see you are using 666MHz (DDR3-1332 data rate). Can you test with 400MHz (DDR3-800 data rate)? The GEL files in CCS6.2.0 support 400MHz and 532MHz:

    ccsv6/ccs_base/emulation/gel/DRA75x_DRA74x/DRA7xx_startup_common.gel
    ccsv6/ccs_base/emulation/gel/DRA75x_DRA74x/DRA7xx_ddr_config.gel

    See also the below wiki:

    http://processors.wiki.ti.com/index.php/Common_DDR_Issues

    Regards,
    Pavel