Floorplan Rules and Guidance

Isolation Design Flow for Zynq UltraScale+ MPSoCs and UltraScale+ FPGAs (XAPP1335)

Document ID
XAPP1335
Release Date
2023-05-15
Revision
2.2 English

Both isolated modules and reconfigurable partitions require Pblocks to identify resources to contain these respective parts of the design. You may follow requirements for the respective module type as documented in each user guide. The combined IDF+DFX solution adds more design rule checks (DRCs); run these interactively as you build the floorplan and watch for critical warnings as the implementation flow is run.

The most fundamental rule is that the Pblock ranges for any isolated module within a reconfigurable partition be completely contained within the RP Pblock. Standard fence rules apply regardless of where the isolated module Pblock exists. The fence can be either inside or outside of the RP Pblock.

This collection of RMs for the one reconfigurable partition in the design may have different internal floorplans for the isolated regions contained within, but the interface port list must remain consistent, per DFX rules. The two RMs shown in the following figures are legal and no extra guidance is needed to account for the different sizes of isolated modules within RM1 and RM2.

Figure 1. Different Isolation Pblocks within the Reconfigurable Partition
Figure 2. Different Isolation Pblocks within the Reconfigurable Partition

Nested Pblocks inside the isolated Pblocks are supported. Users can use nested Pblocks to meet timing closures. However, nested IDF Pblocks (isolated Pblock inside another isolated Pblock), nested DFX (DFX Pblock inside another DFX Pblock) and DFX Pblock inside the isolated Pblock, are not supported. The nested Pblocks inherit the properties of the parent. For example, IS_SOFT is false for the nested Pblocks. The support to change the properties will be added in future Vivado releases.

One more limitation for the nested Pblocks is that net splitting will fail if the driver or load is in the nested Pblock. The support for this will be added in future Vivado releases.