The CONTAIN_ROUTING property restricts the routing of signals contained within a Pblock to use routing resources within the area defined by the Pblock. This prevents signals inside the Pblock from being routed outside the Pblock, and increases the reusability of the design.
By default the definition of a Pblock restricts the placement of logic assigned to the Pblock to within the area defined by the Pblock. This property has the same effect for routing. The CONTAIN_ROUTING property is specific to a Pblock and must come after the create_pblock commands in an XDC file.
TIP: The use of CONTAIN_ROUTING is highly recommended on all Pblocks associated with an OOC module in the Hierarchical Design flow. Refer to the Vivado Design Suite User Guide: Hierarchical Design (UG905) [Ref 21] for more information.
Only signals that are entirely owned by the Pblock cells will be contained within the Pblock. For example, if no BUFGMUX resources are found within the Pblock, paths from or to a BUFGMUX cannot be contained.
Architecture Support
All architectures.
Applicable Objects
•PBlocks (get_pblocks)
Values
•TRUE: Contain the routing of signals inside a Pblock to the area defined by the Pblock range.
•FALSE: Do not contain the routing of signals inside the Pblock. This is the default.
Syntax
Verilog and VHDL Syntax
Not applicable
XDC Syntax
set_property CONTAIN_ROUTING <TRUE | FALSE> [get_pblocks <pblock_name>]
Where:
•<pblock_name> specifies the PBlock or PBlocks to apply the property to.
XDC Example
set_property CONTAIN_ROUTING true [get_pblocks pblock_usbEngine0]
set_property CONTAIN_ROUTING true [get_pblocks pblock_usbEngine1]
Affected Steps
•Routing
See Also