I am using a Xilinx Kintex-7 325T FPGA to interface to 8 channels on an AFE5808A chip. The AFE input clock frequency is 40 MHz and I am using 14-bit output.
On page 22 of the AFE datasheet, the minimum Setup Time is 0.55 ns and the minimum Hold Time is 0.61 ns. This means the data window is only 1.16 ns, which leaves very little margin for board routing and FPGA timing. In fact, assuming that clock/data trace lengths are perfectly matched and we have zero clock jitter, the FPGA timing analysis for the fastest speed grade (-3) shows that the worst case data window at the Input DDR flip-flop is 1.201 ns, which exceeds the 1.16 ns window. So even after using IDELAYs to shift the 8 channels' data to get the bit clock to center-sample the data, there are some channels where I end up with timing errors on the order of a few tens of picoseconds.
Do you have any comments or suggestions on what can be done to meet such a tight timing spec? Rather than use the minimum Setup/Hold times, would you recommend using the "typical" values instead?