显示特定 Pblock 的使用率 - 2023.2 简体中文

Vivado Design Suite 用户指南: 设计分析与收敛技巧 (UG906)

Document ID
UG906
Release Date
2023-10-19
Version
2023.2 简体中文

选择 -pblocks 选项时,使用率报告反映的是指定 Pblock 的规格。仅允许指定一个父级 Pblock。可用资源可反映父级 Pblock 范围,且使用的资源细分为父级 Pblock、子级 Pblock 和未分配的 Pblock。此细分允许您对指定父级 Pblock 资源的竞争要求进行评估。仅支持在 Tcl 模式下使用这些命令行选项。

-pblocks {Pblock}
-exclude_child_pblocks
-exclude_non_assigned

指定这些选项时,报告中会包含另两个与指定 Pblock 相关的表格。在汇总信息中会打印与父级 Pblock 和任意子级 Pblock 相关的属性以及有关其 SLR 布局的部分信息。在第二个表格中会打印时钟区域统计数据。

图 1. Pblock 汇总报告

布局前和布局后的使用率数值因 LUT 组合以及未分配单元(布局前无法考量)而异。

使用 -pblocks 时,使用率表包含以下如下列:

Parent(父级)
仅分配到父级 Pblock。
Child(子级)
仅分配到子级 Pblock。
Non-Assigned(未分配)
表示在指定 Pblock 定义的区域中已使用,但未分配至指定 Pblock 或其子级 Pblock 的资源总量。
Used(已用)
指定 Pblock 定义的区域内已用资源总量
Fixed(固定)
指定 Pblock 已定义区域内 LOC 约束已固定的资源总量
Prohibited(禁止)
已定义的区域内由于 PROHIBIT 约束而导致禁止使用的资源。
Available(可用)
指定 Pblock 定义的区域内可用的资源总量。
Util%(使用率)
Used/Available

以下示例有助于您更全面理解此报告。下图显示了设计示例层级。

图 2. 设计示例层级

下图显示了 Pblock 矩形。每个 Pblock 内来自布线后网表的资源都会高亮显示。

图 3. 设计 Pblock

在此示例中:

  • pblock_usbEngine1 Pblock 不含任何子级 Pblock。
  • pblock_fftEngine Pblock 含 1 个子级 Pblock:pblock_usbEngine0
  • pblock_cpuEngine Pblock 与 pblock_fftEngine 重叠。

要生成整个设计的报告,请运行 report_utilization(不含任何选项)。

图 4. 顶层使用率报告

要生成 pblock_usbEngine1 Pblock 的报告,请使用以下命令:

report_utilization -pblocks pblock_usbEngine1
图 5. Pblock pblock_usbEngine1 的使用率报告

要生成 pblock_fftEngine Pblock 的报告,请使用以下命令。在此例中,嵌套的子级 Pblock pblock_usbEngine0 资源已计入已用资源总量。

注释: 如果将属性 EXCLUDE_PLACEMENT 应用于子级 Pblock,那么子级资源将与父级 Pblock(包括UsedAvailable)隔离。

重叠的 Pblock pblock_cpuEngine 中部分单元布局在 pblock_fftEngine Pblock 范围内,并作为外部资源报告为Non-Assigned(未分配)。

report_utilization -pblocks pblock_fftEngine
图 6. 含嵌套和重叠子级 Pblock 的父级 Pblock

要排除部分 Pblock 或未分配资源,请使用 -exclude_child_pblocks-exclude_non_assigned 开关。以下示例显示报告中已移除Non-Assigned列。

report_utilization -pblocks [get_pblocks pblock_fftEngine] -exclude_non_assigned
图 7. 不含未分配资源的使用率报告

下表描述了各种场景的报告内容。

表 1. 含 Pblock 分配的报告表
大小写 标题 描述 报告
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