update_macro - 2023.2 English

Vivado Design Suite User Guide: Using Constraints (UG903)

Document ID
Release Date
2023.2 English

The update_macro command adds leaf cells and relative placements (RLOCs) to the macro.

The RLOC has identical syntax and functionality as the RPM RLOC attribute. All cells must be specified at once. No partial or incremental definition is allowed.

update_macro Syntax

update_macro [-absolute_grid] <macro name> <cell-RLOC list>


  • -absolute_grid: A switch to choose the Absolute Grid for mixing slice and non-slice sites.
    • The X-Y values are the site properties RPM_X and RPM_Y.
    • The Absolute Grid values are identical to those of RPM_GRID.
  • macro name: The name of the macro to be updated.
  • cell-RLOC list: A Tcl list of cells and RLOC pairs:
    {cell0 RLOC(cell0) cell1 RLOC(cell1) - cellN RLOC(cellN)}.
    • All macro cells and RLOCs must be specified at once. It is not possible to build a macro in steps.
    • If you need to update an existing macro, recreate it first.

update_macro Example One

update_macro m1 {u2/sr0 X0Y0 u2/sr1 X0Y1}
  • Adds u2/sr0 and u2/sr1 to macro m1
  • Assigns u2/sr0 an RLOC of X0Y0
  • Assigns u2/sr1 an RLOC of X0Y1

The following (update_macro Example Two) does the same, with slightly different syntax.

update_macro Example Two

set rlocs [list u2/sr0 X0Y0 u2/sr1 X0Y1] 
update_macro m1 $rlocs

update_macro Example Three

This example uses the absolute grid:

set rlocs {ireg X2Y38 q1reg X17Y40 q2reg X17Y40} 
update_macro -absolute_grid m2 $rlocs