This application is related to U.S. patent application Ser. No. 13/935,391, filed Jul. 3, 2013, entitled “ADAPTATION OF CROSSING DFE TAP WEIGHT,” with, which is herein incorporated by reference in their entirety.
Often times high-speed serial data streams are sent without an accompanying clock signal. Clock and data recovery (CDR) methods allow for a receiver to generate a clock from an approximate frequency reference. As input/output speeds become higher, the data sampling point used by CDR becomes increasingly critical to the link performance. The sampling point is typically determined by bang-bang CDR, where the settling point may not be where the vertical eye opening is largest or at the middle of the eye. As a result, the sampling point may not be optimal and signal integrity issues may arise.
Accordingly, a need exists for an apparatus and method to manipulate the CDR settling point to in an effort achieve an optimum sampling phase. Embodiments of the present invention disclose an apparatus and method for influencing a clock and data recovery settling point (CDR settling point) of a data sampling point signal by applying decision feedback equalization (DFE) on an input signal to produce a DFE output signal which is fed to a sampler which is clocked by the edge sample recovery clock. The sampler produces an edge sample signal. The edge sample signal is then used to influence the CDR settling point of a data sampling point sign.
More specifically, embodiments of the present invention are directed towards an apparatus comprising: a first module coupled to an input signal and operable to generate an edge signal using a first clock signal; and a second module operable to receive said edge signal and further operable to generate a data sampling phase signal, wherein said edge signal influences a settling point of said data sampling phase signal.
Embodiments include above and further comprising: a third module operable to generate a data sample signal using a second clock signal; and a fourth module operable to generate an error sample signal using a third clock signal and wherein said first module is a decision feedback equalizer.
Embodiments include the above and wherein said first module further comprises: a first path coupled to said input signal, said first path comprising: a first preamplifier; a first summing node coupled to said first preamplifier; and a first latch coupled to said first summing node and said first clock signal; a second path coupled to said input signal, said second path comprises: a second preamplifier; a summing node coupled to said second preamplifier and operable to apply feedback to its input signal based on a previously generated data sample; and a second latch coupled to said second summing node; and a multiplexer coupled to said first latch and said second latch, said multiplexer operable to select an output between said first latch and said second latch based on an exclusive OR of a first and a second previously generated data samples.
Embodiments include the above and wherein said first module further comprises: a first path coupled to said input signal, said first path comprising: a first preamplifier; a first summing node coupled to said first preamplifier and operable to apply a first feedback to its input signal based on a previously generated data sample; and a first latch coupled to said first summing node; a second path coupled to said input signal, said second path comprising: a second preamplifier; a second summing node coupled to said second preamplifier and operable to apply a second feedback to its input signal based on a previously generated data sample; and a second latch coupled to said second summing node; and a multiplexer coupled to said first latch and said second latch, said multiplexer operable to select an output between said first latch and said second latch based on an exclusive OR of a first and a second previously generated data samples.
Embodiments include the above and wherein said first module further comprises: a first path coupled to said input signal, said first path comprising: a first preamplifier operable to offset said input signal by a first predefined constant value; a first summing node coupled to said first preamplifier; and a first latch coupled to said summing node; a second path coupled to said input signal, said second path comprising: a second preamplifier operable to offset said input signal by a second predefined constant value; a second summing node coupled to said second preamplifier; a second latch coupled to said second summing node; and a multiplexer coupled to said first latch and said second latch, said multiplexer operable to select between an output of said first latch and said second latch based on a previously generated data sample.
Embodiments include the above and wherein said second module comprises: a phase detector operable to receive said edge sample signal and generate a plurality of delta phases therefrom; a loop filter coupled to said phase detector operable to average said plurality of delta phases and generate a phase code; and a phase interpolator coupled to said loop filter operable to generate said data sampling phase based upon said phase code.
The invention also includes a receiver embodiment, the receiver includes a first module coupled to receive an input signal and operable to employ Decision Feedback Equalization to an input signal and generate an edge sample signal. The receiver also includes a timing recovery module coupled to the first module and operable to receive the edge signal and generate a data sampling phase signal, wherein the edge signal influences a settling point of the data sampling phase signal.
In another embodiment, the present invention is drawn towards a method. The method comprising: receiving an input signal at an input of a receiver; applying decision feedback equalization (DFE) to said input signal based on prior recovered data values to generate an output DFE signal; using a sample module clocked by an X clock signal, sampling said output DFE signal to generate an edge sample signal; and using said edge sample signal to influence a settling point of a data sampling signal.
The embodiments of the present invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings. While the present invention will be discussed in conjunction with the following embodiments, it will be understood that they are not intended to limit the present invention to these embodiments alone. On the contrary, the present invention is intended to cover alternatives, modifications, and equivalents which may be included with the spirit and scope of the present invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, embodiments of the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention.
Computer system 100 also comprises a graphics subsystem 114 including at least one graphics processor unit (GPU) 110. For example, the graphics subsystem 114 may be included on a graphics card. The graphics subsystem 114 may be coupled to a display 116. One or more additional GPU(s) 110 can optionally be coupled to computer system 100 to further increase its computational power. The GPU(s) 110 may be coupled to the CPU 102 and the system memory 104 via a communication bus 108. The GPU 110 can be implemented as a discrete component, a discrete graphics card designed to couple to the computer system 100 via a connector (e.g., AGP slot, PCI-Express slot, etc.), a discrete integrated circuit die (e.g., mounted directly on a motherboard), or as an integrated GPU included within the integrated circuit die of a computer system chipset component (not shown). Additionally, memory devices 112 may be coupled with the GPU 110 for high bandwidth graphics data storage, e.g., the frame buffer. In an embodiment, the memory devices 112 may be dynamic random-access memory. A power source unit (PSU) 118 may provide electrical power to the system board 106 and graphics subsystem 114.
The CPU 102 and the GPU 110 can also be integrated into a single integrated circuit die and the CPU and GPU may share various resources, such as instruction logic, buffers, functional units and so on, or separate resources may be provided for graphics and general-purpose operations. The GPU may further be integrated into a core logic component. Accordingly, any or all the circuits and/or functionality described herein as being associated with the GPU 110 can also be implemented in, and performed by, a suitably equipped CPU 102. Additionally, while embodiments herein may make reference to a GPU, it should be noted that the described circuits and/or functionality can also be implemented and other types of processors (e.g., general purpose or other special-purpose coprocessors) or within a CPU.
System board 106 also includes a receiver device 121, in accordance with embodiments of the present invention, which may be placed on any communication link at the receiver end. As shown, receivers 121 are placed on the receiver ends of bidirectional communication link 108 (between CPU 102 and GPU 110) and communication link 130 (between GPU 110 and memory) and communication link 140 (between GPU 110 and the display). It is appreciated that these communication links are exemplary. Communication device 121 is operable to receive data (See
System 100 can be implemented as, for example, a desktop computer system or server computer system having a powerful general-purpose CPU 102 coupled to a dedicated graphics rendering GPU 110. In such an embodiment, components can be included that add peripheral buses, specialized audio/video components, IO devices, and the like. Similarly, system 100 can be implemented as a portable device (e.g., cellphone, PDA, etc.), direct broadcast satellite (DBS)/terrestrial set-top box or a set-top video game console device such as, for example, the Xbox®, available from Microsoft Corporation of Redmond, Wash., or the PlayStation3®, available from Sony Computer Entertainment Corporation of Tokyo, Japan. System 100 can also be implemented as a “system on a chip”, where the electronics (e.g., the components 102, 104, 110, 112, and the like) of a computing device are wholly contained within a single integrated circuit die. Examples include a hand-held instrument with a display, a car navigation system, a portable entertainment system, and the like.
Influence Clock Data Recovery Settling Point by Applying Decision Feedback Equalization to a Crossing Sample
Receiver 200 comprises a first circuit branch 226, second circuit branch 228, and a third circuit branch 230. Branch 226 is clocked by an x_clock signal 270. The x_clock signal 270 is the signal used to recover the edge sample signal 248. Branches 228 and 230 are clocked by the d_clock signal 272 which is used to recover the data sample signal and the error sample signal. In an embodiment, receiver 200 may comprise an odd path 232 and an even path 234, wherein both odd path 232 and even path 234 each comprise first circuit branch 226, second circuit branch 228 and third circuit branch 230. Both odd path 232 and even path 234 may simultaneously process a signal while odd path 232 operates on data of a first clock cycle and even path 234 operates on data of a second clock cycle. It is appreciated that the odd path is clocked by complement clocks, e.g., x_clock (bar) and d_clock (bar).
It is appreciated that first circuit branch 226 comprises a decision feedback equalization (DFE) block 220 coupled to a multiplexer 222. DFE block 220 is operable to apply DFE techniques to an input signal 224. Upon applying DFE to input signal 224, a DFE output is generated which is then sampled according to a sampler clocked by the x_clock 270, the result of this signal is then multiplexed via multiplexer 222 to produce an edge sample signal 248. Multiplexer 222 selects a single signal out of two or more outputs of DFE block 220. Branch 228 and 230 may also employ DFE techniques, e.g., h1 blocks.
The edge sample signal 248 is then transmitted to and used by a timing recovery module (See
Second circuit branch 228, receives the d_clock 272 and comprises an h0 constant block 236, an h1 feedback block 238 (based on a prior received data bit), and a latch 240. Second circuit branch 228 is operable to generate an error sample signal based on the input signal 224. In an embodiment, h0 constant block 236 is subtracted from its incoming signal.
Third circuit branch 230, receives the d_clock 272 and comprises a buffer 242, h1 feedback block 238 (based on a prior received data bit), and a latch 240. Third circuit branch 230 is operable to generate a data sample signal based on the input signal 224.
In an embodiment, receiver 200 may also comprise a continuous time linear equalizer (CTLE) 242, h2 feedback 244, and an infinite impulse response (IIR) filter 246. CTLE 242, h2 244, and IRR 246 may be applied to input signal 224 prior to splitting input signal 224 into first circuit branch 226, second circuit branch 228, and third circuit branch 230. CTLE 242 is configured to shape an input pulse response to compensate for feedback from the DFE.
DFE block 220 offsets the input signal during a constant column 354 and applies feedback to the input signal during a feedback column 356.
First path 350 and second path 352 receive the input signal. In the constant column 354, first path 350 applies a +hx constant offset 348 (subtraction) to reduce the input signal, operable to offset (reduce) the input signal by a predetermined constant value. The input signal may be offset by a positive constant value or a negative constant value. In this case, hx may be 5 mV and the processed input signal may be offset (reduced) by 5 mV. In the constant column 354, second path 352 applies a −hx constant offset 348 to the input signal, operable to offset (reduce) the input signal by a predetermined value. In this case, reduction by a negative acts to add to the signal. In this case, hx may be −5 mV and the input signal may be offset (reduced) by −5 mV thereby adding 5 mV.
During the feedback column 356, neither first path 350 nor second path 352 apply any feedback to the signal. Rather, buffer 242 delays or buffer the signal for a predetermined amount of time.
Latches 240 are operable to sample the signal and store its value prior to multiplexer 222 selecting either the output of latch 240 from first path 350 or second path 352. Multiplexer 222 selects either an output between first path 350 or second path 352 based on logic attributed to its select line. In this particular embodiment, a select value of multiplexer 222 will be equal to one if a prior data value (dk−1) is equal to 1. In this case, first path 350 will be selected by the multiplexer 222 and will be output as the edge signal 248. Otherwise, if a prior data value (dk−1) is not equal to 1, second path 352 will be selected by the multiplexer 222 and will be output as the edge signal 248.
DFE block 220 offsets the signal during a constant column 354 and applies feedback to the signal during a feedback column 356.
First path 350 and second path 352 receive the input signal. During the constant column 354, neither first path 350 nor second path 352 apply any constant offset to the signal. Rather, buffers 242 stall the signal for a predetermined amount of time.
During the feedback column 356, first path 350 applies (subtraction) a −hx feedback 348 (based on a prior received data bit) to the signal, thereby applying DFE techniques to the signal. Second path 352 applies (subtracts) a hx feedback 348 to the signal. Both −hx and hx feedback 348 are feedback based on a prior data value.
Latches 240 are operable to sample the signal and store its value prior to multiplexer 222 selecting either the output of latch 240 from first path 350 or second path 352. Multiplexer 222 selects either an output between first path 350 or second path 352 based on logic attributed to its select line. In this particular embodiment, a select value of multiplexer 222 will be equal to the result of an exclusive OR operation with a first and a second prior data values. In this case, first path 350 will be selected by the multiplexer 222 and will be output as the edge signal 248 if the result of the exclusive OR operation is 1. Otherwise, if the result of the exclusive OR operation is zero, second path 352 will be selected by the multiplexer 222 and will be output as the edge signal 248.
DFE block 220 offsets the signal during a constant column 354 and applies feedback to the input signal during a feedback column 356.
First path 350 and second path 352 receive the signal. During the constant column 354, neither first path 350 nor second path 352 apply any constant offset to the signal. Rather, buffers 242 delay the signal for a predetermined amount of time.
During the feedback column 354, first path 350 uses buffer 242 to stall the signal, thereby applying no feedback to the signal. Second path 352 applies (subtracts) a hx feedback 348 to the signal, thereby applying DFE techniques to the signal. hx feedback 348 is feedback based on a prior data value.
Latches 240 are operable to sample the signal and store its value prior to multiplexer 222 selecting either the output of latch 240 from first path 350 or second path 352. Multiplexer 222 selects either an output between first path 350 or second path 352 based on logic attributed to its select line. In this particular embodiment, a select value of multiplexer 222 will be equal to the result of an exclusive OR operation with a first and a second prior data values. In this case, first path 350 will be selected by the multiplexer 222 and will be output as the edge signal 248 if the result of the exclusive OR operation is 1. Otherwise, if the result of the exclusive OR operation is zero, second path 352 will be selected by the multiplexer 222 and will be output as the edge signal 248.
Where p(t) is the equalized pulse response at the latch input. It includes the circuit branch and the equalizers at both a transmitter and the receiver 200 (CTLE, DFE, IIR, etc.).
The latch 240 samples are obtained by sampling latch 240 input at a data or crossing sampling phase:
rk-δ=r(t)|i=(k-δ)·T-τ
Here τk is the data sampling phase at the kth symbol, δ is the IQ offset (in the unit of UI). For data samples, δ=0. When the CDR changes the data sampling τk, the samples of pulse response Pj-δk change with it. When the CDR moves left, p1 increases and p−1 decreases even for the same latch.
The closed form expression of the latch sample derived is the foundation of the analysis of the CDR settling point. It also the basis of the equalizer design.
Taking DFE as an example (data equalization), without DFE the data latch sample can be obtained by equation (3) by setting δ=0
From the expression it is clear that there exists inter-symbol interference (ISI) from the data symbols both in the past and the future. By using DFE with N taps (data equalization), one can reduce the ISI in the data latch sample. When hj=pj, the residual ISI from the corresponding data symbol can be eliminated. Here, pj is the pulse response sample at the DFE input.
For crossing latch samples, there also exists ISI from the data symbols both in the past and in the future. This is apparent from the equation above. One should note that the interferences are from the data symbols, not from other crossing latch outputs. The pulse response samples pj-δ will be obtained at the sampling points of the cross latch, rather than that of the data latch. For example, if δ=0.4 the crossing ISI is
τk-0.4= . . . +p−0.4·dk+p0.6·dk-1+p1.6·dk-2+ . . .
However, reducing the crossing ISI does not have direct impact on the data latch output or even the zero crossings of the data latch input eye. Hence what matters to the data latch is how the CDR settling point is impacted by the ISI in the crossing latch samples.
Phase detector 454 receives edge sample signal 248 and data signals from receiver 200 (
Loop filter 456 is coupled to phase detector 454. Loop filter 456 receives the delta phases 460 generated by phase detector 454 and averages the delta phases 460 to generate a phase code 462. Loop filter 456 inherently functions as an adder, accumulator, and loop gain control.
Phase interpolator 458 is coupled to loop filter 456 and receives the phase code 462 generated by loop filter 456. Phase interpolator 458 interpolates the phase code 462 based upon values contained within a lookup table and generates a data sampling phase 464 therefrom. Interpolation or lookup table processing may be used interchangeably. Data sampling phase 464 settles at a point to become the clock and data recovery settling point (CRD settling point). Thus, effectively, the edge sample signal influences the clock and data recovery settling point of the data sampling phase 464 in accordance with embodiments of the present invention.
Bang-bang CDR adjusts the phase based on the triplet (dk, xk, dk-1) where xk is the crossing latch output with a sampling phase between that of dk-1 and dk. From the truth table (See
Timing recovery module 400 demonstrates a typical CDR loop. A first order CDR loop filter consists of two stages. The first stage of the loop filter provides a constant divide ratio or proportional gain μ. The divide ratio is large enough (or μ is small enough) that (Σμ·xk·dk-1)˜E[xk·dk-1]. The accumulation in the formula is achieved by the phase integrator in the 2nd stage of the loop filter, which increments or decrements the phase code by 1 (or a fixed step size) or decrements it by 1 based on the output of the first stage.
To facilitate the analysis of the CDR settling point, the phase detector is replaced with equivalent gradient xk·dk-1. When the long term average of xk·dk-1 is 0, the phase code will not change or simply dither between two adjacent values. Consequently, the CDR phase settles to where the long term average of xk·dk-1 is 0.
Building on equation (3) and the relationship between CDR and equalizer, we can derive a closed-form expression for the CDR settling point. It follows from equation (3) that when there is a transition between the current data symbol and the previous one,
where rk-δ is the crossing latch sample and
Δ=Σj=−∞,j≠0.1∞(pj-δ·dk-j·dk-1).
If the data symbols are independent and identically distributed, the long term average of is rk-δ·dk-1 is p1-δ−p−δ. In addition, rk-δ·dk-1 is symmetric around it, with equal number of values above and below it.
If the crossing latch threshold is 0, the latch output xk·dk-1=sgn(rk-δ)·dk-1=sgn(rk-δ·dk-1).
The long term average xk·dk 1 of is zero if and only if there are equal number of rk-δ·dk-1 above and below 0. When p−δ=p1-δ, this is true. However, even p−δ=p1-δ, as long as the two rk-δ·dk-1 values closest to p1-δ=p−δ have different polarities, there will still be equal number of rk-δ·dk-1 above and below 0. As a result, bang-bang CDR will settle to a zone centered at p−δ=p1-δ.
One should note that p−δ the sample of the pulse response seen by the crossing latch, not that seen by a data latch if they are different. For baud-rate CDR, using equation (e) and going through a similar analysis, we can express its settling point as p−1−p1.
Once the closed-form expression of the CDR settling point is known, e.g. p−δ=p1-δ, it is apparent what can be done to influence its settling point. If the IQ offset δ is changed, the CDR settling point will change as a result.
Odd sampler circuit corresponds to circuit 220 of
The Even Sampler circuit of the lower portion of
More specifically, the even data sampler receives a feedback from a prior data value (dk-1) and offsets it by a constant +h1·dk-1. It is then summed with Vin from a preamp circuit and propagated through the rest of the circuit. Similarly, the even data sampler transmits a feedback from a prior data value (dk-2) to the even edge sampler. The feedback is used to create an offset by an amount +hx·dk-2 and summed with Vin from a preamp circuit. The even data sampler receives DCLK 272 and the even edge sampler receives XCLK 270. This embodiment is specific to half-rate Rx implementations however the invention could equally be used in full-rate Rx designs.
In block 706, decision feedback equalization (DFE) is applied to the input signal based on prior recovered data values to generate an output DFE signal. This output DFE signal is then fed to a sampler that is clocked by the x_clock to produce an edge sample signal. For example, in
In block 708, the edge sample signal is used to influence a settling point of a data sampling signal. For example, in
In an embodiment, the receiver may also comprise a continuous time linear equalizer (CTLE) configured to shape an input pulse response to compensate for feedback from the DFE.
In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. Thus, the sole and exclusive indicator of what is, and is intended by the applicants to be, the invention is the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. Hence, no limitation, element, property, feature, advantage, or attribute that is not expressly recited in a claim should limit the scope of such claim in any way. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
In an embodiment, the zero crossing signal may be offset by a predetermined constant.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings.
Number | Name | Date | Kind |
---|---|---|---|
5436937 | Brown et al. | Jul 1995 | A |
20040091064 | Cao et al. | May 2004 | A1 |
20040091073 | Smith et al. | May 2004 | A1 |
20040202266 | Gregorius et al. | Oct 2004 | A1 |
20050180536 | Payne et al. | Aug 2005 | A1 |
20060114069 | Kojima et al. | Jun 2006 | A1 |
20060158262 | Robinson et al. | Jul 2006 | A1 |
20090296867 | Do et al. | Dec 2009 | A1 |
20100103999 | Leibowitz | Apr 2010 | A1 |
20110243215 | Wu et al. | Oct 2011 | A1 |
20120033773 | Nedovic | Feb 2012 | A1 |
20120106539 | Ferraiolo | May 2012 | A1 |
20120106687 | Bulzacchelli et al. | May 2012 | A1 |
20120128055 | Jiang | May 2012 | A1 |
20120151247 | Ferraiolo | Jun 2012 | A1 |
20120250811 | Misek et al. | Oct 2012 | A1 |
20130070882 | Nedovic | Mar 2013 | A1 |
20130154698 | Bottelli et al. | Jun 2013 | A1 |
20130249612 | Zerbe et al. | Sep 2013 | A1 |
20140016692 | Leibowitz et al. | Jan 2014 | A1 |
Number | Date | Country |
---|---|---|
201228304 | Jul 2012 | TW |
Number | Date | Country | |
---|---|---|---|
20140177693 A1 | Jun 2014 | US |