When static logic in the design has disjointed placement and needs to cross over the RP, you should provide guidance for static placement by using static Pblocks to avoid routing problems. Static Pblocks can be created to prevent static logic from interacting with the RM in the same SLR, resulting in better partitioning. This reduces SLR crossings and can improve the QoR. Moreover, if the static Pblock is defined within the expanded routing footprint of the RP Pblock, it can help in reducing PPLOC.
It is recommended to keep these static Pblocks hard (IS_SOFT = FALSE). Otherwise, the tool might ignore the
Pblock constraint, which would negatively impact routability and timing closure. It is
always recommended to use rectangular Pblocks. Other shapes, such as L or T shapes, are
not recommended because they have more corners and could result in congestion and
unroutability.
The following are the scenarios where static Pblocks are recommended.
Example 1: 4-SLR VP1902 Device with Four RPs
In this example, four static Pblocks (highlighted in yellow) are created to guide the static placement. These static Pblocks cover certain parts of the programmable logic region, along with the processor subsystem (PS), in all four SLRs. These static Pblocks contain static logic that interacts with the RM within the same SLR. This setup can help avoid ineffecient static logic placement and reduce SLR crossings.
Example 2: 4-SLR VP1802 Device with Two RPs
In this example, two static Pblocks (highlighted in yellow) are
created to provide guidance for static placement. These static Pblocks are
positioned near the RP, which helps keep the static logic interacting with the RM
closer. Without static Pblocks, the static logic might be placed far apart,
negatively impacting QoR and routability. Here, the static logic interacting with
RP0 is assigned to static_pblock0, and the static
logic interacting with RP1 is assigned to static_pblock1.
Example 3: 1-SLR VN3716 device with One RP
In this example, two static Pblocks (highlighted in yellow) are created to provide guidance for static placement. The static Pblocks can be created on the left and right sides of the RP for static placement when there is static logic connected to hard blocks such as CPM or gigabit transceivers. While creating these static Pblocks, ensure that the interacting logic is kept together within the static Pblock so that it is not spread between the left and right static Pblocks.