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

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

3天内不再提示

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

刘强 来源:gdfffa 作者:gdfffa 2022-08-02 08:03 次阅读

本篇博文中的分析是根据真实客户问题撰写的,该客户的 DFX 设计无法连贯布线,存在布线重叠。本篇博文旨在演示用于缩小根本原因范围以及修复此问题的部分调试技巧。

这是“使用方法论报告”系列博文的第 6 部分。

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

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

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

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

第5部分:DDR4 IP 校准后硬件故障,指示存在时序问题,但时序报告中无任何违例

问题说明:

在此示例中,用户的 DFX 设计遇到 1 个奇怪的问题,它无法连贯布线,部分信号线保持处于未布线状态。

运行 Tcl 命令 report_route_status 显示如下结果,有 165 条信号线未布线:

pYYBAGGYHSSANgOgAAG77Y5ssHQ105.png

根本原因分析:

通过观察设计发现,时钟间路径存在超大保持时间违例,约 - 4.6 ns,如下所示。

但在已布线的检查点上未出现这些违例。route_design 开始处的日志中可以看到这些违例。

注: 要详细分析含估算的布线延迟的时序,请在 Vivado GUI 的“时序汇总 (Timing Summary)”报告中针对互连 (interconnect) 使用“估算 (estimated)”选项。

您可使用以下选项来检查自己的设计的“Timing Summary”:

在 Vivado GUI 中,转至“报告 (Reports)”选项卡 ->“时序 (Timing)”->“时序汇总报告 (Report Timing Summary)”

运行以下 Tcl 命令:

report_timing_summary -file/timingreport.txt

互连设置用于控制信号线延迟计算方式:根据估算的叶节点单元管脚间布线距离来计算,或者根据实际布线的信号线来计算,或者从时序分析中排除信号线延迟。

poYBAGGYHSWAZCVnAAEiPzcxEAc968.png

或者,也可以使用以下 Tcl 命令来分析含估算的布线延迟的时序。

set_delay_mode -interconnect estimated

poYBAGGYHSaAOQCjAADJntyKKSk868.png

借助时钟交互报告 (Report Clock Interaction),即可在所有特定时钟域中发现这些时钟间路径违例,如下所示。

如需在 Vivado GUI 中查看时钟交互报告,请依次选择“报告 (Reports)”->“时序 (Timing)”->“时钟交互报告 (Report Clock Interaction)”。

pYYBAGGYHSiAfqCUAAIevnN94pg263.png

通过观察这些严重的保持时间违例,可以得出如下结论:时钟拓扑结构存在问题,或者设计未正确约束。

而这两种可能性都需要加以详细分析。

通过观察发现,此时钟间路径存在保持时间违例(如下所示),且其时钟路径偏差非常高,看上去很可疑。

poYBAGGYHSmASAV6AAG7-9CvMmU778.png

默认情况下,Vivado 将所有时钟都视作为同步时钟来处理。因此,这些 CDC 异步时钟路径同样被视为同步,因此导致在路径中此处添加错误的时钟偏差。在此示例中,偏差约为 4 ns。

那么我们是如何发现这些异步 CDC 未正确约束的呢?

我们是从时钟对分类 (Clock Pair Classification) 和时钟间约束 (Inter clock Constraints) 列中得到此信息的(如下所示)。

pYYBAGGYHSqABa3YAAGOrsgVqKc575.png

这导致出现严重的保持时间违例,因而导致布线器执行大量保持时间修复,从而导致布线拥塞。

布线器始终优先修复保持时间违例,而后才是修复建立时间违例,因为存在保持时间违例的设计无法正常运行,而存在建立时间违例的设计则仍能按较低频率运行。

由于布线绕行导致的布线拥塞可能导致时序违例,也可能导致无法布线。

拥塞严重会导致布线器无法找到任何资源用于布线。此处示例的问题正来自于此。

您可以观察到由于欠约束 CDC 路径,会导致布线器花费大量的布线资源用于修复保持时间违例。

