<?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>i.MX ProcessorsのトピックRe: Write leveling calibration returns wrong values on a DDR3 layout with T-topology</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Write-leveling-calibration-returns-wrong-values-on-a-DDR3-layout/m-p/353620#M49340</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp; Strictly speaking,&amp;nbsp; Write Leveling should be used with fly-by topology, and in this sense it&lt;BR /&gt;is quite reasonable to skip Write Leveling when T-topology is applied. In the same time,&lt;BR /&gt;even for T-topology, it should be possible to get much closer alignment of SDLCK edge &lt;BR /&gt;with DQS edge if the Write Leveling Calibration procedure is used to find proper calibration &lt;/P&gt;&lt;P&gt;values. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Sep 2014 03:35:08 GMT</pubDate>
    <dc:creator>Yuri</dc:creator>
    <dc:date>2014-09-15T03:35:08Z</dc:date>
    <item>
      <title>Write leveling calibration returns wrong values on a DDR3 layout with T-topology</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Write-leveling-calibration-returns-wrong-values-on-a-DDR3-layout/m-p/353619#M49339</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We have a product that uses an i.MX 6Q with Nanya DDR3 RAM in a 64bit configuration (total 1GByte RAM, 4 x16 chips with 2Gb capacity). The DDR3 RAM is routed with a T-topology and the trace length are the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;CLK0/CLK1: 51.00mm&lt;/LI&gt;&lt;LI&gt;Address/Command lines: All between 50.41mm and 50.64mm (measured from controller pad to any of the RAM chips)&lt;/LI&gt;&lt;LI&gt;DQS0: 21.96mm&lt;/LI&gt;&lt;LI&gt;DQS1: 22.72mm&lt;/LI&gt;&lt;LI&gt;DQS2: 27.92mm&lt;/LI&gt;&lt;LI&gt;DQS3: 22.5mm&lt;/LI&gt;&lt;LI&gt;DQS4: 28.48mm&lt;/LI&gt;&lt;LI&gt;DQS5: 22.26mm&lt;/LI&gt;&lt;LI&gt;DQS6: 23.2mm&lt;/LI&gt;&lt;LI&gt;DQS7: 21.48mm&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first bit of each byte group are connected without swapping, the rest of the bits are swapped according to the layout needs. The bit (DQ) signals and the DQM signal of each byte group are matched to its according DQS signal. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have created a configuration file with the "Mx6DQSDL DDR3 Script Aid V0.09.xlsx" and I am running the "DDR_Stress_Tester_V1.0.3". The write leveling calibration returns me the following results:&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MMDC_MPWLDECTRL0 ch0 after write level cal: 0x017C000A&lt;/P&gt;&lt;P&gt;MMDC_MPWLDECTRL1 ch0 after write level cal: 0x00120006&lt;/P&gt;&lt;P&gt;MMDC_MPWLDECTRL0 ch1 after write level cal: 0x017F0014&lt;/P&gt;&lt;P&gt;MMDC_MPWLDECTRL1 ch1 after write level cal: 0x017F0008&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The delay values for 3 of the 8 bytes are extremely high, they are almost one clock cycle. When I run the DQS gating, read/write delay calibration afterwards, it fails ("ERROR FOUND, we can't get suitable value !!!!") and also the stress test is failing at any selected speed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to my calculations by taking in account the signal lengths, the correct write level calibration should be the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MMDC_MPWLDECTRL0 ch0:&amp;nbsp; 0x001A001A&lt;/P&gt;&lt;P&gt;MMDC_MPWLDECTRL1 ch0:&amp;nbsp; 0x001A0015&lt;/P&gt;&lt;P&gt;MMDC_MPWLDECTRL0 ch1:&amp;nbsp; 0x001A0014&lt;/P&gt;&lt;P&gt;MMDC_MPWLDECTRL1 ch1:&amp;nbsp; 0x001B0019&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I enter these values into the configuration file and skip the write level calibration, the DQS gating delay calibration is working fine and the stress test even works with the maximum frequency of 672MHz without giving any error. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do not think there is anything wrong with the layout, since it even runs with the highest frequency without any problems. The question is why the write leveling calibration is outputting these wrong numbers. As far as I understand, the write leveling calibration is mainly needed when using a fly-by topology. Is it recommended in my case just to skip the calibration and use either the calculated values or the standard values of 0x001F001F (which also work without any problems)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you all in advance for any help. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Sep 2014 08:43:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Write-leveling-calibration-returns-wrong-values-on-a-DDR3-layout/m-p/353619#M49339</guid>
      <dc:creator>peterlischer</dc:creator>
      <dc:date>2014-09-10T08:43:21Z</dc:date>
    </item>
    <item>
      <title>Re: Write leveling calibration returns wrong values on a DDR3 layout with T-topology</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Write-leveling-calibration-returns-wrong-values-on-a-DDR3-layout/m-p/353620#M49340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp; Strictly speaking,&amp;nbsp; Write Leveling should be used with fly-by topology, and in this sense it&lt;BR /&gt;is quite reasonable to skip Write Leveling when T-topology is applied. In the same time,&lt;BR /&gt;even for T-topology, it should be possible to get much closer alignment of SDLCK edge &lt;BR /&gt;with DQS edge if the Write Leveling Calibration procedure is used to find proper calibration &lt;/P&gt;&lt;P&gt;values. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 03:35:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Write-leveling-calibration-returns-wrong-values-on-a-DDR3-layout/m-p/353620#M49340</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2014-09-15T03:35:08Z</dc:date>
    </item>
    <item>
      <title>Re: Write leveling calibration returns wrong values on a DDR3 layout with T-topology</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Write-leveling-calibration-returns-wrong-values-on-a-DDR3-layout/m-p/353621#M49341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have the same problem. HW write-leveling gives bad value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refere to the doc:&amp;nbsp; i.MX 6 Series DDR Calibration(AN4467)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Although not required, T-Topologies may also benefit from performing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write Leveling as there are package delays on both the processor and DDR&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; devices that can be de-skewed by performing Write Leveling. Therefore,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Freescale recommends determining Write Leveling calibration parameters&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for all boards, regardless of topology used."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would think that the HW write-leveling is not correctly implemented by SoC.&lt;/P&gt;&lt;P&gt;Any one agree with me?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jul 2016 02:49:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Write-leveling-calibration-returns-wrong-values-on-a-DDR3-layout/m-p/353621#M49341</guid>
      <dc:creator>yizheng</dc:creator>
      <dc:date>2016-07-11T02:49:05Z</dc:date>
    </item>
  </channel>
</rss>

