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.
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.
The following figure shows the Pblock rectangles, along with post-route netlist resource highlights inside each Pblock.
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.
report_utilization
Run the following command to generate a report for the pblock_usbEngine1 Pblock:
report_utilization -pblocks pblock_usbEngine1
pblock_fftEngine Pblock:
report_utilization -pblocks pblock_fftEngine
pblock_usbEngine0 are included
in the Used column.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.
-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
The following table describes how the report_utilization command behaves under different Pblock scenarios.
| 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:
|
No EXCLUDE_PLACEMENT property on child Pblock |
|
EXCLUDE_PLACEMENT
property is set on the child Pblock. Reported area corresponds to parent
Pblock ranges minus child Pblock ranges. |
|
||
| 3 | Report on overlapping Pblocks |
|
|