Automatic Adjustments for PU on Pblocks - 2024.2 English - UG909

Vivado Design Suite User Guide: Dynamic Function eXchange (UG909)

Document ID
UG909
Release Date
2024-12-13
Version
2024.2 English

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.

The following figures provide an example of how SNAPPING_MODE adjusts the Pblock for PU alignment. 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.

Figure 1. SNAPPING_MODE Example - UltraScale

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. 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.

Figure 2. PU Aligned Pblock

While shading shows what is included in a reconfigurable partition (RP), you can best visualize the sites owned by an RP by using the get_dfx_footprint utility. The following steps can be used for debugging/verifying Pblocks:

  1. Create or make an adjustment to an RP. The cell assigned to the Pblock must have the HD.RECONFIGURABLE property set.
  2. Use the get_dfx_footprint utility to see the placement tiles for a given pblock.
    highlight_objects -color <color> [get_dfx_footprint -place -of_objects [get_cells <RP_cell>]]
    
    Note:
    The get_dfx_footprint Tcl utility is available for UltraScale and UltraScale+ devices and is a much more powerful and efficient visualization tool compared to hd_visual scripts. For more information on get_dfx_footprint, see Floorplanning Visualization. Versal has expanded capabilities for DFX as compared to UltraScale and UltraScale+, so the options that are available to UltraScale and UltraScale+ devices are limited to the following:
    • -place: placement footprint of a reconfigurable Pblock
    • -route: routing footprint of a reconfigurable Pblock
    • -illegal_nodes: set of nodes that cannot be used for an RP