USER_CLUSTER - 2023.2 English

Vivado Design Suite Properties Reference Guide (UG912)

Document ID
Release Date
2023.2 English

To group and place certain instances or design elements as closely as possible, you can use the USER_CLUSTER property to specify the placement of grouped cells. This allows you to manage logic partitioning as well as the behavior of the AMD Vivado™ placer. You can specify the USER_CLUSTER property on a set of hierarchical instances to form a soft cluster that is taken into account during the SLR partitioning and partition-driven placer phases.

The USER_CLUSTER property lets you specify the placement of the cells grouped together. The property has only one form, that is, it takes the <group_name> of the groups cells that must be place together.

When using this property, analyze the design and find the specific instances involved in the top failing path. Check if the placement of the logic in the specific failing instance is spread out.

Important: This property is considered as a guideline, in which the placer attempts to follow, but can be overridden to achieve a valid placement result.

To manage placement across SLRs, start with USER_SLR_ASSIGNMENT to assign logic to an SLR or group. Add USER_CLUSTER to control the grouping of logic/instances in SLR.

Architecture Support
All architectures.
Applicable Objects
Cells (get_cells) as hierarchical modules.
group_name: This is a unique string value that can be assigned to one or more hierarchical cells or modules. The placer will try to place the cells or module with a common group_name as close as possible.


Verilog and VHDL Syntax
Not Applicable
XDC Syntax
set_property USER_CLUSTER <group_name> <objects>
XDC Example
set_property USER_CLUSTER uc_group_1 [get_cells <instance_name>]
The placer tries to place all cells in the specified instance as close as possible, that is, with minimal spreading.

Affected Steps

  • Place Design