I am working on a clock-data recovery (CDR) design where the input data stream is 60Mbps (8B10B encoded). Currently I have a working CDR design which uses a binary phase detector (aka. Alexander phase detector) implemented in a Cyclone 10 LP FPGA with an external loop filter and a VCXO.
The binary phase detector (BPD) is straight forward to implement in an FPGA, but the a major drawback is the nonlinearity. This makes it very difficult to calculate the loop bandwidth, and jitter peaking can be a problem in cascaded systems.
I would prefer to use a linear phase detector, but many of these detectors tends to combine clocks an data signals which is not "FPGA standard", and can be dependent on routing delay.
Can anyone recommend (and have experience with) a linear phase detector for CDR which is suitable for FPGA implementation?
- phase detector