RLOCS - 2023.2 English

Vivado Design Suite Properties Reference Guide (UG912)

Document ID
Release Date
2023.2 English

RLOCS is a read-only property that is assigned to an XDC macro object that is created by the create_macro Tcl command in the Vivado Design Suite. The RLOCS property is assigned to the macro when it is updated with the update_macro comand. Refer to the Vivado Design Suite Tcl Command Reference Guide (UG835) for more information on these commands.

Like relatively placed macros (RPMs), XDC macros enable relative placement of groups of cells. Macros are similar to RPMs in many ways, yet also have significant differences:

  • RPMs are defined in the RTL source files by a combination of the RLOC property and the H_SET, HU_SET, or U_SET property.
  • RPMs cannot be edited in the post-synthesis design.
  • Macros are created from leaf cells that are grouped together with relative placement, after synthesis, and can be edited.
  • RPMs cannot be automatically converted to macros.
  • RPMs are not design objects, and the XDC macro commands cannot be used on RPMs.

The RLOCS property reflects the relative placement values specified by the update_macro command, as represented by the rlocs argument:

"cell0 rloc0 cell1 rloc1 … cellN rlocN"

You can use update_macro command to change the RLOCS property assigned to an XDC macro object.

The RLOCS property is converted to an RLOC property on each of the individual cells that are part of the XDC macro. The RLOC property then functions in the same way it does for an RPM, by defining the relative placement of cells in the macro.

Architecture Support
All architectures.
Applicable Objects
Cells (get_cells)
Cell1 RLOC1 Cell2 RLOC2 Cell3 RLOC3...: The name of a cell in the macro paired with the relative location of the cell in the macro, defined for each cell in the macro.


Verilog Syntax

Not applicable

VHDL Syntax

Not applicable

XDC Syntax

The RLOCS property is indirectly defined when an XDC macro is created and populated with cells and relative locations:

XDC Example

create_macro macro1
update_macro macro1 {u1/sr3 X0Y0 u1/sr4 X1Y0 u1/sr5 X0Y1} 
report_property -all [get_macros macro1]
Property	Type	Read-only	Visible	Value
ABSOLUTE_GRID	bool	true	true	0
CLASS	string	true	true	macro
NAME	string	true	true	macro1
RLOCS	string*	true	true	u1/sr3 X0Y0 u1/sr4 X1Y0 u1/sr5

Affected Steps

  • Logical to Physical Mapping
  • Synthesis
  • Place Design