vivado产生报告阅读分析25-复杂性报告

本文介绍了如何通过计算Rent指数和AverageFanout评估电路设计的复杂性,以及在遇到高复杂性时的解决策略,如调整模块连接、优化LUT使用和实施不同的布局策略以减轻布局拥塞。
对于顶层设计和/或包含 1000 个以上叶节点单元的层级单元复杂性报告会显示每个叶节点单元类型的“Rent Exponent”Rent 指数、“Average Fanout平均扇出和分布。Rent 指数是指在使用最小割 (min-cut) 算法以递归形式对设计进行分区时,网表分区的端口数量和单元数量之间的关系。其计算方法与在全局布局期间布局器所使用的算法类似。因此,它可明确指出布局器所遇到的困难当设计层级与全局布局期间发现的物理分区精确匹配时尤其如此。
Rent 指数根据 Rent 规则定义如下
ports = constant x cellsRent
log(ports) = Rent x log(cells) + constant
Rent 指数较高的设计表示此类设计中包含逻辑紧密相连的分组并且这些分组与其他分组同样连接紧密。这通常可理解为全局布线资源使用率较高并且布线复杂性也更高。此报告中提供的 Rent 指数是根据未布局和未布线的网表来计算的。
完成布局后相同设计的 Rent 指数可能改变因为它基于物理分区而不是逻辑分区。Report Design Analysis 命令不会报告布局后的 Rent 指数因为建议改为在设计完成布局后再执行拥塞报告分析。执行以下任一操作时,将以“Complexity Mode复杂性模式来运行“Report Design Analysis设计分析报告):
• 在“Report Design Analysis”对话框的“Options”选项卡中选中“Complexity”选项。
• 执行 report_design_analysis Tcl 命令并使用下表中所示任意选项。
分析顶层设计复杂性
下图显示的示例报告来自“Complexity Mode复杂性模式下的“Report Design Analysis设计分析报告),最多可报告至顶层模块下一层级。
Tcl 命令
report_design_analysis -complexity -hierarchical_depth 1
读取和解释复杂性报告
前例所示的“Complexity Characteristics复杂性特性表显示了顶层以下每个层级的 Rent 指数和平均扇出。一般情况下,复查这些指标时需要考量的范围包括
Rent 指数
介于 0.0 0.65 之间判定复杂性处于较低到正常水平不会导致任何潜在问题。
介于 0.65 0.85 之间判定复杂性处于较高水平当实例数量超过 25k 时尤其如此。
高于 0.85复杂性非常高如果实例数量同样很高那么实现期间设计可能失败。
• 平均扇出
低于 4判定为正常。
介于 4 5 之间实现工具可能在布局设计时无法避免拥塞。就 SSI 器件而言当实例总数大于 100k 布局器将难以找到能布局在 1 SLR 内或分布到 2 个以上 SLR 的解决方案。
高于 5实现期间设计可能失败。
对于重要性较高的大型模块必须解决 Rent 指数过高和/或平均扇出过高的问题。对于较小的模块尤其是实例总数低于 10k 的情况下),Rent 指数和平均扇出可能较高但仍可轻松成功完成布局布线。因此必须始终将“TotalInstances”实例总数列与 Rent 指数和平均扇出结合在一起进行审查。复杂性特性有时可能无法预测布线拥塞。诸如目标器件中的 I/O 位置约束、布局规划和宏原语位置等其他因素还会限 制布局解空间,从而引起拥塞。完成布局后才能通过拥塞报告对此类约束的影响进行更准确的分析。
在解读“Complexity Characteristics”表时需要考虑的其他事项
• 模块中 LUT6 所占比例的增高通常会导致平均扇出增大从而可能导致 Rent 指数增大。
• 大量 RAMB DSP 的存在可能导致 Rent 指数增大因为这些原语都具有大量连接。
Rent 指数较高或者平均扇出较高的层级实例有时不会导致问题因为布局器在平面网表上工作可将这些实例细分为更便于布局的逻辑组。如果存在明显不同寻常的模块,此报告可提供有关可能存在网表问题的区域的指示信息。 当某个大型模块的 Rent 指数和/或平均扇出较高并导致拥塞和时序问题时请考虑执行如下操作
• 减少模块的连接。保留层级防止在综合内执行跨边界最优化这样可减少 LUT6 的使用从而降低网表密度。
• 尝试在综合中禁用 LUT 组合。
• 在实现期间使用“Congestion Strategy拥塞策略或者使用 SpreadLogic 布局指令这可能有助于缓解拥塞。如果设计目标为 SSI 器件请尝试采用多种不同 SSI 布局指令。
• 在 SLR 层次针对 SSI 器件或者在通用时钟区域层次使用简单的布局规划使拥塞的逻辑组保持独立或者引导全局布局向类似先前明确的良好布局相似的方向发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cckkppll

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

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

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

打赏作者

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

抵扣说明:

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

余额充值