We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 66699

how to check that the CDR is locked to incoming data


The Clock and Data Recovery unit (CDR) is the heart of the serial receiver. 

It allows the conversion from incoming serial data to the parallel domain (in recovered data and in phase with the recovered clock).

The CDR controls the phase of the recovered clock by continuously measuring the data transitions. 

If all of the configuration and signals requirements are satisfied, the CDR is able to converge to a LOCKED condition. However there is no signal to indicate that this condition has been met.

When can the recovered data be considered reliable?


Historically the correct received data has been the only solid method to understand that the CDR is locked.

Most of the data encoding schemes allow error detection on the receiver side and this has been used extensively as a flag for locked CDR. 

However this method is not always applicable, and users might prefer to know from the CDR when the data is good, and not the other way around.

Another tentative way to determine the "LOCKED" condition has been to probe the control signal of the CDR loop; in the "LOCKED" status this control signal is expected to have small changes.

This measurement cannot avoid many false positive or unstable conditions and it is generally not supported. When available, the RXCDRLOCK signal is marked as "reserved". 

A real time comparison between data sampler and offset sampler is one viable solution for a true and general CDR LOCK determination.

When the CDR is locked to data, the transceiver samples the data far from the transitions. On the contrary, when the CDR is still not locked, the data transitions can cross the eye window in any position.

If the data sampler and offset sampler are always receiving the same information this means that no transition is crossing between the data sampler and offset sampler. 

By setting a vertical offset = 0 and a horizontal offset equal to a few steps (much less than the expected eye width) a continuous measurement of the offset data errors will reveal any transition happening between the data sampler and offset sampler.

From this measurement it is possible to determine that the CDR is not sweeping.


The usage of the offset sampler is described in the transceiver User Guide - RX Margin Analysis as part of the more general Eye Scan.

(Xilinx Answer 70872), (Xilinx Answer 67295), (Xilinx Answer 66517), and (Xilinx Answer 68785) guide the User through a step by step method for eye scan measurement.

AR# 66699
Date 05/10/2018
Status Active
Type General Article
  • Artix-7
  • Kintex-7
  • Kintex UltraScale
  • More
  • Kintex UltraScale+
  • Virtex UltraScale
  • Virtex UltraScale+
  • Virtex-7
  • Less
Page Bookmarked