In order to ensure that all RX Bitslices start aligned, the RX CLK should be stopped until the RX VTC_RDY signal is asserted. After this, the RXCLK can be started, however it must be started cleanly.
If the RX CLK is toggling during the RX RST or is not clean when it starts after an RX RST, then Bit slipping and channel / word alignment are required on the RX side to ensure alignment across the interface.
Note: this Answer Record should not be viewed in isolation.
For all other known issues and to see what version of Vivado / High Speed SelectIO Wizard these issues have been resolved in, please refer to (Xilinx Answer 64216)
There are two clocking setup options for the RX interface, EDGE / CENTRE DDR and EDGE / CENTRE Strobe / Clock.
When EDGE or CENTRE DDR is selected then the RXPLL is sourced from the RX Strobe/Clock :
More information can be found in XAPP1208:
Similarly, when ASYNC is selected, the same clock is used for the RX PLL and RX Strobe/Clock (though connected differently) and the RX PLL cannot be stopped.
Therefore the user will need to Bitslip and Channel Align the interface.
When EDGE or CENTRE Strobe / Clock is selected, the RX PLL is sourced from a different clock than the Receive Strobe/Clock (highlighted in Red in the diagram below) on the RX side:
With this setup, you can stop the RX Strobe/Clock while the RX side comes out of RST (signified by VTC_RDY asserting) and if the RX Strobe/Clock starts stable then no Bit Slipping or Channel alignment should be required.
Note: If you are using VARIABLE or VAR_LOAD mode, the RX_CLK port on the High Speed SelectIO Wizard is only used for updating the RX delay line, it is not the Receive/Capture CLK.