Help with constraining source synchronous and system synchronous combination
Hello,
I have the following system that is sadly not modifiable anymore :
The pin names are the same as the 'signal' names. So what we have is an FPGA that is clocked by the REF_CLK, which goes through a PLL but keeps the same frequency as the input. This PLL output clock is the FPGA's system clock and it is also output to the CPLD which in turn uses it to clock in data from the FPGA. The CPLD then pushes the data out to the DAC where the data is clocked by the REF_CLK_2X.
REF_CLK and REF_CLK_2X both come from the same PLL, 0 phase difference at the PLL and REF_CLK_2X's frequency is twice of the REF_CLK.
I have trouble trying to constrain this design because I can constrain the io_1 in relation to the clk_1 from the FPGA side, making sure that the data transfer between the FPGA and CPLD respects the timing. However, how do I "create the clock" clk_1 going to the CPLD so that it is still related to the REF_CLK and REF_CLK_2X? I can't just use a simple create clock for clk_1 input of the CPLD because that will imply that clk_1 and REF_CLK have 0 phase offset, which is not true and that will make the output to the DAC's constraints false too.
Can anybody help me with this?
Thank you.