# US 9,882,703 B1 · Resolving meta-stability in a clock and data recovery circuit

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,882,703 B1
- Document ID: US9882703B1
- Status: Granted
- Kind: B1
- Application number: 15/346,434
- Filed: 2016-11-08
- Granted: 2018-01-30
- Earliest claimed: 2016-11-08
- Assignees: Xilinx, Inc.
- Applicants: Xilinx, Inc.
- Inventors: Yu Xu; Winson Lin; Caleb S. Leung; Alan C. Wong; Christopher J. Borrelli; Yohan Frans; Kun-Yung Chang
- Web page: https://patentgrep.com/patent/US9882703B1

## CPC

- H04L 43/16: Threshold monitoring
- H04L 7/0025: {interpolation of clock signal}
- H04L 7/0083: {taking measures against momentary loss of synchronisation, e.g. inhibiting the synchronisation, using idle words or using redundant clocks}
- H04L 7/033: using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
- H04L 25/03057: {with a recursive structure (H04L25/03031 takes precedence)}
- H04L 25/03885: {adaptive}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An example method of clock and data recovery in a receiver includes generating data samples and crossing samples of a received signal based on a data phase and a crossing phase, respectively, of a sampling clock supplied by a phase interpolator in the receiver; generating a phase detect result signal in response to phase detection of the data samples and the crossing samples; filtering the phase detect result signal to generate a phase interpolator code, the phase interpolator generating the sampling clock based on the phase interpolator code; determining an average phase detect result from the phase detect result signal; and adjusting the phase interpolator code in response to the average phase detect result being less than a threshold value.

## Claims

### Claim 1

A method of clock and data recovery in a receiver, comprising:
generating data samples and crossing samples of a received signal based on a data phase and a crossing phase, respectively, of a sampling clock supplied by a phase interpolator in the receiver;
generating a phase detect result signal in response to phase detection of the data samples and the crossing samples;
filtering the phase detect result signal to generate a phase interpolator code, the phase interpolator generating the sampling clock based on the phase interpolator code;
determining an average phase detect result from the phase detect result signal; and
adjusting the phase interpolator code in response to the average phase detect result being less than a threshold value.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
suspending adjustment of the phase interpolator code in response to the average phase detect result being greater than the threshold value.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
determining that the data phase is locked to a center of a data eye after suspending adjustment of the phase interpolator code.

### Claim 4 (depends on 1)

The method of claim 1, wherein the phase detection is performed by one or more bang-bang phase detectors.

### Claim 5 (depends on 4)

The method of claim 4, wherein the one or more bang-bang phase detectors comprises a plurality of bang-bang phase detectors, and wherein the phase detect result signal is a combination of phase detect results output by the plurality of bang-bang phase detectors.

### Claim 6 (depends on 1)

The method of claim 1, wherein the step of adjusting comprises at least one adjustment of the phase interpolator code.

### Claim 7 (depends on 1)

The method of claim 1, wherein the step of adjusting is performed further in response to a determination that the data phase has not been locked to a center of a data eye.

### Claim 8

A clock and data recovery (CDR) circuit, comprising:
a phase detector configured to generate a phase detect result signal in response to phase detection of data samples and crossing samples of a received signal, the data samples and the crossing samples being generated based on a data phase and a crossing phase, respectively, or a sampling clock supplied by a phase interpolator;
a digital loop filter configured to generate a phase interpolator code for controlling the phase interpolator; and
a control circuit configured to determine an average phase detect result from the phase detect result signal and adjust the phase interpolator code in response to the average phase detect result being less than a threshold value.

### Claim 9 (depends on 8)

The CDR circuit of claim 8, wherein the control circuit is further configured to suspend adjustment of the phase interpolator code in response to the average phase detect result being greater than the threshold value.

### Claim 10 (depends on 9)

The CDR circuit of claim 9, wherein the control circuit is further configured to determine that the data phase is locked to a center of a data eye after suspending adjustment of the phase interpolator code.

### Claim 11 (depends on 8)

The CDR circuit of claim 8, wherein the phase detector includes one or more bang-bang phase detectors.

### Claim 12 (depends on 11)

The CDR circuit of claim 11, wherein the one or more bang-bang phase detectors comprises a plurality of bang-bang phase detectors, and wherein the phase detect result signal is a combination of phase detect results output by the plurality of bang-bang phase detectors.

### Claim 13 (depends on 8)

The CDR circuit of claim 8, wherein the control circuit is configured to perform at least one adjustment of the phase interpolator code while the average phase detect result is less than the threshold value.

### Claim 14 (depends on 8)

The CDR circuit of claim 8, wherein the control circuit is configured to adjust the phase interpolator code further in response to a determination that the data phase has not been locked to a center of a data eye.

### Claim 15

A receiver, comprising:
sampling circuitry configured to generate data samples and crossing samples of a received signal based on a data phase and a crossing phase, respectively, of a sampling clock;
a phase interpolator configured to supply the sampling clock in response to a phase interpolator code;
a phase detector configured to generate a phase detect result signal in response to the data samples and the crossing samples;
a digital loop filter configured to filter the phase detect result signal to generate the phase interpolator code; and
a control circuit configured to determine an average phase detect result from the phase detect result signal and adjust the phase interpolator code in response to the average phase detect result being less than a threshold value.

### Claim 16 (depends on 15)

The receiver of claim 15, wherein the control circuit is further configured to suspend adjustment of the phase interpolator code in response to the average phase detect result being greater than the threshold value.

### Claim 17 (depends on 16)

The receiver of claim 16, wherein the control circuit is further configured to determine that the data phase is locked to a center of a data eye after suspending adjustment of the phase interpolator code.

### Claim 18 (depends on 15)

The receiver of claim 15, wherein the phase detector comprises a plurality of bang-bang phase detectors, and wherein the phase detect result signal is a combination of phase detect results output by the plurality of bang-bang phase detectors.

### Claim 19 (depends on 15)

The receiver of claim 15, wherein the control circuit is configured to perform at least one adjustment of the phase interpolator code while the average phase detect result is less than the threshold value.

### Claim 20 (depends on 15)

The receiver of claim 15, wherein the control circuit is configured to adjust the phase interpolator code further in response to a determination that the data phase has not been locked to a center of a data eye.
