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

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

3天内不再提示

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

gfhtrdfd 来源:gfhtrdfd 作者:gfhtrdfd 2022-08-02 11:58 次阅读

最终发现,此问题是由于时钟域交汇 (CDC) 处理不当所导致的,在 report_methodology 和 report_cdc 报告中高亮显示了相关处理错误。

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

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

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

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

说明:

此客户在现场部署了数万个基于 Zynq-7000 系列的产品,这些产品都是使用 Vivado 2013.4 开发的,其最终客户报告称大量卡上出现数据包损坏,调查显示在所有数据包损坏案例中,设计中的相同位置都发生了比特翻转。

根本原因分析:

为了缩小范围,我们首先要求客户提供网表中这些寄存器的位置:

我们要求客户提供 DCP 以便我们使用各项报告来审查设计。

虽然通常随机问题是由电源问题所导致的,但我们同时还要求客户提供操作期间的 VCCINT/VCCAUX/VCCIO 测量方法,以便测量电平和噪声,如(赛灵思答复记录 62181)中的硬件调试最佳实践中所述。

我们还要求其提供板级原理图 (schematic) 以复查使用的去耦电容是否足够。

很快我们就把电源问题排除在原因之外。

收到 DCP 后,我们首先使用最新版本的 Vivado 运行

report_timing_summary、report_methodology、report_drc 和 report_cdc。 

有多个问题马上显现了出来。

最重要的发现与可疑 FF 相关,report_methodology LUTAR-1 检查标记出了这些可疑 FF:LUT 驱动异步复位警告

FF 具有异步复位,由逻辑级数深度为 2 的路径驱动:

pYYBAGGYHW6AHhW4AACgvv3nSzM891.png

其危险性在于 LUT(红色箭头)可出现毛刺并触发意外复位。

第二项最严重的发现与时钟域交汇和约束有关。

Report_cdc 发现约有 40000 条路径采用非推荐 CDC 架构:

poYBAGGYHXCAOc-_AAOX6tICfvU784.png

不安全的时钟域交汇可能导致翻转 FF 下游或上游出现问题,并且可能成为所观测到的行为的真正根源。

就约束而言,report_methodology 的“TIMING-24:仅最大延迟数据路径已被覆盖”检查发现多项严重违例。

在移除 set_clock_groups -asynchronous 约束并将其替换为 set_max_delay -datapath_only 和时钟对的最小时钟周期后,发现出现了非常严重的时序违例:-5.8ns,原因是异步时钟之间的逻辑级数达到 11。

第二轮审查发现设计中几乎所有复位上都存在伪路径约束,这些约束是为了帮助达成时序收敛而添加的,根据经验,我们知道这是非常危险的:如果状态机的各个位在不同时间脱离复位,则可能进入非法状态、无法恢复并且导致设计运行错误。

即使复位为异步,取消复位仍需达成时序收敛,因此永远不能忽略复位上的时序收敛,您应该尽可能明确自己实际是否需要复位,因为不使用复位可节省宝贵的布线资源,并且使 SR 管脚可用于控制置位的重映射,从而减小设计规模,因为逻辑函数可部分映射到这些 SR 管脚。

修复所报告的问题(LUT 驱动异步复位、CDC、CDC 约束)并在现场部署一些新固件后,这些罕见的比特翻转就没有再出现。

结论:

Vivado 报告功能(方法论、CDC)的进步使我们得以成功调试并解决罕见的比特翻转问题。

无论何时遇到任何疑问,都应该首先考虑使用最新版本的 Vivado 来重新审查设计,最新版本的 Vivado 中包含 CDC 分析和最新的方法论检查,这些都是进行原始设计所没有的。

审核编辑:汤梓红

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

    关注

    5

    文章

    356

    浏览量

    36954
  • 时钟域
    +关注

    关注

    0

    文章

    49

    浏览量

    9452
  • Vivado
    +关注

    关注

    18

    文章

    789

    浏览量

    65092
收藏 人收藏

    评论

    相关推荐

    烦恼是焦虑加重的根本原因

    进入你的潜意识之中,作为一种焦虑的性格进入个体之中,人的性格和个性主要是在这种无数次的经历的组合下形成的。记忆的过程只是对事件的叙述,而这种内在的状态才是形成性格的根本原因。记忆是有形的,状态是无形
    发表于 10-16 10:35

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

    电池漏液的根本原因?如何判定电池是否漏液?
    发表于 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

    使用SPI找到无铅制造缺陷的根本原因

    使用SPI找到无铅制造缺陷的根本原因锡膏印刷在无铅制造质量中发挥着关键作用,为印刷过程SMT组装流程的后续环节部分提供了关键的基础。为使制造商能够处理回流焊后焊点的
    发表于 10-01 18:57 12次下载

    由于时钟交汇处理不当所导致罕见的比特翻转

    本篇博文中的分析是根据真实客户问题撰写的,该客户发现在现场出现罕见的比特翻转, 本篇博文旨在演示用于缩小根本原因范围以及修复此问题的部分调试技巧。 最终发现,此问题是由于时钟交汇
    的头像 发表于 09-10 09:44 1196次阅读

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

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

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

    本篇博客将为您演示如何使用此报告来帮助加速调试,甚至完全避免硬件故障,最后确定此问题根本原因是校准完成时出现争用状况。出现争用状况的原因是由于某个多周期约束所覆盖的时序例外,由此导致在时序分析报告中并未标记此问题。
    的头像 发表于 08-02 12:02 1909次阅读
    DDR4 IP校准后硬件故障的调试方法与<b class='flag-5'>根本原因</b><b class='flag-5'>分析</b>

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

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

    如何调试设计中的时钟交汇问题

    本篇博文中的分析是根据客户真实问题撰写的,该客户发现即使时序已得到满足的情况下,硬件功能仍出现错误。最后发现,问题与时钟交汇 (Clock Domain Crossing) 有关,因
    发表于 08-02 11:44 259次阅读
    如何调试设计中的<b class='flag-5'>时钟</b>域<b class='flag-5'>交汇</b>问题

    网线是影响网速快慢的根本原因

    网速是大家最最关注的,无论是工作还是娱乐,那网线是影响网速快速的根本原因吗?为了帮助大家解决日常问题,科兰通讯小编为大家分析一下这个问题。 网线的种类和网速快慢是有关系的,原因如下: 确保网线与网络
    发表于 09-08 10:02 7690次阅读
    网线是影响网速快慢的<b class='flag-5'>根本原因</b>吗

    MES系统没效果的根本原因

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