Digital data recovery units (DRUs), also known as clock and data recovery units (CDRs), are used in many applications, such as serializer/deserializer (SerDes) applications, for recovering data from noisy or high-jitter environments. To perform data recovery, the data may be oversampled (e.g., using a SerDes) and sent to the DRU over multiple parallel input wires. The DRU then selects and outputs the best sample for each data bit, by detecting transitions in the oversampled data. In particular, when a DRU operates on oversampled data, there may be more samples per unit interval (UI) and the samples may be taken asynchronously with respect to the incoming bit stream. In some cases, only one sample per bit may be the one closest to the middle of an eye, and the DRU may select that sample as the best sample.
In some cases, the samples of parallel input data transmitted to a DRU may be superimposed to form an eye, with the transitions in the incoming data representing edges of the eye. In order to select the best sample and avoid bit errors, the DRU may oversample the data, and select the sample that is located the closest to the center of the eye. In order to qualify the incoming data, it may be desirable to determine the width of the eye. However, the width of the eye typically cannot be measured during operation of the DRUs without affecting data traffic being processed by the DRUs.