We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 59964

Vivado Hierarchical Design PR - Advanced usage of the SNAPPING_MODE property for Partial Reconfiguration


How do I use the SNAPPING_MODE property for Partial Reconfiguration?


7 series:

For 7 series devices, the SNAPPING_MODE property can be applied to Reconfigurable Partition (RP) Pblocks to have them automatically adjusted to meet Partial Reconfiguration floorplan requirements.

Pblock widths will be pulled narrower where required to land on legal boundaries. 

Pblock heights will be pulled in or pushed out depending on the value of RESET_AFTER_RECONFIG. 

There are several values of SNAPPING_MODE available for 7 series, and these values are described in the Partial Reconfiguration User Guide (UG909).



For UltraScale, SNAPPING_MODE and RESET_AFTER_RECONFIG are automatically set, and should not be modified.

SNAPPING_MODE can behave differently depending on the type of resources added to the Pblock (IOB, Laguna, etc).


To view the actual sites owned by a Pblock with SNAPPING_MODE, open the design in the GUI and do the following:

  1. Ensure that the hierarchical cell assigned to the Pblock has HD.RECONFIGURABLE set to 1.
  2. Verify SNAPPING_MODE is turned on.
  3. Select the Pblock and note the light grey shaded areas. 
    This shaded region shows the tiles owned by the RP Pblock.

For even more visual confirmation of what the Pblock owns, set the param hd.visual to 1 and source the <Pblock_name>_AllTiles.tcl script:

set_param hd.visual 1

Make a small change to the Pblock to generate the hd_visual scripts (You can adjust an edge, and then do Ctrl-z to undo the change)

source ./hd_visual/<Pblock>_AllTiles.tcl 

The Pblock can also be resized to the DERIVED_RANGES calculated by the tools. 

resize_pblock [get_pblocks <pblock_name>] -add [get_property DERIVED_RANGES [get_pblocks <pblock_name>]] -replace

AR# 59964
Date Created 03/26/2014
Last Updated 03/26/2015
Status Active
Type General Article
  • Vivado Design Suite - 2014.4
  • Vivado Design Suite - 2014.3
  • Vivado Design Suite - 2014.2
  • Vivado Design Suite - 2014.1