MIG Virtex-6 DDR2 / DDR3  – 调试读取均衡第2阶段-Altera-Intel社区-FPGA CPLD-ChipDebug

MIG Virtex-6 DDR2 / DDR3 – 调试读取均衡第2阶段

问题描述

本答复记录详细说明了应分析的项目,以验证MIG Virtex-6 DDR2 / DDR3校准过程的读取调平阶段2是否按预期完成。

有关读取调平阶段2校准过程的一般信息,请参阅(Xilinx答复35129)

注意:本答复记录包含在一系列MIG硬件调试应答记录中,并假设您正在运行MIG示例设计并启用了调试端口。

最好从此推荐的调试流程开始。

请参阅(Xilinx答复34588)从硬件调试流程开始。

注意:本答复记录是Xilinx MIG解决/修复方法中心(Xilinx答复34243)的一部分

Xilinx MIG解决/修复方法中心可用于解决与MIG相关的所有问题。

无论您是使用MIG启动新设计还是对问题进行故障排除,都可以使用MIG解决/修复方法中心来指导您获取正确的信息。

解决/修复方法

感兴趣的信号:

  • 校准状态机变量(有用的ChipScope触发器)
    • cal2_state_r =第2阶段状态机
  • 字节数(有用的Chipscope触发器)
    • cal2_cnt_rden_r =正在校准的第2阶段字节
  • Bitslip伯爵
    • dbg_rd_bitslip_cnt =数据延迟的位数
  • 读取时钟延迟计数
    • dbg_rd_clkdly_cnt =数据延迟的位数
  • 写时钟延迟计数
    • dbg_wr_calib_clk_delay [1:0] =内部延迟写入的时钟周期数,用于写入均衡偏斜/ DQS反转
  • 读取数据计数命令
    • dbg_rd_active_dly =发出数据返回的读命令后的时钟周期数
  • 读取数据以验证数据模式
    • dbg_data =读回数据。将数据总线除以4,数据可以分组为rd_data_rise0,rd_data_fall0,rd_data_rise1,rd_data_fall1。例如,dbg_rddata [63:0]:[15:0] =上升数据0,[31:16] =下降数据0,[47:32] =上升数据1,[63:48] =下降数据1

感兴趣的文件:

读取电平逻辑包含在’rtl / phy / phy_rdlvl.v / .vhd’模块中。

调试步骤:

在阶段2期间,数据模式“FF00AA5555AA9966”被连续写入和回读。写入被移位,而读取位滑动和对齐发生。这不仅执行写入校准以将DQS组与正确的CK周期对齐,而且还执行读取调平阶段2,其在重新同步时钟域中对准捕获的数据字。

  • 使用ChipScope分析读取数据以查看发生的移位。以下是对齐转换的图示:
  • 验证读回的读数据模式是否准确并对齐。这意味着从rddata_rise0开始捕获模式(FF00AA5555AA9966)。下面的ChipScope波形显示错误对齐的错误数据模式回读。

在此波形中,数据模式不正确。它应该是从rddata_rise0开始的FF00AA5555AA9966。相反,模式从rddata_rise1开始并包含54而不是55.这表明不仅模式不正确,而且bitlip没有成功完成。成功完成bitlip会导致从rddata_rise0开始的对齐数据。请参阅下文,了解数据模式不正确的可能原因。

如何判断第2阶段校准期间哪个字节失败?

  • 观察dbg_wr_calib_clk_delay。该总线包括每个DQS组的2位。每当每组2位等于值3时,相应的字节校准失败。例如,如果位[1:0] = 3,则不校准字节[0]。

什么可能出错?

  • 卡在位(或PCB上未连接的位)
  • 无与伦比的痕迹
  • 边际信号完整性问题
    • 确保执行使用IBIS的SI仿真
  • 错误的Pin-out
    • 将字节移动到另一列而不调整RTL中的某些参数。
  • 写入校准数据的问题。

为了确保遵循电路板布局和引脚/Bank要求,请参阅

有关调试端口使用的一般准则,请参阅(Xilinx答复35206)

请登录后发表评论

    没有回复内容