Timing constraints when the clock is recovered from data
Hi,
I have a serial data stream which arrives at a CPLD pin. This data stream feeds a clock recovery entity which contains a PLL with dynamic phase reconfiguration. The output of the clock recovery entity is a clock which is always edge aligned in the middle of the data bit window. This clock is then used to sample the input data at a register. I attempted to illustrate the concept in the attached screenshot.
I assume I need to constrain the maximum skew between the pin-register path and pin-clock recovery logic path, since the skew will eat up the setup and hold margins at the register. I think I also need to constrain the timing at the register input. I am however unsure how...
I tried to set input delays relative to clk_resync directly, since I know that I always have around half of a clock period in setup and hold. But the Timing Analyzer then complains on the path from the pin to the clock recovery logic, because it thinks that the data at the pin is lauched by clk_resync, which I think is not correct. Please advise .
Regards, Julia