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

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

3天内不再提示

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

XILINX开发者社区 来源:XILINX开发者社区 作者:赛灵思开发者 2021-09-16 09:30 次阅读

本篇博文中的分析是根据真实客户问题撰写的,该客户发现硬件中存在 DDR4 校准后数据错误,此问题显示为与时序有关,但时序报告中并未显示任何违例,最初并未使用方法论报告 (Methodology report) 来确定问题根源。

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

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

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

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

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

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

问题说明:

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

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

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

调试方法:

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

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

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

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

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

report_timing -through [get_nets 《net_name》]

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

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

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

根本原因分析:

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

其中 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 管脚的路径上谨慎使用多周期约束。

责任编辑:haq

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

    关注

    9

    文章

    677

    浏览量

    64238
  • Xilinx
    +关注

    关注

    70

    文章

    2119

    浏览量

    119368
  • 硬件
    +关注

    关注

    11

    文章

    2922

    浏览量

    64755

原文标题:开发者分享 | 使用方法论报告5: DDR4 IP 校准后硬件故障,指示存在时序问题,但时序报告中无任何违例

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

收藏 人收藏

    评论

    相关推荐

    全套DDRDDR2、DDR3、DDR3L、LPDDR3 和 DDR4 电源解决方案同步降压控制器数据

    电子发烧友网站提供《全套DDRDDR2、DDR3、DDR3L、LPDDR3 和 DDR4 电源解决方案同步降压控制器
    发表于 04-09 09:51 1次下载
    全套<b class='flag-5'>DDR</b>、<b class='flag-5'>DDR</b>2、<b class='flag-5'>DDR</b>3、<b class='flag-5'>DDR</b>3L、LPDDR3 和 <b class='flag-5'>DDR4</b> 电源解决方案同步降压控制器<b class='flag-5'>数据</b>表

    适用于DDR2、DDR3、DDR3L和DDR4且具有VTTREF缓冲基准的TPS51206 2A峰值灌电流/拉电流DDR终端稳压器数据

    电子发烧友网站提供《适用于DDR2、DDR3、DDR3L和DDR4且具有VTTREF缓冲基准的TPS51206 2A峰值灌电流/拉电流DDR
    发表于 03-13 13:53 1次下载
    适用于<b class='flag-5'>DDR</b>2、<b class='flag-5'>DDR</b>3、<b class='flag-5'>DDR</b>3L和<b class='flag-5'>DDR4</b>且具有VTTREF缓冲基准的TPS51206 2A峰值灌电流/拉电流<b class='flag-5'>DDR</b>终端稳压器<b class='flag-5'>数据</b>表

    DDR4信号完整性测试要求

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

    DDR4DDR3内存都有哪些区别?

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

    DDR3和DDR4的技术特性对比

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

    ddr4 3200和3600差别大吗

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

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

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

    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 1514次阅读