Relative Grid Macro Examples - Relative Grid Macro Examples - 2026.1 English - UG903

Vivado Design Suite User Guide: Using Constraints (UG903)

Document ID
UG903
Release Date
2026-07-01
Version
2026.1 English

By default, macro RLOC coordinates use the relative grid because most macros contain cells of the same site type.

The following example illustrates relative placement derived from macro RLOCs. The macro consists of a pair of SRL >FF >FF circuits arranged in a 2x2 pattern.

Figure 1. Schematic of Example Circuit

To create the desired relative placement, assign RLOCs to the cells:

srl[0] X0Y0 
regs0[0] X0Y0 
regs1[0] X1Y0 
srl[1] X0Y1 
regs0[1] X0Y1 
regs1[1] X1Y1

Use the following commands to create this macro with the name m0:

create_macro m0
update_macro m0 {srl[0] X0Y0 regs0[0] X0Y0 regs1[0] X1Y0 srl[1] X0Y1 regs0[1] X0Y1 regs1[1] X1Y1}

The placer can automatically place the macro, or you can manually place it as a set. The placement appears as shown in the following figure:

Figure 2. Placement of the Macro Example

The macro contains SRLs based on LUTRAMs, which can only be placed in SLICEM-type slices. This restricts placement to areas where a SLICEL column is to the right of a SLICEM column.

CAUTION:
Too many densely packed slices in proximity can cause congestion, which reduces routability negatively impacts performance.