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.
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:
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.