0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何修复硬件中存在DDR4校准错误

XILINX开发者社区 来源:XILINX开发者社区 作者:XILINX开发者社区 2021-09-03 09:33 次阅读

本篇博文中的分析是根据真实客户问题撰写的,该客户发现硬件中存在 DDR4 校准错误,不同板以及不同构建 (build) 之间出现的故障并不一致。

本篇博文旨在演示用于缩小根本原因范围以及修复此问题的部分调试技巧。

最后,问题是由于用户 XDC set_false_path 约束覆盖 MIG IP 约束所导致的,错误使用 set_false_paths 的危险性由此可见一斑。

这是使用方法论报告系列博文的第 3 部分。如需阅读本系列中的其他博文,请点击查阅。

第1部分:时序以满足,但硬件功能出现错误

第2部分:方法违例对于QoR的影响

问题说明:

用户的设计使用的是 Vivado 和 SDx 流程。此设计包含 2 个 DDR4 64 位接口,运行速度为 2000 Mbps。此设计已达成时序收敛,但在某一个 DDR4 接口或者有时在 2 个接口上都会观察到校准失败。

硬件故障与构建有关:

■成功的构建在多个板上都成功完成

■而失败的构建则在多个板上都失败

■大部分情况下其中一个接口或者 2 个接口都会发生故障

■失败的比特因构建而不同

调试方法:

失败特征表明存在时序约束或 CDC 问题,因此我们使用以下步骤进行调试。

1) 添加 ILA 并重新运行设计实现。现在,故障消失了,或者转移到其它比特。

2) 使用增量实现流程,以保留失败特征。

3) 向 ILA 添加流水线阶段以简化时序收敛。此测试的目标是在失败的阶段中寻找期望的模式,以便缩小失败的比特的范围。

4) 尝试 Pblock 以使 MIG IP 的布局保持彼此接近。在此情况下,失败特征并未发生改变:

■成功完成时序收敛的接口在硬件中失败

■未完成时序收敛的接口在硬件中则能成功完成时序收敛

根据以上结果可见,问题可能在于某些 MIG 约束被用户或者被 Vivado 流程所覆盖。

下一步是复查用户的 XDC 约束。

执行此操作时,我们注意到时钟间的 false_paths 约束是由用户设置的。

现在,运行以下建议的报告组合。关键的报告是 report_methodology 和 report_cdc。

■Report CDC

■Report Methodology

■Report Exception

■Report MIG set_max_delay(用于确认这些约束是否被忽略)

根本原因分析:

MIG set_max_delay 路径并未被忽略。

report_timing 报告了最大延迟

我们在部分 MIG 路径(互连结构 (fabric) 到 PHY)上发现了以下 CDC 严重警告。

现在,将这些路径与 MIG 设计示例中的示例进行比对,这些示例是使用 IP integrator 流程创建的,且已安全完成时序收敛。

根据发现的结果,我们移除了用户添加的所有 false_paths 约束,并在未重新实现整个设计的情况下重新报告时序。

报告显示针对 2 个 DDR4_rx/tx,在最差情况下存在超过 3ns 的时序收敛失败,如下所示。

我们可以利用时序汇总报告 (Report Timing Summary) 的限定机制仅对 MIG 接口进行集中分析。

现在,我们发现用户添加的 false_paths 约束导致从互连结构 (fabric) 到 PHY 路径被忽略。

解决办法:

■从目标 XDC 移除上述 false_paths 并重新运行设计实现。

■设计重新恢复正常时序。

■现在,CDC 报告显示先前忽略的路径已安全达成时序收敛。

■测试硬件上的比特文件时,2 个 DDR4 接口都一致通过校准。

结论:

请务必谨慎处理 set_false_path 约束。

此约束很容易导致必须达成时序收敛的路径被忽略。在此类约束中使用通配符时或者在整个时钟域之间设置 false_paths 时,除非您确定这些时钟域之间没有任何路径需达成时序收敛,否则请务必谨慎操作。操作错误可能导致硬件故障,并导致调试流程难以持续且耗时冗长。

面临在时序无错误的设计上遇到硬件故障的情况时,可在 Vivado 中运行几项检查。下列检查应始终运行,尤其是在布局布线之后。仅仅确认时序无错是不够的,您仍需要完成这些检查:

1) 时钟交互报告 (Report Clock Interaction):

提供有关设计中所有时钟的信息

2) 方法论报告 (Report Methodology)

如果观察到不安全的路径或用户忽略的路径,则可使用 Report Methodology 并集中解决严重警告。

3) CDC 报告 (Report CDC)

在此示例中,Report CDC 帮助发现了由于用户约束导致被忽略的关键路径。

将这些结果与 MIG 设计示例进行比对有助于从设计中存在的数百万条路径中发现可疑路径。

使用限定机制可将分析范围缩小到选定的模块。

4) 例外报告 (Report exception):

此报告可提供有关由于时序例外(如果有)而被忽略的路径的信息,例如,set_false_paths 或 set_clock_groups。

一些小技巧:

对于超大型设计,解析数百万条路径是非常困难且耗时的。

为了加速周转,可使用以下命令缩小报告范围:

要在原理图视图中高亮实例,请执行以下操作:

report_cdc -cells [get_selected_objects] -details -name 《cdc_report_xyz》

report_timing_summary -cells [get_selected_objects ] -name 《report_xyx》

要检查是否已忽略 set_max delay,请执行以下操作:

