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

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

Document ID
UG1388
Release Date
2024-12-18
Version
2024.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: High priority can only be set on an entire clock group, and only one level of high priority is supported.

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