Prioritize Critical Logic Using the group_path Command - 2025.2 English - UG1388

Versal Adaptive SoC System Integration and Validation Methodology Guide (UG1388)

Document ID
UG1388
Release Date
2025-12-17
Version
2025.2 English

You can use the group_path command with the -weight 2 option to give higher priority to the path endpoints defined in a clock group. For example, to assign a higher priority to group of logic clocked by a specific clock, use the following command:

group_path -name [get_clocks clock] -weight 2
In this example, the implementation tools give higher priority to the paths that belong to clock group clock with a weight of 2 over other paths in the design.
Note: You can only set a high priority on an entire clock group, and only one level of high priority is supported. To determine the priority level of a clock, check the WEIGHT property on the clock object. Clocks with normal priority have a WEIGHT value of 1, and clocks with high priority have a WEIGHT value of 2.

High priority path groups are treated with the highest priority in the placer and router during timing optimization. During phys_opt_design, high priority path groups are prioritized during the Critical Path Optimization phase.

When using the -weight option, consider the following:

  • Carefully choose which path groups to apply high priority to, because this approach might degrade other clocks that are near critical.
    Note: It is easier to control the impact of the high priority path group when applied to smaller clock domains. AMD recommends reserving high priority for high frequency clocks.
  • This option is not recommended for use on:
    • Highly-congested designs because timing optimization can further degrade congestion
    • Clocks driving modules with high netlist complexity, with high Rent exponent (above 0.65)
    • Clocks that have high hold timing violations

For more information on the group_path command, see group_path in the Vivado Design Suite Tcl Command Reference Guide (UG835).