DDR Memory Errors - K70

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DDR Memory Errors - K70

749 Views
ericeckenrode
Contributor I

Hello,

Issue:

16 of 1000 boards using the K70 have failed memory tests to date.

Here is the background:

1)  Used the TWR-K70F120M tower board as a reference design

     a)  Followed the schematic

     b)  Used the artwork/routing from the design files of the tower board to prevent introducing errors.

2) MQX 3.8

3) Using Micron MT47H64M16NF-25E:M  - The Tower board uses the MT47H64M16HR-25:H

    Originally used the DDR INIT settings from the MQX 3.8 K70 tower board BSP.  (FYI... Found that CR53 was repeated in CR54 and CR55.  Manually changed CR54 and CR55)

for reference:

   ddr->CR50 = 0x00000064;
   ddr->CR52 = 0x02000602;
   ddr->CR53 = 0x03c80000;
   ddr->CR54 = 0x03c803c8;   ///AVM///     ddr->CR53 = 0x03c803c8;
   ddr->CR55 = 0x03c803c8;   ///AVM///     ddr->CR53 = 0x03c803c8;
   ddr->CR56 = 0x020303c8;
   ddr->CR57 = 0x01010002;

4)  Created a memory test procedure (tested all 1000 boards)

     Fill DDR memory with random data.  While filling, look at the first byte of the memory to see if it changes (points to addressing error).  Once filled, the test reads back the entire range of memory to verify contents.  On the 16 failed units there are thousands of errors and it appears and it appears to be the high byte in multiple of 4 bytes.

5)  Replaced 4 of the non working boards with new K70 micros and the error disappeared.  Memory test passes every time.

6)  Then tried to use the K70 DDR INIT tool and came up with different values than the tower board init settings.  In fact, a few of the registers were left empty.  Found out that there is a bug in the K70 DDR INIT tool

https://community.freescale.com/thread/341173

Tried using the DDR Init values from the above and still get memory errors

Any ideas on what is going on or how to proceed?


Thanks,

Eric

Labels (1)
0 Kudos
3 Replies

547 Views
bjoernjohanness
Contributor III

Hi Eric, I'm in a very similar situation as you and would like to get in contact with you to discuss this. I'm the one who initially found this issue well over a year ago. I've twice now started using a work-around only to find a few months later that it wasn't a not a solid solution. I'm specifically interested in the memory test you wrote but I'm sure there will be other benefits as well. Please find my e-mail address in my profile and send me an email as soon as possible :smileyhappy:

BTW, I have two contacts at AVNET but haven't talked to them in a year or so (I rather not mention their names here without their approval).

Thanks a ton, looking forward to your email!!

0 Kudos

547 Views
melissa_hunter
NXP Employee
NXP Employee

Hi Eric,

Could we get some more information about the failures to try and narrow things down? Maybe you've answered some of these questions already, and I wasn't looped in on all the discussion, so my apologies if there are repeats in here..

1. On the boards that are failing, when you get errors what values do you read back from memory compared to what you are expecting? Is there a pattern to the bad memory values?

2. After you have a board in a failing state, if you reset the RCR (set SIM_MCR[RCRRSTEN], then clear it), does that fix the issue at least temporarily?

3. What frequency are you using for the DDR_CLK? Have you tried decreasing the frequency?

Regards,

Melissa

(set SIM_MCR[RCRRSTEN], then clear it) fix the issue (at least temporarily)?

0 Kudos

547 Views
GordyCarlson
NXP Employee
NXP Employee

melissah​ ,  Here is the thread/issue we discussed.....  thanks!  -Gordy

0 Kudos