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

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

3天内不再提示

DDR4 IP校准后硬件故障的调试方法与根本原因分析

神之小风 来源:神之小风 作者:神之小风 2022-08-02 12:02 次阅读

本篇博客将为您演示如何使用此报告来帮助加速调试,甚至完全避免硬件故障,最后确定此问题根本原因是校准完成时出现争用状况。出现争用状况的原因是由于某个多周期约束所覆盖的时序例外,由此导致在时序分析报告中并未标记此问题。

这是使用方法论报告系列博文的第 5 部分。如需阅读整个系列中的所有博文,请点击下方标题查看。

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

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

第3部分:时序已满足,但硬件中存在 DDR4 校准失败

第4部分:罕见的比特翻转

问题说明:

客户在使用 UltraScale+ DDR4 IP 时,在硬件中遇到校准后数据错误。

根据设计的布线和实现,此问题与构建有关,换言之,在产品开发期间对多个构建镜像进行测试时,此问题可能出现而后又消失。此外,此问题可能仅在小部分板上出现。

时序报告显示没有任何违例。

调试方法:

由于重新实现后,此问题可能就会消失,因此无法使用 ILA 调试。

我们在已布线的 DCP 中使用 ECO 来探测未使用的管脚的信号,通过示波器观测信号发现哪个(些)信号开始显现错误。

最终,我们将问题范围缩小到 1 个特定的信号线,在 DCP 中对该信号线进行重新布线后,故障消失了。

随后,我们检查了与此信号线相关的路径上的时序分析和时序约束:

1. 经过该信号线的路径的时序报告。在此报告中,我们得知,所涉及的路径被多周期路径约束所覆盖

report_timing -through [get_nets ]

2. 打开“Timing Constraints”Wizard,查找对应的多周期路径约束。

工具 (Tools) -> 时序 (Timing) -> 编辑时序约束 (Edit Timing Constraints)

我们在“Timing Constraints”Wizard 中发现了以下多周期路径约束:

set_multicycle_path -setup -from [get_pins */u_ddr_cal_top/calDone*/C] 8

set_multicycle_path -hold -end -from [get_pins */u_ddr_cal_top/calDone*/C] 7

基于以上分析,我们判定在这些路径上存在争用状况问题。

这些多周期路径约束不应添加,在此用例中,应在每个时钟周期内正确捕获数据,以避免出现争用状况,因此,这些路径不属于多周期路径。

根本原因分析:

以下就是发生争用状况问题的路径。

pYYBAGGYHWCAZjt3AAGZJ975V24897.png

其中 2 个目标都应在同一个周期内接收到 calDone 信号,因为这两者紧密相关。这 2 条路径属于不同时序路径,各自都应在不同时钟周期达成时序收敛(根据多周期约束,应在 1 到 8 个周期内达成时序收敛)。这可能导致 calDone 在不同时间线到达目标,导致功能异常。

另一方面,2 个目标都没有 CE 管脚控制(CE 管脚绑定到 VCC)。因此,未能在同一时钟周期内捕获 2 条路径上的数据,所以这些路径并非合格的多周期路径。

此多周期约束违例实际上是由 Methodology Report 捕获的:

TIMING-46 警告 1

多周期路径含绑定 CE 管脚

寄存器

u_mig/inst/u_ddr4_mem_intfc/u_ddr_cal_top/calDone_gated_reg/Q

与寄存器

u_example_tb/init_calib_complete_r_reg/D

之间定义了 1 条或多条多周期路径,并具有直接连接,且 CE 管脚已连接到 VCC(请参阅 Vivado IDE 中的“时序约束 (Timing Constraint)”窗口中的约束位置 6)。这可能导致路径要求不准确。

TIMING-46 警告 2

多周期路径含绑定 CE 管脚

在寄存器

u_mig/inst/u_ddr4_mem_intfc/u_ddr_cal_top/calDone_gated_reg/Q

与寄存器

u_mig/inst/u_ddr4_mem_intfc/u_ddr_mc/u_ddr_mc_periodic/periodic_config_gap_enable_reg/D

之间定义了 1 条或多条多周期路径,并具有直接连接,且 CE 管脚已连接到 VCC(请参阅 Vivado IDE 中的“时序约束 (Timing Constraint)”窗口中的约束位置 6)。

这可能导致路径要求不准确。

最好在流程初期阶段尽早检查 Methodology Report。在诸如此类的示例中,它可帮助您捕获并修复多周期违例,并避免发生硬件故障。您还可以在调试过程中先运行 Methodology Report,并查看警告,其中高亮的违例将有助于加速问题调查。

解决办法:

赛灵思答复记录 73068】供的补丁可用于解决在低于 2020.1 版的版本中发生的此问题。

从 2020.1 版起,已移除了多周期路径约束,并在路径上添加了流水线阶段,以简化时序收敛,同时确保所有目标都能在同一个互连结构周期内达成时序收敛。

结论:

1. 在设计流程中尽早运行 Methodology Report 以便捕获并修复潜在问题。

2. 请在含绑定到 VCC 的 CE 管脚的路径上谨慎使用多周期约束。

