Constraints on Individual CDC Paths - Constraints on Individual CDC Paths - 2026.1 English - UG1387

Versal Adaptive SoC Hardware, IP, and Platform Development Methodology Guide (UG1387)

Document ID
UG1387
Release Date
2026-07-22
Version
2026.1 English

If a CDC bus uses gray-coding (for example, FIFO) you must use the set_max_delay constraint. If you need to limit latency between two asynchronous clocks on signals, use the set_max_delayconstraint with the -datapath_onlyoption.

This constraint ignores clock skew and jitter on these paths. The set_max_delay constraint overrides the default path requirement with the latency requirement. Use the source clock period for the max delay value. This ensures no more than one data is present on the CDC path at any given time.

When the ratio between clock periods is High, it is beneficial to choose the minimum of the source and destination clock periods. This option helps reduce the transfer latency. A clean asynchronous CDC path must not have any logic between the source and destination sequential cells. The Max Delay Datapath Only constraint is normally easy to meet for the implementation tools.

Some asynchronous CDC paths require a skew control between the bits of the bus instead of a constraint on the bus latency. Using a bus skew constraint prevents the receiving clock domain from latching multiple states of the bus on the same clock edge. You can set the bus skew constraint on the bus with set_bus_skew command. For example, you can apply set_bus_skew to a CDC bus that uses gray-coding instead of using the Max Delay Datapath Only constraint. For more information, refer to this link in the Vivado Design Suite User Guide: Using Constraints (UG903).

For the paths that do not need latency control, you can define a point-to-point false path constraint.