IP Library Granted Patent US 9,584,309
Granted Patent B2
US 9,584,309 · App. 15/078,939 · Granted Feb 28, 2017

Circuit for dynamically adaptive bit-leveling by incremental sampling, jitter detection, and exception handling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,584,309
App. No.
15/078,939
Granted
Feb 28, 2017
Kind
B2
Abstract

A circuit and method for implementing an adaptive bit-leveling function in an integrated circuit interface is disclosed. During a calibration operation, a pre-loaded data bit pattern is continuously sent from a sending device and is continuously read from an external bus by a receiving device. A programmable delay line both advances and delays each individual data bit relative to a sampling point in time, and delay counts relative to a reference point in time are recorded for different sampled data bit values, enabling a delay to be determined that best samples a data bit at its midpoint. During the advancing and delaying of a data bit, jitter on the data bit signal may cause an ambiguity in the determination of the midpoint, and solutions are disclosed for detecting jitter and for resolving a midpoint for sampling a data bit even in the presence of the jitter.

Claims (54)

1. A bit-leveling circuit for performing bit-leveling for a data interface including operating first and second calibration processes, the circuit comprising at least:

a circuit for providing a data strobe signal;

a circuit for receiving a data bit signal, including a programmable delay line for delaying the received data bit signal to provide a delayed data bit signal;

at least one flip-flop for sampling the delayed data bit signal;

a bit-leveling controller circuit responsive to the sampled delayed data bit signal and for controlling the delay of the programmable delay line;

wherein the bit leveling circuit:

receives a known pattern of 1's and 0's on the data bit signal, and

strobes the delayed data bit signal with the data strobe signal to produce the sampled delayed data bit signal, wherein strobing the delayed data bit signal is synchronized with the known pattern of 1's and 0's;

wherein operation of the bit leveling circuit includes performing the first calibration process comprising:

incrementally increasing the delay line delay, until a value of the sampled delayed data bit signal changes, and storing a number of increments necessary to reach a point where the sampled delayed data bit signal changed relative to its value at an initial delay line delay setting as value Ta;

incrementally decreasing the delay line delay, until a value of the sampled delayed data bit signal changes, and storing a number of increments necessary to reach a point where the sampled delayed data bit signal changed relative to its value at the initial delay line delay setting as value Tb; and

determining a sum of Ta and Tb;

wherein if the sum of Ta and Tb is less than a pre-determined jitter detection threshold value, the bit leveling circuit performs the second calibration process comprising:

setting the delay line delay to the initial setting value plus a jitter correction offset delay value to create a revised initial delay line delay setting;

from the revised initial delay line delay setting, incrementally increasing the delay line delay until a value of the sampled delayed data bit signal changes, and storing a number of increments necessary to reach a point where the sampled delayed data bit signal changed relative to its value at the revised initial delay line delay setting as value Ta;

from the revised initial delay line delay setting, incrementally decreasing the delay line delay until a value of the sampled delayed data bit signal changes, and storing a number of increments necessary to reach a point where the sampled delayed data bit signal changed relative to its value at the revised initial delay line delay setting as value Tb; and

as a function of Ta and Tb, adjusting the delay line setting to advance or delay the data bit signal, such that the delayed data bit signal is sampled at the midpoint of a half-cycle of the delayed data bit signal.

2. The circuit of claim 1 wherein the known pattern of 1's and 0's on the data bit signal comprises an alternating pattern of 1's and 0's.

3. The circuit of claim 1 , wherein operation of the bit leveling circuit further comprises:

comparing Ta and Tb, and wherein if Ta is greater than Tb, setting the delay line delay to a value equal to the initial delay line delay with an addition of an averaging factor wherein the averaging factor is (Ta−Tb)/2.

4. The circuit of claim 1 , wherein operation of the bit leveling circuit further comprises:

comparing Ta and Tb, and wherein if Ta is less than Tb, setting the delay line delay to a value equal to the initial delay line delay decremented by an averaging factor wherein the averaging factor is (Tb−Ta)/2.

5. The circuit of claim 1 wherein incrementally increasing and decreasing the delay line delay comprises changing the delay line delay by time increments that are each less than a period of the known pattern of 1's and 0's.

6. A bit-leveling circuit for performing bit-leveling for a data interface including operating at least first and second calibration processes, the circuit comprising at least:

a circuit for providing a data strobe signal;

a circuit for receiving a data bit signal, including a programmable delay line for delaying the received data bit signal to provide a delayed data bit signal;

at least one flip-flop for sampling the delayed data bit signal;

a bit-leveling controller circuit responsive to the sampled delayed data bit signal and for controlling the delay of the programmable delay line;

wherein the bit leveling circuit:

receives a known pattern of 1's and 0's on the data bit signal, and

samples the delayed data bit signal with the data strobe signal to produce the sampled delayed data bit signal, wherein strobing the data bit signal is synchronized with the known pattern of 1's and 0's;

wherein if the sampled delayed data bit signal does not differ from an expected value when first sampled from the known pattern of 1's and 0's, then the bit-leveling circuit proceeds with the first calibration process, comprising:

from an initial delay line delay setting, incrementally increasing the delay line delay until the value of the sampled delayed data bit signal changes, and storing a number of increments necessary to reach a point where the sampled delayed data bit signal changed relative to its value at the initial delay line delay setting as value Tc;

from the initial delay line delay setting, incrementally decreasing the delay line delay until the value of the sampled delayed data bit signal changes, and storing a number of increments necessary to reach a point where the sampled delayed data bit signal changed relative to its value at the initial delay line delay setting as value Td;

summing Tc and Td;

