In UltraScale and UltraScale+ devices, there is no RESET_AFTER_RECONFIG
option. Instead, GSR is
always issued at the end of a partial reconfiguration, and there are no Pblock
size/shape requirements to enable this like there are in 7 series devices. However, to ensure that the Pblock does not
violate any rules for minimum PU sizes, the SNAPPING_MODE
property is
also always on by default, and automatically adjusts the Pblock to make sure it is valid
for PR.
Automatic Adjustments for PU on Pblocks and Automatic Adjustments for PU on Pblocks below give
an example of how SNAPPING_MODE
adjusts the Pblock for
PU alignment. In Automatic Adjustments for PU on Pblocks, despite the larger outer rectangle, only the selected tiles belong
to the RP Pblock. The upper block RAM and DSP sites are not included
because they are not fully contained in the Pblock, and the associated CLB sites are not
included either, based on the PU rules. There are also CLB sites on both the left and
right edge that are not included in the Pblock because the adjacent CLBs are not owned
by the original rectangle.
While SNAPPING_MODE
made the above Pblock legal for the RP, it is possible that the intent was to include all of these sites. By making a small adjustment to the original Pblock rectangle, you can prevent SNAPPING_MODE
from removing sites that are intended for the dynamic region. In Automatic Adjustments for PU on Pblocks the Pblock has been expanded by one CLB on the left, right, and top edges. The shaded tiles that are owned by the RP Pblock now match the outer rectangle.
While shading shows what is included in a reconfigurable partition (RP), you can best visualize the sites owned by a RP by using highlighting scripts that the Vivado Design Suite tools create automatically for Pblocks of RPs. The following steps can be used for debugging/verifying Pblocks:
- Create or make an adjustment to an RP. The cell assigned to the Pblock must have the
HD.RECONFIGURABLE
property set. - Source the highlighting script that was generated by the Vivado tools.
source ./hd_visual/<pblock_name>_AllTiles.tcl
Note: The scripts in thehd_visual
directory are updated any time the Pblock constraints are processed. This includes opening a design that contains Pblocks and creating or modifying Pblocks in an open design.