VIVADO学习笔记之--拥塞

1.参考

https://mp.weixin.qq.com/s/hYU7BnKcuKyMLM_7wSH62w
https://www.xilinx.com/support/answers/66314.html(有提到其解决方法)

2.这篇文章帮你解决以下几个问题:

如何生成拥塞报告
如何理解拥塞程度
如何理解拥塞类型

3.拥塞报告生成方法

拥塞是一个复杂的问题,导致拥塞的因素也很多。在分析拥塞问题时,首先要生成设计拥塞报告。生成方法:
第一步:打开布局或者布线后的DCP文件
第二步:在菜单下,依次选择Reports -> Report Design Analysis,弹出如下图所示对话框,只选择图中的Congestion,即可生成拥塞报告。
在这里插入图片描述
此外,在上图中的Command对应的部分显示了该操作的Tcl命令。因此,也可直接通过如下图所示的Tcl命令生成设计拥塞报告(直接在Vivado Tcl Console中执行)。

repeort_design_analysis -congestion -name design_analysis_1

这里,我们看两个报告样例。第一个拥塞报告是针对布局后的设计生成的,如下图所示。这里我们要格外关注Level列对应的数据,该列数据表明了拥塞程度。
在这里插入图片描述
拥塞程度
对于拥塞程度(Congestion Level),我们有如下判定标准:
拥塞程度≥7:设计几乎不太可能收敛,布线极有可能失败;
拥塞程度≥6:设计很难实现时序收敛,运行时间会很长,而且很有可能出现布线失败;
拥塞程度=5:存在一定难度实现设计收敛;
拥塞程度<5:可认为设计不存在拥塞问题

我们再看看布线后生成的拥塞报告,如下图所示。此时,我们要关注Type这一列。该列表明了拥塞的类型。
在这里插入图片描述
拥塞类型
通常,有三类拥塞类型:Global、Long和Short。造成这三类拥塞的原因是不同的。
Global:拥塞区域的Combined LUT过多,或者控制集过多;
Long:拥塞区域的BRAM、URAM和DSP过多,或者跨die路径过多;
Short:拥塞区域的MUXF或Carry Chain过多;

明确了拥塞类型,就可知道造成拥塞的原因,再结合报告中显示的拥塞区域,进而查找到相应的模块,就可以有的放矢,解决拥塞问题。但是,在解决拥塞问题之前要确保设计满足以下几点:
(1)约束是合理的
(2)Pblock之间没有重叠
(3)不存在过大的Hold违例(WHS < -0.4ns)

  • 2
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有钱挣的地方就是江湖之FPGA行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值