Path Segmentation and Timing Exception - 2023.1 English

Vivado Design Suite User Guide: Using Constraints (UG903)

Document ID
UG903
Release Date
2023-05-16
Version
2023.1 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.