AR# 62368

面向 MIG 7 系列 DDR3 的设计咨询——Vivado 2014.4 版配套提供的 MIG 7 系列 v2.3 版校准更新提供了更多的写入裕度。

描述

 Vivado 2014.4 版配套提供的 MIG 7 系列 v2.3 版的 DDR3 校准算法包含对可用写入裕度有利的修改。 

更新包含在所有的 MIG 7 系列 v2.3 版 DDR3 设计中。

本答复记录包括关于更新的信息以及是否在新 DDR3 系统和现有 DDR3 系统中建议更新。

解决方案

写入侧校准更改的详细说明

通过调整 Phaser_OUT 抽头,把写入 DQS 放置在之前由查找窗口边缘构成的写入 DQ 眼图中心。 

已发现该算法会造成进程变动,当 Phaser_OUT 抽头放置在非理想位置(非中心)时,写入 DQS 会向左或右偏移真正的中心位置。 

新算法使用 MMCM 执行准确的相位调整,用于判断窗口和把写入 DQS 置于写入DQ 眼图真正的中心。 
无需添加额外的 MMCM。  该 MMCM 已包含在 MIG 生成的设计中以创建架构时钟“PHY_Clk”,同时该MMCM也用于执行该写入侧校准。 
但加入新的 MMCM 输出以执行相位调整时需要额外的 BUFG。

上述对写入校准逻辑的更新让硬件校准的完成时间从大约 秒钟延长到大约 秒钟。 

典型硬件校准时间如下:

版本

400 MHz 下的校准时间(4:1)

800 MHz 下的校准时间(4:1)

 

32-bit

72-bit

32-bit

72-bit

2014.1

少于 1 秒

少于 1 秒

少于 1 秒

少于 1 秒

2014.2*

少于 1 秒

~1 秒

少于 1 秒

~1 秒

2014.4

少于 4 秒

~7 秒

少于 2 秒

少于 4 秒


*2014.2 版包含读取校准算法的更新。

如欲了解更多详情,敬请参见 (Xilinx 答复 59167)

校准时间在较高频率下更短,因为完成相位校准所需的读取和写入  数量能够比在较低频率下更快地完成。

在使用 FAST 模式时,仿真中的校准时间基本不受影响。

MIG 版本更新建议:

已针对所有频率的 DDR3 接口进行 RTL 修改。 

对于新设计和尚未投产的设计而言,请更新到 MIG 7 系列 v2.3 版。

对已经投产且经系统测试没有写入裕度故障的系统而言,建议但不要求更新。 

如果生产周期中可以更新,建议更新到 MIG 7 系列 2.3 版。

判断是否写入裕度会导致数据错误

如果在 MIG v2.3 版之前的设计中发现数据错误,应注意确保错误是由校准过程中选择的中心抽头导致的小幅写入裕度造成的。

  1. 严格遵守所有的 MIG PCB 指南,仔细关注 IBIS 仿真必须首先完成。
     
  2. 应对数据错误进行分析,以判断是否有写入错误发生。
    查看 UG586 的“DDR3调试数据错误”部分,以协助隔离数据错误。
     
  3. 分析 MIG 2.3 之前版本的 OCLKDELAY 校准结果:
     
    1. 把来自“rtl/phy/mig_7series_v2_1_ddr_phy_oclkdelay_cal.v”的 dbg_phy_oclkdelay_cal[254:0]、“oclkdelay_calib_done”和“oclkdelay_calib_start” 添加到 ILA 中。  
    2. 在把触发器设置为 oclkdelay_calib_done 的情况下,采集通过的复位(无写入数据错误)和失败的复位(有写入数据错误)的 ILA 波形。
    3. 确定找到的边缘数量,找到边缘的位置,最后(中心)抽头的位置以及最后(中心)抽头在成功写入和失败写入之间移动的抽头数量。 
       
      值得关注的信号有:
      1. dbg_phy_oclkdelay_cal[6*dqs_i+:6] = ocal_tap_cnt_r[dqs_i][5:0]
      2. dbg_phy_oclkdelay_cal[58]             = ocal_rise_edge1_found_timing
      3. dbg_phy_oclkdelay_cal[59]             = ocal_rise_edge2_found_timing
      4. dbg_phy_oclkdelay_cal[65:60]         = ocal_rise_edge1_taps
      5. dbg_phy_oclkdelay_cal[71:66]         = ocal_rise_edge2_taps
      6. dbg_phy_oclkdelay_cal[84:79]         = stg3_tap_cnt
      7. dbg_phy_oclkdelay_cal[219+:6]       = stg2_tap_cnt
      8. dbg_phy_oclkdelay_cal[225]            = ocal_fall_edge1_found
      9. dbg_phy_oclkdelay_cal[226]            = ocal_fall_edge2_found
      10. dbg_phy_oclkdelay_cal[232:227]      = ocal_fall_edge1_taps
      11. dbg_phy_oclkdelay_cal[238:233]      = ocal_fall_edge2_taps
      12. dbg_phy_oclkdelay_cal[244:239]      = ocal_rise_right_edge


      *在 OCLKDELAY 校准过程中只检测到一个边缘且选择的中心抽头基于一个已知抽头位置的时候,一般就会出错。



更多信息:
(Xilinx 答复 59167) 面向 MIG 7 系列 DDR3 的设计咨询—DIMM 接口的数据速率规范修改和组件接口的数据速率咨询。
(Xilinx 答复 60687) MIG 7 系列 DDR3 - Vivado 2014.2 版配套提供的 MIG 7 系列 v2.1 版校准更新为高于 1333Mbps 的数据速率提供了更多的写入裕度。
(Xilinx 答复 62615)MIG 7 系列 DDR3 (限IPI 流) - IPI 升级时发出告警 – MIG 时钟结构已更新

修订历史记录:
11/19/2014 - 初始版本

链接问答记录

相关答复记录

AR# 62368
日期 01/09/2015
状态 Active
Type 设计咨询
器件
IP