The timing engine will find any possible path between related clocks.
Each of the create_clock XDC constraints have equal priority, so the tools do not use one exclusively.
The tools require the user to specify that the clocks are not related.
A. There are three clocks output from one MMCM (Clocks are 1x, 2x, and 4x the original clock frequency).
B. All of the logic in the design is being clocked by the output of the BUFGMUX.
The outputs of this MMCM are connected to two BUFGMUXs so that one of the three clocks can be selected.
C. Only one clock will be selected at a time to clock the designs logic, no true cross-clocking situations will occur.
Use the following command to physically separate the clocks:
set_clock_groups -physically_exclusive -group clk_1x -group clk_2x -group clk_4xGiving this information to Vivado allows the tool to analyze timing correctly.