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

最终发现,此问题是由于时钟域交汇 (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 的路径驱动:
其危险性在于 lut(红色箭头)可出现毛刺并触发意外复位。
第二项最严重的发现与时钟域交汇和约束有关。
report_cdc 发现约有 40000 条路径采用非推荐 cdc 架构:
不安全的时钟域交汇可能导致翻转 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 分析和最新的方法论检查,这些都是进行原始设计所没有的。


使用QuadrotechPST Flight Deck by Quest将PST文件迁移到Office365
变频器开关电源带载能力差故障检修方法图解
京东方打破韩企屏幕垄断神话,前三季净利润同比暴增45倍
国内车厂领路 嵌入远程信息处理系统市场势起
深入探讨工业AI/ML技术的发展趋势及相关解决方案
时钟域交汇相关处理错误的根本原因分析
微软宣布Azure账户取消TLS1.0和1.1支持
国泰航空与中银航空租赁签署了12架777-300ER飞机的延长租期协议
基于虚拟仪器技术实现发动机综合性能测试系统的设计
Bosch Sensortec推出BMA530加速度传感器
万物互联时代,沐渥物联网模块开发助力万物物联迎来新浪潮
小米准备以Poco品牌发布的新手机的踪迹
Wi-Fi建设优于WiMAX和蜂窝网
上海核工院与中航光电签署战略合作框架协议
人工智能管理对社会生产力的影响
DXP中PCB板切换单位的三种方法
第一个使用5纳米制造工艺制造的测试芯片的磁带
基于μC/OS-Ⅱ的嵌入式USB控制软件的实现
插入式双法兰液位变送器在二甲基甲酰胺反应器液位控制中的应用
磁棒电感厂家科普棒形电感线圈的好坏测量哪些