Clock Root Selection - Clock Root Selection - 2.3 English - XAPP1335

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

Document_ID
XAPP1335
Release_Date
2026-08-04
Revision
2.3 English

The selected clock root must be able to horizontally expand to the load placement region without going out of the Isolated Pblock. You can use Tcl command to set Clock Root. The example command is as follows:

set_property USER_CLOCK_ROOT XxYy [get_nets <clock net name>]

Consider the following example floorplan, where square boxes represent clock regions and the green color block represents an isolated Pblock. The right most column must be selected as the CLOCK_ROOT column when a local clock net, under the isolated module, and the loads of the clock net can be placed everywhere within the isolated Pblock.

Figure 1. Isolated Pblock with Valid CLOCK_ROOT Selected

The results of not selecting the right-most column as CLOCK_ROOT are displayed in the following figure. In this example, the left-most column is selected as CLOCK_ROOT. The result does not adversely affect other clock loads, but the clock loads shown in the left diagram and circled in blue will be un-routable due to routing containment constraints. Routing nodes in blue dash line, shown in the right diagram, are required to route the loads in circles. However, those nodes are outside the containment region. The result creates un-routable nets or an error message is seen as: clock net does not honor routing exclusion requirement due to routing nodes.

Figure 2. Isolated Pblock with Invalid CLOCK_ROOT Selected

If the right-most column, or CLOCK_ROOT, must be avoided and the route must pass above the clock net, use the nested Pblock under the Isolated Pblock to confine clock load placement to all the available columns. Reference the following figure for more information.

The following figure displays where the created nested Pblock (shown in green) is under the isolated Pblock to make sure all the clock loads are placed within the columns that are available for CLOCK_ROOT. In this case, this is the bottom three clock region rows.

Figure 3. Nested Pblock Within Isolated Pblock for CLOCK_ROOT Selection

Note: Support for the auto CLOCK_ROOT selection is available in the DFX only flow.