XDC Macros - 2023.1 English

Vivado Design Suite User Guide: Using Constraints (UG903)

Document ID
Release Date
2023.1 English

XDC macros enable assignment of relative placement to cells after synthesis. Macros have many characteristics similar to RPMs, but are design objects that can be modified interactively using XDC and Tcl. Macros are created from leaf cells that are grouped together with relative placement constraints.

While RPMs are managed in HDL code, macros are managed using XDC constraints. RPMs cannot be automatically converted to macros. Similarly, macros cannot be automatically annotated to HDL code. Unlike macros, RPMs are not objects, and the XDC macro commands cannot be used on RPMs.

Table 1. Differences between RPMs and Macros
RPMs Macros
Definition HDL Attributes XDC constraints
Post-Synthesis Access Read-only Read-write
Hierarchical Yes (H_SET/HU_SET) No
RLOC Targets Non-leaf and leaf cells Leaf cells only
Site Type Mixing Allowed Yes, using RPM_GRID attribute

Yes, using

update_macro -absolute_grid
Accessible as objects No Yes
Where stored In netlist In XDC or Tcl scripts