Altera_Forum
Honored Contributor
10 years agoTransceiver CDR Question
Hi
I want build a design where the FPGA will be receiving 10-bit serial data using one XCVR and a separate clock is provided which corresponds to the 10-bit parallel clock (e.g. 100 MHz clock for 1Gbps serial data stream). So the clock is not embedded in the data stream. However, I need to be able to handle the input data rate changing (e.g. 100 MHz clock with 1Gbps data --> 150 MHz clock with 1.5Gbps data or some other clock & data rate; serialization factor is always 10). Assume FPGA is Cyclone/Arria V. I am new designing with XCVR. Here are my questions: - For the PMA block, assuming I set it up for 10:1 deserialization, what Rx data rate should I set in the XCVR PHY megawizard GUI - is it the max expected data rate? - I plan to connect the slow clock provided along with the data to the "refclk" input of the CDR. Does the CDR PLL automatically readjust its serial clock output (serial clock = 10x of slow clock) when the slow clock input frequency changes? I am wondering if I need a XCVR reconfiguration controller to manipulate the CDR for this situation? - When is XCVR reconfiguration actually needed? - Also, should I use the CDR in LTR (lock-to-refclk) or LTD (lock-to-data) mode for my application where the clock/data rate change? Or simply leave it auto mode? I would have used the LVDS SERDES block but its supported data rate is not good enough for my application. Appreciate your feedback!