Use set_max_delay to constrain asynchronous
signals that lack a clock relationship but require a maximum delay. For example, disable
timing between asynchronous clock domains with set_clock_groups
(recommended) or set_false_path (not recommended), assuming proper CDC
design like double-register synchronizers or FIFOs. Continue to keep path delays between
the domains within a reasonable bound.
set_bus_skew, also bound the path delay between domains. Replace
set_false_path or set_clock_groups on the relevant
paths in the source XDC
with:set_max_delay -datapath_only <delay> -from <startpoints> -to <endpoints>
Refer to CDC Constraints for CDC guidance.
If you need a maximum delay on some or all paths between two clock domains, use
set_max_delay -datapath_only on those paths. Do not use
set_clock_groups to mark the domains asynchronous in that case,
because it overrides set_max_delay by priority. Constrain remaining
cross-domain paths with set_false_path and/or additional
set_max_delay constraints.
set_max_delay <delay> -datapath_only \
-from <startpoints_source_clock_domain> \
-to <endpoints_destination_clock_domain>