if (Tc+Td) is less than a pre-determined jitter detection threshold value, the bit-leveling circuit performs the second calibration process comprising:

setting the delay line delay to the initial setting value plus a jitter correction offset delay value to create a revised initial delay line delay setting;

from the revised initial delay line delay setting, incrementally increasing the delay line delay until the value of the sampled delayed data bit signal changes, and storing a number of increments necessary to reach a point where the sampled delayed data bit signal changed relative to its value at the revised initial delay line delay setting as value Ta;

from the revised initial delay line delay setting, incrementally decreasing the delay line delay until the value of the sampled delayed data bit signal changes, and storing a number of increments necessary to reach a point where the sampled delayed data bit signal changed relative to its value at the revised initial delay line delay setting as value Tb; and

as a function of Ta and Tb, adjusting the delay line setting to advance or delay the data bit signal, such that the delayed data bit signal is sampled at a midpoint of a half-cycle of the delayed data bit signal.

7. The circuit of claim 6 wherein the known pattern of 1's and 0's on the data bit signal comprises an alternating pattern of 1's and 0's.

8. The circuit of claim 6 , wherein if the sampled delayed data bit signal when first sampled differs from an expected value of 0, the bit-leveling circuit executes a third calibration process comprising the sequential steps of:

comparing the values of Tc and Td, wherein if the value Tc is greater than Td, incrementally changing the delay line delay to advance the delayed data bit signal from the initial point until a 0 is detected, the increment for the detected 0 having been previously recorded as Td, and then further advancing the delayed data bit signal until a 1 is detected, whereby the delay line delay is recorded as Te; and

setting the delay line delay to advance the delayed data bit signal from the initial point by a value equal to (Td+Te)/2.

9. The circuit of claim 6 , wherein if the sampled delayed data bit signal when first sampled differs from an expected value of 0, the bit-leveling circuit continues with a third calibration process comprising the sequential steps of:

comparing the values of Tc and Td, wherein if the value Tc is less than Td, incrementally changing the delay line delay to delay the delayed data bit signal from the initial point until a 0 is detected, the increment for the detected 0 having been previously recorded as Tc, and then further delaying the delayed data bit signal until a 1 is detected, whereby the delay line delay is recorded as Tf; and

setting the delay line delay to delay the delayed data bit signal from the initial point by a value equal to (Tc+Tf)/2.

10. The circuit of claim 6 , wherein if the sampled delayed data bit signal when first sampled differs from an expected value of 1, the bit-leveling circuit continues with a third calibration process comprising the sequential steps of:

comparing the values of Tc and Td, wherein if the value Tc is greater than Td, incrementally changing the delay line delay to advance the delayed data bit signal from the initial point until a 1 is detected, the increment for the detected 1 having been previously recorded as Td, and then further advancing the delayed data bit signal until a 0 is detected, whereby the delay line delay is recorded as Te; and

setting the delay line delay to advance the delayed data bit signal from the initial point by a value equal to (Td+Te)/2.

11. The circuit of claim 6 , wherein if the sampled delayed data bit signal when first sampled differs from an expected value of 1, the bit-levelling circuit continues with a third calibration process comprising the sequential steps of:

comparing the values of Tc and Td, wherein if the value Tc is less than Td, incrementally changing the delay line delay to delay the delayed data bit signal from the initial point until a 1 is detected, the increment for the detected 1 having been previously recorded as Tc, and then further delaying the delayed data bit signal until a 0 is detected, whereby the delay line delay is recorded as Tf; and

setting the delay line delay to delay the delayed data bit signal from the initial point by a value equal to (Tc+Tf)/2.

12. The circuit of claim 6 wherein incrementally increasing and decreasing the delay line delay comprises changing the delay line delay by time increments that are each less than a period of the known pattern of 1's and 0's.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2026
From: GALLAGHER IP SOLUTIONS LLC
To: UNIQUIFY IP HOLDINGS, LLC
Reel/Frame 073762/0305 →
SECURITY INTEREST Recorded Aug 6, 2024
From: NEWLIGHT CAPITAL, LLC
To: GALLAGHER IP SOLUTIONS LLC
Reel/Frame 068201/0194 →
SECURITY INTEREST Recorded Aug 29, 2023
From: UNIQUIFY, INC.
To: NEWLIGHT CAPITAL LLC, AS SERVICER
Reel/Frame 064740/0469 →
CERTIFICATE OF MERGER Recorded Jun 30, 2021
From: UNIQUIFY IP COMPANY, LLC
To: UNIQUIFY, INC.
Reel/Frame 057326/0887 →
SHORT FORM INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 30, 2021
From: UNIQUIFY, INC.
To: NEWLIGHT CAPITAL LLC, AS SERVICER
Reel/Frame 056729/0519 →
MERGER Recorded Jun 30, 2021
From: UNIQUIFY IP COMPANY, LLC
To: UNIQUIFY, INC.
Reel/Frame 056725/0939 →
SHORT FORM INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 30, 2021
From: UNIQUIFY, INC.
To: NEWLIGHT CAPITAL LLC, AS SERVICER
Reel/Frame 056728/0317 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR'S EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 046813 FRAME: 0080. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 30, 2019
From: UNIQUIFY INC
To: UNIQUIFY IP COMPANY, LLC
Reel/Frame 048193/0693 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2019
From: UNIQUIFY, INC.
To: UNIQUIFY IP COMPANY, LLC
Reel/Frame 048143/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2018
From: UNIQUIFY, INC.
To: UNIQUIFY IP COMPANY, LLC
Reel/Frame 046813/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2016
From: GOPALAN, MAHESH
To: UNIQUIFY, INC.
Reel/Frame 038238/0886 →