审核编辑:汤梓红

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

    关注

    12

    文章

    292

    浏览量

    40293
  • 时序
    +关注

    关注

    5

    文章

    357

    浏览量

    36956
收藏 人收藏

    评论

    相关推荐

    电池漏液的根本原因?如何判定电池是否漏液?

    电池漏液的根本原因?如何判定电池是否漏液?
    发表于 03-11 06:57

    引起调节的根本原因是什么

    西安交通大学17年3月课程考试《计算机控制技术》作业考核试题一、单选题(共 30 道试题,共 60 分。)1.引起调节的根本原因是偏差,所以在下列说法中,不正确的是( )A. 偏差的正、负决定
    发表于 09-01 08:38

    引起调节的根本原因是偏差吗

    1. 引起调节的根本原因是偏差,所以在下列说法中,不正确的是()A. 偏差的正、负决定调节作用的方向B. 偏差的大、小决定调节作用的强、弱C. 差为零,调节作用为零D. 偏差太大,调节失效正确答案
    发表于 09-10 06:31

    低功耗产生的根本原因及其控制方法

    一、低功耗管理要点1、低功耗的实现(本质就是不产生多余的漏电流) a、功耗的产生的根本原因:引脚之间存在电压差,电流不断流走;2、关闭单片机外部耗电器件a、利用开关电路,将其彻底断开电源;3、单片机
    发表于 12-31 08:02

    rt_assert_handler死循环根本原因是什么?

    请教:调用rt_mb_send()函数,往邮箱发消息;结果死在rt_assert_handler函数中。把这个函数中的死循环 while (dummy == 0);注释掉,代码运行正常,不知根本原因是什么?求高手赐教
    发表于 03-23 11:12

    内核oops的根本原因是什么?我们如何调试内核oops?

    问题不能在我们的实验室卡上重现。请参阅附件中的内核 oops、中断和 dmesg 信息。内核 oops 的根本原因是什么?我们如何调试内核 oops?
    发表于 04-20 06:19

    如何校准IMX8M Mini DDR4

    NXP IMX8M Mini DDR4 校准
    发表于 04-20 07:36

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

    本篇博文中的分析是根据真实客户问题撰写的,该客户发现硬件中存在 DDR4 校准错误,不同板以及不同构建 (build) 之间出现的故障并不一
    的头像 发表于 09-03 09:33 2329次阅读

    硬件中存在DDR4校准后数据错误

    report) 来确定问题根源。 本篇博客将为您演示如何使用此报告来帮助加速调试,甚至完全避免硬件故障,最后确定此问题根本原因校准完成时
    的头像 发表于 09-16 09:30 1893次阅读

    XILINX使用方法论设计无法连贯布线

    本篇博文中的分析是根据真实客户问题撰写的,该客户的 DFX 设计无法连贯布线,存在布线重叠。本篇博文旨在演示用于缩小根本原因范围以及修复此问题的部分调试技巧。 这是“使用方法论报告”系
    的头像 发表于 09-28 10:41 1519次阅读

    DFX设计无法连贯布线的根本原因及修护

    本篇博文中的分析是根据真实客户问题撰写的,该客户的 DFX 设计无法连贯布线,存在布线重叠。本篇博文旨在演示用于缩小根本原因范围以及修复此问题的部分调试技巧。
    的头像 发表于 08-02 08:03 1148次阅读
    DFX设计无法连贯布线的<b class='flag-5'>根本原因</b>及修护

    时钟域交汇相关处理错误的根本原因分析

    本篇博文中的分析是根据真实客户问题撰写的,该客户发现在现场出现罕见的比特翻转, 本篇博文旨在演示用于缩小根本原因范围以及修复此问题的部分调试技巧。
    的头像 发表于 08-02 11:58 751次阅读
    时钟域交汇相关处理错误的<b class='flag-5'>根本原因</b><b class='flag-5'>分析</b>

    硬件中存在DDR4校准错误的调试方法根本原因分析

    本篇博文中的分析是根据真实客户问题撰写的,该客户发现硬件中存在 DDR4 校准错误,不同板以及不同构建 (build) 之间出现的故障并不一
    的头像 发表于 08-02 11:55 4313次阅读
    <b class='flag-5'>硬件</b>中存在<b class='flag-5'>DDR4</b><b class='flag-5'>校准</b>错误的<b class='flag-5'>调试</b><b class='flag-5'>方法</b>与<b class='flag-5'>根本原因</b><b class='flag-5'>分析</b>

    速率越高的DDR4,等长控制越严格?

    按照上面的操作来做等长是不是可以更准一点,给DDR4系统留取更多的裕量呢?由于李工的项目最根本原因不是等长,而是由于他使用了多颗粒双die DDR4表底贴设计,阻抗和拓扑结构优化不到位导致(这种设计在我司的定位难度级别最高)
    发表于 09-13 17:08 1048次阅读

    MES系统没效果的根本原因

    电子发烧友网站提供《MES系统没效果的根本原因.docx》资料免费下载
    发表于 02-22 09:10 0次下载