<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: iMX6UL DDR Init and Stres Test in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX6UL-DDR-Init-and-Stres-Test/m-p/740466#M115235</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;1.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;Please look at the following :&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://community.nxp.com/docs/DOC-101708"&gt;Freescale i.MX6 DRAM Port Application Guide-DDR3&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;In particular, use section 3.3.1&amp;nbsp; (Identifying Issue on Calibrations). Really calibration process provides &lt;BR /&gt;timing margins, that may change even for the same board for several test passes.&amp;nbsp; Customers should &lt;BR /&gt;find optimal solution for all possible environments.&lt;BR /&gt;&amp;nbsp; Some issues may be observed during testing, when memory design does not meet requirements, &lt;BR /&gt;therefore&amp;nbsp; it may be recommended to follow&amp;nbsp; general rules, provided for customers to simplify their PCB &lt;BR /&gt;considerations. General&amp;nbsp; recommendations are provided in the Development Guide, linked below.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; Hardware Development Guide for i.MX6 contains Chapter 3 (i.MX 6 Series Layout Recommendations) &lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt; &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fcache.nxp.com%2Fassets%2Fdocuments%2Fdata%2Fen%2Fuser-guides%2FIMX6DQ6SDLHDG.pdf" rel="nofollow" target="_blank"&gt;http://cache.nxp.com/assets/documents/data/en/user-guides/IMX6DQ6SDLHDG.pdf&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp; &amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; Also, You may look at&amp;nbsp; section 1.1 (Schematic and Layout Design Rules) of the DDR3 Porting Guide.&amp;nbsp; In &lt;BR /&gt;particular, there is an Excel page named “MX6 DRAM Bus Length Check” in “HW Design Checking List &amp;nbsp;&lt;BR /&gt;for i.Mx6”. Designer can use it for layout self-checking. Input trace length of the design into cells in pink &amp;nbsp;&lt;BR /&gt;circle then, the bottom cell in same column may change to red color if layout breaks the rule.&lt;BR /&gt;&lt;BR /&gt;Recent design checklist may be found at&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://community.nxp.com/docs/DOC-93819"&gt;https://community.nxp.com/docs/DOC-93819&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; All memory timing parameters should be calculated, based on 400Mhz memory clock.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;3.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; According to section 3.6.2 [DDR3 (64 bits) T topology considerations] of the Hardware Development &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Guide:&lt;BR /&gt;"Be sure to take into account the following when designing a T-topology system.&lt;BR /&gt;• Follow the routing rules described in Table 3-3.&lt;BR /&gt;• Termination resistors not required.&lt;BR /&gt;• Short routing lengths and on-chip drive strength control.&lt;BR /&gt;• Your design is limited to 4 DDR chips.&lt;BR /&gt;• DDR3, 2 GBytes using latest memories (4 GBytes available now)."&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Have a great day,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: If this post answers your question, please click the Correct Answer &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;button. Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Mar 2018 09:58:57 GMT</pubDate>
    <dc:creator>Yuri</dc:creator>
    <dc:date>2018-03-28T09:58:57Z</dc:date>
    <item>
      <title>iMX6UL DDR Init and Stres Test</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX6UL-DDR-Init-and-Stres-Test/m-p/740465#M115234</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using a Micron DDR3, PN MT41K64M16TW-107 on a custom design. Attached is the modified MMDC configuration script. The DDR parameters were modified from the MCIMX6UL-EVK spreadsheet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After initializing the DDR w/o running the calibration (or stress test) I cannot R/W to any memory address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I initialize, followed by a calibration test the device fails at DQS calibration (see output below). However, despite failing, I am able to R/W to any memory address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My questions are:&lt;/P&gt;&lt;P&gt;1. What is the calibration doing that despite failing, I can R/W to memory?&lt;/P&gt;&lt;P&gt;2. The eval board uses a Micron chip with an 1866 MT/s speed rating. The timing parameters inputted in the spreadsheet are set to the 800MT/s (400Mhz clock) rating. However, the speed bins (RAS,CAS, etc) are set to the 1866 MT/s parameters. Is this correct?&lt;/P&gt;&lt;P&gt;3. The eval board does not implement *any* address/command termination resistors. Is this because you are using the on-die termination? My custom design has discrete address/command termination resistors on the board. Is there a register setting I should be shutting off? Could this be why I am failing the calibration test?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also for the record, the design fails the stress test immediately (see below).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//-------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;DDR Freq: 365 MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;t0.1: data is addr test&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;Address of failure(step2): 0x80000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;Data was: 0xffffffff&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;But pattern&amp;nbsp; should match address&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;Error: failed to run stress test!!!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//---------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x001F001F&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;Write DQS delay result:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&amp;nbsp; Write DQS0 delay: 31/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&amp;nbsp; Write DQS1 delay: 31/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;Starting DQS gating calibration&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[00]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[01]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[02]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[03]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[04]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000005&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[05]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[06]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000007&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[07]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[08]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x00000009&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[09]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x0000000A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[0A]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x0000000B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[0B]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x0000000C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[0C]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;. HC_DEL=0x0000000D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[0D]=0x00000011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;ERROR FOUND, we can't get suitable value !!!!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;dram test fails for all values.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;Error: failed during ddr calibration&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2018 18:19:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX6UL-DDR-Init-and-Stres-Test/m-p/740465#M115234</guid>
      <dc:creator>elizabethamyoun</dc:creator>
      <dc:date>2018-03-27T18:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: iMX6UL DDR Init and Stres Test</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX6UL-DDR-Init-and-Stres-Test/m-p/740466#M115235</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;1.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;Please look at the following :&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://community.nxp.com/docs/DOC-101708"&gt;Freescale i.MX6 DRAM Port Application Guide-DDR3&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;In particular, use section 3.3.1&amp;nbsp; (Identifying Issue on Calibrations). Really calibration process provides &lt;BR /&gt;timing margins, that may change even for the same board for several test passes.&amp;nbsp; Customers should &lt;BR /&gt;find optimal solution for all possible environments.&lt;BR /&gt;&amp;nbsp; Some issues may be observed during testing, when memory design does not meet requirements, &lt;BR /&gt;therefore&amp;nbsp; it may be recommended to follow&amp;nbsp; general rules, provided for customers to simplify their PCB &lt;BR /&gt;considerations. General&amp;nbsp; recommendations are provided in the Development Guide, linked below.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; Hardware Development Guide for i.MX6 contains Chapter 3 (i.MX 6 Series Layout Recommendations) &lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt; &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fcache.nxp.com%2Fassets%2Fdocuments%2Fdata%2Fen%2Fuser-guides%2FIMX6DQ6SDLHDG.pdf" rel="nofollow" target="_blank"&gt;http://cache.nxp.com/assets/documents/data/en/user-guides/IMX6DQ6SDLHDG.pdf&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp; &amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; Also, You may look at&amp;nbsp; section 1.1 (Schematic and Layout Design Rules) of the DDR3 Porting Guide.&amp;nbsp; In &lt;BR /&gt;particular, there is an Excel page named “MX6 DRAM Bus Length Check” in “HW Design Checking List &amp;nbsp;&lt;BR /&gt;for i.Mx6”. Designer can use it for layout self-checking. Input trace length of the design into cells in pink &amp;nbsp;&lt;BR /&gt;circle then, the bottom cell in same column may change to red color if layout breaks the rule.&lt;BR /&gt;&lt;BR /&gt;Recent design checklist may be found at&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://community.nxp.com/docs/DOC-93819"&gt;https://community.nxp.com/docs/DOC-93819&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; All memory timing parameters should be calculated, based on 400Mhz memory clock.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;3.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; According to section 3.6.2 [DDR3 (64 bits) T topology considerations] of the Hardware Development &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Guide:&lt;BR /&gt;"Be sure to take into account the following when designing a T-topology system.&lt;BR /&gt;• Follow the routing rules described in Table 3-3.&lt;BR /&gt;• Termination resistors not required.&lt;BR /&gt;• Short routing lengths and on-chip drive strength control.&lt;BR /&gt;• Your design is limited to 4 DDR chips.&lt;BR /&gt;• DDR3, 2 GBytes using latest memories (4 GBytes available now)."&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Have a great day,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: If this post answers your question, please click the Correct Answer &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;button. Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2018 09:58:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX6UL-DDR-Init-and-Stres-Test/m-p/740466#M115235</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-03-28T09:58:57Z</dc:date>
    </item>
  </channel>
</rss>

