选择 -pblocks
选项时,使用率报告反映的是指定 Pblock 的规格。仅允许指定一个父级 Pblock。可用资源可反映父级 Pblock 范围,且使用的资源细分为父级 Pblock、子级 Pblock 和未分配的 Pblock。此细分允许您对指定父级 Pblock 资源的竞争要求进行评估。仅支持在 Tcl 模式下使用这些命令行选项。
-pblocks {Pblock}
-exclude_child_pblocks
-exclude_non_assigned
指定这些选项时,报告中会包含另两个与指定 Pblock 相关的表格。在汇总信息中会打印与父级 Pblock 和任意子级 Pblock 相关的属性以及有关其 SLR 布局的部分信息。在第二个表格中会打印时钟区域统计数据。
布局前和布局后的使用率数值因 LUT 组合以及未分配单元(布局前无法考量)而异。
使用 -pblocks
时,使用率表包含以下如下列:
- Parent(父级)
- 仅分配到父级 Pblock。
- Child(子级)
- 仅分配到子级 Pblock。
- Non-Assigned(未分配)
- 表示在指定 Pblock 定义的区域中已使用,但未分配至指定 Pblock 或其子级 Pblock 的资源总量。
- Used(已用)
- 指定 Pblock 定义的区域内已用资源总量
- Fixed(固定)
- 指定 Pblock 已定义区域内 LOC 约束已固定的资源总量
- Prohibited(禁止)
- 已定义的区域内由于 PROHIBIT 约束而导致禁止使用的资源。
- Available(可用)
- 指定 Pblock 定义的区域内可用的资源总量。
- Util%(使用率)
- Used/Available
以下示例有助于您更全面理解此报告。下图显示了设计示例层级。
下图显示了 Pblock 矩形。每个 Pblock 内来自布线后网表的资源都会高亮显示。
在此示例中:
- pblock_usbEngine1 Pblock 不含任何子级 Pblock。
- pblock_fftEngine Pblock 含 1 个子级 Pblock:pblock_usbEngine0。
- pblock_cpuEngine Pblock 与 pblock_fftEngine 重叠。
要生成整个设计的报告,请运行 report_utilization
(不含任何选项)。
要生成 pblock_usbEngine1 Pblock 的报告,请使用以下命令:
report_utilization -pblocks pblock_usbEngine1
要生成 pblock_fftEngine Pblock 的报告,请使用以下命令。在此例中,嵌套的子级 Pblock pblock_usbEngine0 资源已计入已用资源总量。
重叠的 Pblock pblock_cpuEngine 中部分单元布局在 pblock_fftEngine Pblock 范围内,并作为外部资源报告为Non-Assigned(未分配)。
report_utilization -pblocks pblock_fftEngine
要排除部分 Pblock 或未分配资源,请使用 -exclude_child_pblocks
或 -exclude_non_assigned
开关。以下示例显示报告中已移除Non-Assigned列。
report_utilization -pblocks [get_pblocks pblock_fftEngine] -exclude_non_assigned
下表描述了各种场景的报告内容。
大小写 | 标题 | 描述 | 报告 |
---|---|---|---|
1 | 整个器件报告(根 Pblock):report_utilization
|
EXCLUDE_PLACEMENT 对使用率报告无影响。 | Util%:Used/Available。 |
2 |
父级 Pblock 报告:report_utilization -pblocks
<parentPblockName>
|
子级 Pblock 嵌套在父级 Pblock 内。针对子级 Pblock 未指定 EXCLUDE_PLACEMENT 属性。 |
Non-Assigned(未分配):父级 Pblock 边界内已布局但未分配给父级或子级 Pblock 的单元总数。 Fixed(固定):父级 Pblock 边界内已固定的单元总数。 Used:父级 Pblock 边界内已布局的Parent+Child+Non-Assigned单元数量。 Available(可用):父级 Pblock 边界内物理资源总数。 Util%:Used/Available。 |
子级 Pblock 嵌套在父级 Pblock 内。针对子级 Pblock 已指定 EXCLUDE_PLACEMENT 属性。已报告的区域对应于父级 Pblock 范围减去子级 Pblock 范围。 |
Non-Assigned(未分配):报告区域内已布局但未分配给父级 Pblock 和子级 Pblock 的单元总数。 Fixed(固定):报告区域内已固定的单元总数。 Used(已用):父级 Pblock 单元数(不包括子级 Pblock 单元数)。 Available(可用):报告区域内物理资源总数。 Util%:Used/Available。 |
||
3 | 报告重叠 Pblock | 类似于默认 Pblock 报告,但Available变为已报告的 Pblock 的并集。忽略 EXCLUDE_PLACEMENT 属性。 |
Available:Pblock 物理资源的并集。 Util%:Used/Available。 |