report_timing -from [get_pins */*/*/*/slave_rdy_cptd_sclk_reg/C] -to [get_pins */*/*/*/u_slave_rdy_cptd_sync/SYNC[*].sync_reg_reg[0]/D] -name t3

可从 MIG XDC 找到以上时序路径。“-name”开关将在 GUI 中生成报告。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DDR
    DDR
    +关注

    关注

    9

    文章

    675

    浏览量

    64220
  • 硬件
    +关注

    关注

    11

    文章

    2918

    浏览量

    64722
  • 时序
    +关注

    关注

    5

    文章

    356

    浏览量

    36952

原文标题:开发者分享 | 使用方法论报告 3:时序已满足,但硬件中存在 DDR4 校准失败

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DDR4信号完整性测试要求

    DDR5已经开始商用,但是有的产品还才开始使用DDR4。本文分享一些DDR4的测试内容。DDR4 和前代的 DDR3 相比, 它的速度大幅提
    的头像 发表于 01-08 09:18 624次阅读
    <b class='flag-5'>DDR4</b>信号完整性测试要求

    DDR4DDR3内存都有哪些区别?

    DDR4DDR3内存都有哪些区别? 随着计算机的日益发展,内存也越来越重要。DDR3和DDR4是两种用于计算机内存的标准。随着DDR4内存
    的头像 发表于 10-30 09:22 5019次阅读

    DDR3和DDR4的技术特性对比

    摘要:本文将对DDR3和DDR4两种内存技术进行详细的比较,分析它们的技术特性、性能差异以及适用场景。通过对比这两种内存技术,为读者在购买和使用内存产品时提供参考依据。
    发表于 09-27 17:42 1282次阅读

    ddr4 3200和3600差别大吗

     DDR4 3200和3600是内存模块的频率标准,表示其频率值,具有以下差异
    发表于 09-26 15:24 1.1w次阅读

    DDR4DDR3的不同之处 DDR4设计与仿真案例

    相对于DDR3, DDR4首先在外表上就有一些变化,比如DDR4将内存下部设计为中间稍微突出,边缘变矮的形状,在中央的高点和两端的低点以平滑曲线过渡,这样的设计可以保证金手指和内存插槽有足够的接触面
    发表于 09-19 14:49 1751次阅读
    <b class='flag-5'>DDR4</b>与<b class='flag-5'>DDR</b>3的不同之处 <b class='flag-5'>DDR4</b>设计与仿真案例

    三星再次减产,刺激DDR4价格上涨

    三星公司计划在下半年再次削减DRAM制程的产能,而今年以来这一减产主要针对DDR4。业界普遍预期,三星的目标是在今年年底之前将库存水平降至合理水平。这一减产举措可能会导致DDR4市场价格上涨,而目前
    的头像 发表于 09-15 17:42 1016次阅读

    Teledyne e2v的宇航级DDR4硬件设计指南

    电子发烧友网站提供《Teledyne e2v的宇航级DDR4硬件设计指南.pdf》资料免费下载
    发表于 09-13 17:14 2次下载
    Teledyne e2v的宇航级<b class='flag-5'>DDR4</b>的<b class='flag-5'>硬件</b>设计指南

    ddr4 3200和3600差别大吗 ddr4 3200和3600可以混用吗

    DDR4 3200和DDR4 3600是两种常见的内存频率规格,它们在性能上会有一定的差别,但差别大小取决于具体的应用场景和系统配置。
    发表于 08-22 14:45 3.2w次阅读

    请问PH1A100是否支持DDR3,DDR4

    PH1A100是否支持DDR3,DDR4
    发表于 08-11 06:47

    蜂鸟e203使用DDR4扩展报store访问异常是什么原因?

    使用DDR4作为外接存储单元时,蜂鸟e203的访问地址为0x40000000,但是经过vivado的Block design后使用DDR4,在板子上跑测试DDR4读写程序,报store访问异常
    发表于 08-11 06:17

    ddr5的主板可以用ddr4内存吗 几代CPU才能上DDR5

    DDR5的主板不支持使用DDR4内存。DDR5(第五代双倍数据率)和DDR4(第四代双倍数据率)是两种不同规格的内存技术,它们在电气特性和引脚布局上
    发表于 08-09 15:36 1.4w次阅读

    PI2DDR3212和PI3DDR4212在DDR3/DDR4中应用

    电子发烧友网站提供《PI2DDR3212和PI3DDR4212在DDR3/DDR4中应用.pdf》资料免费下载
    发表于 07-24 09:50 3次下载
    PI2<b class='flag-5'>DDR</b>3212和PI3<b class='flag-5'>DDR</b>4212在<b class='flag-5'>DDR</b>3/<b class='flag-5'>DDR4</b>中应用

    高速设计:用于DDR3/DDR4的xSignal

    DDR4
    Altium
    发布于 :2023年06月25日 17:49:32

    DDR4DDR5规格之间的差异

    DDR4内存模块支持单个64位通道(如果考虑ECC,则为72位通道)。相比之下,DDR5内存模块配备了两个独立的32位通道(40位ECC)。
    发表于 05-08 10:27 1497次阅读

    LS1046A DDR4工业级的电路板停止并出现错误0x2100是为什么?

    我有 LS1046AFRWY 板的克隆。高速公路板使用 MT40A512M16JY-083E:B(商业级DDR4)。我的克隆使用 MT40A512M16JY-083E IT:B(工业级 DDR4
    发表于 04-24 08:08