Show Utilization for Specific Pblocks - 2025.2 English - UG906

Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906)

Document ID
UG906
Release Date
2025-12-10
Version
2025.2 English

When you use the -pblocks option, the utilization report shows details for the specified Pblock. You can specify only one parent Pblock. The report lists available resources based on the parent Pblock range and splits used resources into parent Pblock, child Pblocks, and non-assigned logic. This breakdown helps you evaluate how logic competes for resources within the parent Pblock.

The following options are available only in Tcl mode:

-pblocks {Pblock}
-exclude_child_pblocks
-exclude_non_assigned

When you include these options, the report adds two extra tables:

  • The first table summarizes the parent and child Pblock properties, including SLR placement details.
  • The second table shows clock region statistics for the specified Pblock.
Figure 1. Report Summary with Pblocks

The pre-placement and post-placement utilization numbers can differ due to LUT combining and non-assigned cells that are not accounted for before placement.

When you use the -pblocks option, the utilization tables includes the following columns:

Parent
Resources assigned only to the specified parent Pblock
Child
Resources assigned only to child Pblocks of the specified parent
Non-Assigned
Resources used within the specified Pblock area but not assigned to the parent or any child Pblocks
Used
Total resources used in the specified Pblock area
Fixed
Total resources fixed by LOC constraints in the area defined by the specified Pblocks
Prohibited
Resources in the specified area that are blocked from use due to PROHIBIT constraints
Available
Total resources available in the specified Pblock area
Util%
Ratio of Used to Available

The following example illustrates how to interpret these columns using a sample design hierarchy.

Figure 2. Example Design Hierarchy

The following figure shows the Pblock rectangles, along with post-route netlist resource highlights inside each Pblock.

Figure 3. Design Pblocks

In this example, observe the following:

  • The pblock_usbEngine1 Pblock does not have a child Pblock.
  • The pblock_fftEngine Pblock contains a child Pblock named pblock_usbEngine0.
  • The pblock_cpuEngine Pblock overlaps with pblock_fftEngine.
Use the following command to generate a report for the entire design:
report_utilization
Figure 4. Top-Level Utilization Report

Run the following command to generate a report for the pblock_usbEngine1 Pblock:

report_utilization -pblocks pblock_usbEngine1
Figure 5. Utilization Report for Pblock pblock_usbEngine1

Run the following command to generate a report for the pblock_fftEngine Pblock:
report_utilization -pblocks pblock_fftEngine
Note: In this case, resources assigned to the nested child Pblock pblock_usbEngine0 are included in the Used column.
Note: If the EXCLUDE_PLACEMENT property is applied to the child Pblock, its resources are excluded from the parent Pblock in both the Used and Available columns.

The overlapping Pblock pblock_cpuEngine has partial cells placed in the range of pblock_fftEngine. These are reported as Non-Assigned because they come from an external source.

Figure 6. Parent Pblock with Nested and Overlapping Child Pblocks

To exclude specific Pblocks or non-assigned resources from the report, use the -exclude_child_pblocks or -exclude_non_assigned switch. The following command removes the Non-Assigned column from the report:
report_utilization -pblocks [get_pblocks pblock_fftEngine] -exclude_non_assigned
Figure 7. Utilization Report Excluding the Non-Assigned Resources

The following table describes how the report_utilization command behaves under different Pblock scenarios.

Table 1. Table Report with Pblock Assignments
Case Title Description Report
1 Report on the entire device (ROOT Pblock): report_utilization EXCLUDE_PLACEMENT has no effect on the utilization report. Util% is calculated as: Used/Available.

2

Report on the parent Pblock:
report_utilization -pblocks <parentPblockName>
No EXCLUDE_PLACEMENT property on child Pblock
Non-Assigned
Total cells placed within the parent Pblock bounds but not assigned to the parent or its child Pblocks
Fixed
Total cells fixed within the parent Pblock bounds
Used
Sum of parent, child, and non-assigned cells placed within the parent Pblock bounds
Available
Total physical resources within the parent Pblock bounds
Util%
Used/Available
EXCLUDE_PLACEMENT property is set on the child Pblock. Reported area corresponds to parent Pblock ranges minus child Pblock ranges.
Non-Assigned
Total cells placed within the reported area but not assigned to the parent or child Pblocks
Fixed
Total cells fixed within the reported area
Used
Only cells assigned to the parent Pblock (child Pblock cells are excluded)
Available
Physical resources in the reported area (parent minus child)
Util%
Used/Available
3 Report on overlapping Pblocks
  • Similar to the default Pblock report, except Available becomes the union of the reported Pblocks.
  • EXCLUDE_PLACEMENT is ignored.
Available
Union of the physical resources covered by the overlapping Pblocks
Util%
Used/Available