Path Segmentation and Timing Exception - 2023.2 English

Vivado Design Suite User Guide: Using Constraints (UG903)

Document ID
Release Date
2023.2 English

Path segmentation can result in the perception that the priority between the timing exceptions is altered, which is actually not the case.

There can be a difference on whether a set_max_delay constraint is superseded by a set_clock_groups constraint. Consider the following two scenarios.

Scenario 1

set_max_delay <ns> -datapath_only -from <instance> -to <instance>

In this scenario, instance names are provided for -from/-to. The set_max_delay constraint is always overridden by set_clock_groups -asynchronous, because Vivado always selects valid startpoints when an instance is provided.

Scenario 2

set_max_delay <ns> -datapath_only -from <pin> -to <pin | instance>

In this scenario, if the pin name provided with -from results in path segmentation, then that particular set_max_delay constraint is not overriden by set_clock_groups -asynchronous. The reason behind is that the path segmentation forces the path starting on the pin name to no longer being considered launched by the first clock domain. As a result, this path is no longer covered by the set_clock_groups constraints and the set_max_delay constraint get applied.