“
Congestion
”报告用于显示器件的拥塞区域以及这些区域内存在的设计模块名称。如果在拥塞区域内部或附近布局关键路径,
那么拥塞可能引发时序收敛问题。
分析设计拥塞
要在“
Congestion Mode
”
(
拥塞模式
)
下运行“
Report Design Analysis
”
(
设计分析报告
),
必须在“
Report Design Analysis”对话框的“
Options
”
(
选项
)
选项卡中指定“
Congestion
”
(
拥塞
)
选项
,
并且必须已完成设计的布局和/
或布线。在未布局的设计上以“
Congestion Mode
”运行“
Report Design Analysis
”将导致报告不含任何容。
“
Report Design Analysis
”可生成
3
个拥塞表
:
•
Placer Final Congestion Reporting
•
“
Router Initial Congestion
”报告
•
“
SLR Net Crossing
”报告
“
Maximum Congestion
”报告
这些表格用于报告特定方向上发现的具有相同最大拥塞等级的所有窗口。其中各列具体定义如下
:
• “
Direction
”
(
方向
):
发生拥塞的资源的方向
,
分为
:
North
(
北
)
、
South
(
南
)
、
West
(
西
)
或
East (东
)
。
• “
Congestion Level
”
(
拥塞等级
):
CLB
拼块中的最大拥塞等级。
• “
Congestion
”
(
拥塞
):
指示定义的窗口中估算的布线资源使用率。该值可大于
100%
。
• “
Congestion Window
”
(
拥塞窗口
):
指示针对指定方向存在拥塞的绑定
CLB
拼块。
CLB
坐标对应于窗口的左下角和右上角。
•
Avg LUT Input
:
这是窗口内
LUT
的平均
LUT
输入。
•
COMBINED LUTs %
:
指示窗口内组合
LUT
的百分比。
•
LUT usage %
:
窗口内
LUT
使用率百分比。
•
LUTRAM usage %
:
窗口内
LUTRAM
使用率百分比。
•
Flop usage %
:
窗口内
FD
(
含
LD
)
使用率百分比。
•
MUX usage %
:
窗口内
MUXF
使用率百分比。
•
RAMB usage %
:
窗口内
RAMB
使用率百分比
•
URAM usage %
:
窗口内
URAM
使用率百分比。
•
DSP usage %
:
窗口内
DSP
使用率百分比。
•
CARRY usage %
:
窗口内
CARRY
使用率百分比。
•
SRL usage %
:
窗口内
SRL
使用率百分比。
Placer Final Congestion Reporting
分析设计的“
Placer Final Congestion Reporting
”
(
布局器最终拥塞报告
)
表的“
Congestion
”
(
拥塞
)
和“
TimingQoR”
(
时序
QoR
)
情况时
,
请留意如下信息
:
• 如果
LUT
使用率较高
,
请检验实例的“
Complexity
”
(
复杂性
)
报告中是否存在较高百分比的
LUT6
。
• 如果拥塞区域中
RAMB
或
DSP
使用率较高
,
请检查
Pblock
约束
,
此类约束可能限制报告的模块的可用布局区域。 使用各种针对性的布局指令可缓解拥塞,
例如
,
BlockPlacement
或
SpreadLogic
指令。在某些情况下
,
最好复用来自先前运行的拥塞较低且生成良好“Timing QoR
”的
RAMB
或
DSP
布局。
“
Router Initial Congestion
”报告
仅当已运行布线器时
,
“
Router Initial Congestion
”
(
布线器初始拥塞
)
才可用
,
对于
7
系列
FPGA
,
该报告名为 “Initial Estimated Router Congestion
”
(
初始估算布线器拥塞
)
。它可显示布线早期阶段布线器最初面临的布线拥塞情况。
当拥塞等级不低于
5
时
,
report_design_analysis
会生成拥塞表以提供有关与特定方向和类型内最严重的拥塞相关联的拥塞性质以及区域的详细信息。
• 全局拥塞的估算方式与布局器拥塞相似
,
根据所有互连类型来进行估算。
• 长拥塞只考虑给定方向的长互连使用率。
• 短拥塞则考虑给定方向的所有其他互连使用率。
大于
32x32
(
5
级
)
的所有拥塞区域都可能会影响
QoR
和可布线性。长互连上的拥塞会导致短互连使用率增加
,
从而
导致布线延迟增加。短互连上的拥塞通常会导致运行时间延长
,
如果窗口大小过大
,
则可能导致
QoR
劣化。
分析“
Router Initial Congestion
”表时
,
请注意
:
• 当拥塞等级大于
6
时
,
设计满足时序要求的概率很低
,
且可能在布线期间失败。
• 当拥塞等级为
4
或
5
时
,
请识别位于拥塞区域内的模块。您可对这些模块应用拥塞缓解技巧
,
或者使用其他指令 (例如
,
*SpreadLogic*
)
重新运行布局器。
• 当拥塞等级不超过
3
时
,
拥塞可能不会导致问题
,
除非设计的时序预算非常紧凑。
在上图所示的“
Router Initial Congestion
”示例中
,
报告的区域的拥塞等级不小于
5
。要以更低的拥塞阈值生成拥塞报告,
请使用
-min_congestion_level
开关。默认最低拥塞等级为
5
。该值必须介于
3
到
8
之间。拥塞报告包含如下区域:
设计中给定方向和类型内拥塞达最高等级的区域
,
以及该给定方向和类型内拥塞达最大等级的其他区域(
如果有
)
。这些区域可能存在重叠
,
或者可能存在于器件的不同区域内。
“
SLR Net Crossing
”报告
“
SLR Net Crossing
”
(
SLR
信号线交汇
)
报告仅适用于
SSI
器件
,
可报告跨越
SLR
边界的模块中包含的信号线数量。对于每个模块,
该表可提供有关信号线跨越的
SLR
的进一步详情。下图显示了“
SLR Net Crossing
”报告表示例。
分析设计的“
SLR Net Crossing
”报告表的“
Congestion
”
(
拥塞
)
和“
Timing QoR
”
(
时序
QoR
)
情况时
,
请留意如下信息:
1.
使用
SSI
器件时
,
SSI
布局指令可能有助于解决时序和拥塞。
2.
如果在使用各布局指令执行多轮实现运行期间
,
跨越
SLR
的特定模块持续遇到时序问题
,
请尝试减少使用
Pblock以将模块约束到单一 SLR
。