add_cells_to_pblock - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

Add cells to a Pblock


add_cells_to_pblock [‑top] [‑add_primitives] [‑clear_locs] [‑quiet]
    [‑verbose] <pblock> [<cells>...]


Name Description
[-top] Add the top level instance; This option can't be used with -cells, or -add_primitives options. You must specify either -cells or -top option.
[-add_primitives] Assign to the pblock only primitive cells from the specified list of cells.
[-clear_locs] Clear instance location constraints
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<pblock> Pblock to add cells to
[<cells>] Cells to add. You can't use this option with -top option. You must specify either -cells or -top option.


Floorplan, XDC


Adds specified logic instances to a Pblock in an open implemented design. Once cells have been added to a Pblock, you can place the Pblocks onto the fabric of the FPGA using the resize_pblock command. The resize_pblock command can also be used to manually move and resize Pblocks.

You can remove instances from the Pblock using the remove_cells_from_pblock command.


-top - (Optional) Add the top level instance to create a Pblock for the whole design. You must either specify <cells> or the -top option to add objects to the Pblock.

-add_primitives - (Optional) Assign all primitives of the specified instances to a Pblock. This lets you select all cells in a hierarchical module, and assign only the leaf-cells of the selected cells to the specified Pblock.

Note: This option cannot be used with -top.

-clear_locs - (Optional) Clear instance location constraints for any cells that are already placed. This allows you to reset the LOC constraint for cells when defining new Pblocks for floorplanning purposes. When this option is not specified, any instances with assigned placement will not be unplaced as they are added to the Pblock.

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<pblock> - The name assigned to the Pblock.

<cells> - One or more cell objects to add to the specified Pblock.

Note: If -top is specified, you cannot specify <cells>.


The following example creates a Pblock called pb_cpuEngine, and then adds only the leaf-cells found in the cpuEngine module, clearing placement constraints for placed instances:

create_pblock pb_cpuEngine
add_cells_to_pblock pb_cpuEngine [get_cells cpuEngine/*] \
   -add_primitives -clear_locs