Syntax of the set_bus_skew Command - Syntax of the set_bus_skew Command - 2026.1 English - UG903

Vivado Design Suite User Guide: Using Constraints (UG903)

Document ID
UG903
Release Date
2026-07-01
Version
2026.1 English

The syntax of the set_bus_skew command with the basic options is:

set_bus_skew [-from <args>] [-to <args>] [-through <args>] <value>

The list of objects for the -from option must be a collection of valid startpoints. A valid startpoint for set_bus_skew is the clock pin of a sequential element, such as a register or RAM, or the sequential cell itself. Input and inout ports are not supported as startpoints.

The list of nodes for the -to option must be a collection of valid endpoints. A valid endpoint for set_bus_skew is the data pin of a sequential cell or the cell itself. Output and inout ports are not supported as endpoints.

The list of nodes for the -through options must be a list of valid pins or nets.

Note: Both the -from and -to options are required when specifying a bus skew constraint.
Note: AMD recommends applying a bus skew constraint only to paths with a fanout of one, meaning a single load. Additionally, each bus skew constraint needs to include at least two startpoints and two endpoints.

The bus skew value must be both realistic and reasonable. AMD recommends using a value that is larger than half the minimum period of the source and destination clocks. The appropriate value for bus skew also depends on the clock domain crossing (CDC) topology, as demonstrated by the following examples.