最终,它导致了在此例中所发生的信号线拥塞/未布线问题。

以下截屏显示的保持时间违例中,时钟偏差为 4 ns。

pYYBAGGYHSyARZ9bAAMk-lBWksg601.png

下图显示了发生保持时间违例的非安全 CDC 路径中所使用的布线资源总量。

poYBAGGYHTGAFu4pABDPl26c23A980.png

并且,分析还发现利用率在可控范围内,并未超出阈值。而根本原因同样源于约束不正确。

要在 Vivado GUI 中查看资源利用率,请转至“报告 (Reports)”选项卡 ->“报告利用率 (Report Utilization)”。

或者,您可在 Tcl 控制台内运行 report_utilization 命令。

poYBAGGYHTOAFUf-AAGi7IRxKyQ567.png

那么在此情况下,方法论报告又如何发挥作用呢?

通过观察此报告可以发现,在设计中存在大量方法警告。

以下列出了影响设计 QoR 且需要优先解决的主要警告。

要在 Vivado GUI 中打开方法论报告,请转至“报告 (Report)”选项卡 ->“方法论报告 (Report Methodology)”,或者在 Tcl 控制台中,使用 report_methodology。

以下截屏显示的方法论报告包含有关 TIMING-6、7、8、15 和 35 的警告消息。

pYYBAGGYHTSAVfchAACfDZENIII669.png

根据 TIMING-6、TIMING-7、TIMING-8 和 TIMING-35 警告,可以得出结论,即设计未正确约束,并且必须对其加以正确约束。

因此,用户需参阅时钟交互报告以了解时钟间路径的时序是否安全。如需获取有关“时钟交互报告 (Clock Interaction Report)”的更多信息,请参阅 (UG906:https://china.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/c... )。

TIMING-15 警告显示在时钟间路径上存在严重的保持时间违例,必须先加以解决,然后才能生成比特流。

由于布线器始终会尝试解决保持时间违例,并且这也会影响布线,因此建议正确约束设计,并清除上述警告消息中提及的时钟间路径中的错误。

通过检查时序汇总可以发现,时钟间路径的保持时间违例非常高,达到约 -3 ns。

如需获取有关这 5 条警告消息及其解决方案的更多信息,请参阅 (UG906:https://china.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/c... ) 附录 A。

结论:

通过观察分析可以发现,如果在调试初始阶段,客户遵循方法论报告中的警告将其逐一解决,那么即可大幅缩短调试此信号线未布线问题的时间。

添加如下约束后,即可解决这些幽灵时序违例:

set_max_delay -datapath_only -from [] -to []

审核编辑:郭婷

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

    关注

    9

    文章

    730

    浏览量

    84024
  • DDR4
    +关注

    关注

    12

    文章

    292

    浏览量

    40295
收藏 人收藏

    评论

    相关推荐

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

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

    我国下一代网络研究无法取得实质性进展的根本原因是什么

    从美国2002年提出研究下一代网起,至今已经有16年了。总的来说,在下一代网络的研究方面,没有取得多少实质性的进展,务虚的多,务实少。16年的努力不但没有取得实质性进展,甚至连比较一致的共识都没有。导致下一代研究无法取得实质性进展的根本原因
    发表于 11-15 10:18 982次阅读

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

    本篇博文中的分析是根据真实客户问题撰写的,该客户的 DFX 设计无法连贯布线,存在布线重叠。本篇博文旨在演示用于缩小
    的头像 发表于 09-28 10:41 1519次阅读

    汽车芯片短缺的根本原因是什么

    本轮缺芯的根本原因 。 我们都知道汽车制造商通常有一个短期的“准时生产”管理周期,以保持低库存。受到去年年初开始在全球发酵的新冠疫情的影响,汽车厂商们纷纷调整了销售预测,向芯片代工厂提出减产要求。        其次,疫情让居家办公需求激
    的头像 发表于 12-09 11:46 5066次阅读

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

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

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

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

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

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

    MES系统没效果的根本原因

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