Examples of the present disclosure generally relate to electronic circuits and, in particular, to a baud-rate clock data recovery (CDR) circuit for low power applications.
Clock data recovery (CDR) is an important block in a receiver system for high-speed serial communications. The CDR block generates the correct sampling clock phase for data recovery. The quality of the high-speed serial communication link can be sensitive to the sampling dock phase, especially in the presence of jitter and noise.
One type of existing CDR is an edge-sampled CDR. An edge-sampled CDR oversamples the analog input waveform to generate the correct data sampling dock and recover the transmitted data. The edge-sampled CDR assumes the data to be sampled as around the center between zero-crossing points. The resulting oversampled system consumes more clocking power than a system operating at the symbol rate (also referred to as baud-rate). Further, as the channel loss profile changes, the analog waveform to be sampled is not necessarily symmetric. Thus, maintaing the data sampling dock at the center between zero-crossing points can be sub-optimal.
Techniques for providing baud-rate clock data recovery (CDR) for low power applications are described. In an example, a clock data recovery (CDR) circuit for a receiver includes a timing error detector circuit, a loop filter, and a phase interpolator. The timing error detector circuit is coupled to receive, at a baud-rate, data samples and error samples for symbols received by the receiver. The timing error detector circuit is operable to generate both a timing error value and an estimated waveform value per symbol based on the data samples and the error samples. The loop filter is coupled to the timing error detector to receive timing error values. The phase interpolator is coupled to the loop filter to receive filtered timing error values, the phase interpolator operable to generate a control signal to adjust a sampling phase used to generate the data samples and the error samples.
In another example, a receiver includes a continuous-time equalizer circuit coupled to receive an analog signal from a channel. The receiver further includes a decision circuit coupled to receive an equalized analog signal from the continuous-time equalizer and to generate data samples and error samples of the equalized analog signal at a baud-rate of symbols of the analog signal. The receiver further includes a CDR circuit. The CDR circuit includes a timing error detector circuit coupled to receive the data samples and the error samples. The timing error detector circuit is operable to generate both a timing error value and an estimated waveform value per symbol of the analog signal based on the data samples and the error samples. The CDR circuit further includes a loop filter coupled to the timing error detector to receive timing error values. The CDR circuit further includes a phase interpolator coupled to the loop filter to receive filtered timing error values, the phase interpolator operable to provide a control signal to the decision circuit for adjusting a sampling phase used to generate the data samples and the error samples.
In another example, a method of clock data recovery for a receiver includes: receiving, at a baud-rate, data samples and error samples for symbols of an analog signal received by the receiver; generating both a timing error value and an estimated waveform value per symbol based on the data samples and the error samples; filtering each timing error value; and generating a control signal to adjust sampling phase used to generate the data samples and the error samples based on filtered timing error values.
These and other aspects may be understood with reference to the following detailed description.
So that the manner in which the above recited features can be understood in detail, a more particular description, briefly summarized above, may be had by reference to example implementations, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical example implementations and are therefore not to be considered limiting of its scope.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements of one example may be beneficially incorporated in other examples.
Various features are described hereinafter with reference to the figures. It should be noted that the figures may or may not be drawn to scale and that the elements of similar structures or functions are represented by like reference numerals throughout the figures. It should be noted that the figures are only intended to facilitate the description of the features. They are not intended as an exhaustive description of the claimed invention or as a limitation on the scope of the claimed invention. In addition, an illustrated example need not have all the aspects or advantages shown. An aspect or an advantage described in conjunction with a particular example is not necessarily limited to that example and can be practiced in any other examples even if not so illustrated, or if not so explicitly described.
Techniques for providing baud-rate clock data recovery (CDR) for low power applications are described. A CDR circuit is disclosed that provides for robust CDR for use in low-power serial link communications. The CDR circuit can be used in receivers that do not include a high-speed analog-to-digital converter (ADC) and digital equalizer(s). The CDR circuit operates at the baud-rate of the symbols and does not require oversampling of the analog input signal, which reduces clocking power. The CDR circuit achieves near optimal sampling phase even as the channel loss profile changes. These and other aspects of the disclosed CDR circuit are described below.
While the SerDes 102 and the SerDes 104 are shown, in other examples, each of the transmitter 108 and/or the receiver 110 can be a stand-alone circuit not being part of a larger transceiver circuit. In some examples, the transmitter and the receiver 110 can be part of one or more integrated circuits (ICs), such as application specific integrated circuits (ASICs) or programmable ICs, such as field programmable gate arrays (FPGAs).
The channel 116 can include an electrical or optical transmission medium. An electrical transmission medium can be any type of electrical path between the transmitter 108 and the receiver 110, which can include metal traces, vias, cables, connectors, decoupling capacitors, termination resistors, and the like. The electrical transmission medium can be a differential signal path, such as a low-voltage differential signal (LVDS) path. An optical transmission medium can be any type of optical path between the transmitter 108 and the receiver 110, which can include optical fibers, optical-to-electrical converters, electrical-to-optical converters, and the like.
In an example, the transmitter 108 transmits serialized data over the channel 116 using a digital baseband modulation, such as a binary non-return-to-zero (NRZ) modulation, multilevel pulse amplitude modulation (PAM-n), or the like. In NRZ modulation, each transmitted symbol comprises one bit. In multilevel PAM, each symbol comprises multiple bits. For example 4-level PAM (PAM4) includes four levels and can be used to transmit two-bit symbols. In general, the transmitter 108 transmits the serialized data as a sequence of symbols using a particular modulation scheme. There are two possible values for each symbol in NRZ modulation, and there are n possible values for each symbol in PAM-n modulation. The rate at which the transmitter 108 transmits the symbols is referred to as the symbol-rate or baud-rate.
In an example, the transmitter 108 does not transmit a reference clock with the data. The receiver 110 includes a clock data recovery (CDR) circuit 112 (or CDR 112) for extracting a clock from the incoming symbol stream. The extracted clock is used to sample the incoming symbol stream and recover the transmitted bits. As described herein, the CDR circuit 112 operates at the baud-rate, rather than oversampling the incoming symbol stream. As such, the CDR circuit 112 conserves power compared to oversampling CDR circuits. Further, the CDR circuit 112 can achieve optimal or near optimal sampling phase even as the channel loss profile changes.
The CTLE 202 is coupled to receive an analog input signal from the channel 116. The channel 116 degrades the signal quality of the transmitted analog signal. Channel insertion loss is the frequency-dependent degradation in signal power of the analog signal. When signals travel through a transmission line, the high frequency components of the analog signal are attenuated more than the low frequency components. In general, channel insertion loss increases as frequency increases. In addition to channel insertion loss, signal pulse energy in the analog signal can be spread from one symbol period to another during propagation on the channel 116. The resulting distortion is known as inter-symbol interference (ISI). In general, ISI becomes worse as the speed of the communication system increases.
The CTLE 202 operates as a high-pass filter to compensate for the low-pass characteristics of the channel 116. The peak of the frequency response of the CTLE 202 can be adjusted by the CTLE adapt circuit 210. The AGC 206 controls the gain of the high-pass filter. The gain of the AGC 206 can be controlled by the AGC adapt circuit 208. The CTLE 202 outputs an equalized analog signal. While the CTLE 202 having the AGC 206 is shown, in other examples, the receiver 110 can include other types of continuous-time filters with or without amplification. Thus, in general, the receiver 110 filters the analog signal received from the channel 116 to generate an “equalized analog signal” using some type of continuous-time filter with or without amplification, such as the CTLE 202 shown in
The decision circuit 204 is coupled to the CTLE 202 and receives the equalized analog signal. The decision circuit 204 is operable to sample the equalized analog signal to generate a data sample (dk) and an error sample (ek) per symbol (k). The decision circuit 204 samples the equalized analog signal at the baud-rate (symbol rate) to generate the data and error samples. The data samples comprise estimated values for the symbols, and the error samples comprise estimated decision errors for the symbols. The decision circuit 204 can include one or more slicers 205 that make symbol decisions from the equalized analog signal based on a sampling clock operating at the baud-rate. The decision adapt circuit 212 controls the decision threshold(s) of the slicer(s) 205. The CDR 112 controls the sampling phase of the slicer(s) 205. The decision adapt circuit 212 and the CDR 112 operate to minimize the values of the error samples.
The CDR 112 is coupled to the decision circuit 204 and receives the data and error samples. The CDR 112 generates both a timing error value and an estimated waveform value per symbol based on the data and error samples. The CDR 112 generates a control signal for adapting the sampling phase of the decision circuit 204 based on generated timing error values. The CDR 112 operates at the baud-rate (symbol rate). An example of the CDR 112 is described below with respect to
The decision adapt circuit 212 is coupled to the decision circuit 204 and receives the data and error samples. The decision adapt circuit 212 generates a control signal to control the decision threshold(s) of the slicer(s) 205 based on the data and error samples. The decision adapt circuit 212 also generates a cursor-weight (h0) for the main-cursor for each processed symbol, which is coupled to the AGC adapt circuit 208.
The CTLE adapt circuit 210 is coupled to the decision circuit 204 to receive the data samples. The CTLE adapt circuit 210 generates a control signal to adjust the peak frequency response of the CTLE 202. The AGC adapt circuit 208 is coupled to the decision adapt circuit 212 to receive the main cursor magnitude signal. The AGC adapt circuit 208 generates a control signal to adjust the gain of the AGC 206.
τk=ek−1*(yk−yk−2) (1),
where (yk−yk−2) represents the slope of the waveform of the equalized analog signal, y is an estimated waveform value, k is the current symbol, and k−1 and k−2 are the two previous symbols. The values yk and yk−2 are estimated waveform values for the kth and the k−2nd symbols, respectively.
To determine the timing error values, the TED 302 also generates an estimated waveform value, yk for each symbol, k. In an example, each estimated waveform value, yk, is the sum of cursor components (“cursors”) for the kth symbol. In particular, the estimated waveform value for the kth symbol can be defined as:
yk=Σi=−LLhi*dk−i (2),
where hi*dk−i are pre-cursor(s), main-cursor, and post-cursor(s) for the kth symbol. For L=1, each estimated waveform value, yk, includes first pre-cursor, main-cursor, and first-post cursor. For each cursor, dk−i is the (k−i)th data sample and hi is a cursor-weight. For L=1, h-1 is the cursor-weight of the first pre-cursor, h0 is the cursor-weight of the main-cursor, and h1 is the cursor-weight of the first post-cursor. The pre-cursor (h−1*dk+i) and the post-cursor (h1*dk−1) represent the residual ISI for the kth symbol.
The TED 302 can include a residual ISI estimation circuit 308. In an example, the residual ISI estimation circuit 308 estimates the cursor-weights of the pre- and post-cursors (e.g., the residual ISI) by accumulating and filtering correlations among the data samples and the error samples. No feedback is required in the residual ISI estimation process. As such, the residual ISI estimation process used by the TED 302 is suited for high-speed, low-power applications. The estimation of the residual ISI is discussed below with respect to
Equation (2) takes both pre-cursor(s) and post-cursor(s) into account, which results in more accurate timing error values. In another example, the TED 302 can set each yk equal to dk, rather than implementing equation (2). This will result in simpler computation, but also degraded performance.
The loop filter 304 is coupled to the TED 302 and receives the timing error values. The loop filter 304 can implement a low-pass filter to smooth changes in the timing error values. The phase interpolator 306 is coupled to the loop filter 304 and receives filtered timing error values. The phase interpolator 306 is operable to generate a control signal for controlling the sampling phase of the decision circuit 204 in response to the filtered timing error values.
The CDR 112 drives the sampling phase to minimize the mean squared error at the decision circuit 204 regardless of the symmetry of the analog signal waveform. The decision circuit 204 is not required to oversample the equalized analog signal. The CDR 112 operates without the need for a high-speed analog-to-digital converter (ADC), digital feed forward equalizer (FFE), and digital decision feedback equalizer (DFE) in the receiver 110. As such, the CDR 112 achieves robust performance with low power consumption.
An input of the delay element 402-1 is coupled to receive the data samples, dk, from the decision circuit 204. An output of the delay element 402-1 is coupled to an input of the delay element 402-2. An output of the delay element 402-2 is coupled to an input of the delay element 402-3. Each of the delay elements 402 delays the data samples by one symbol period. Thus, the output of the delay element 402-1 is dk−1, the output of the delay element 402-2 is dk−2, and the output of the delay element 402-3 is dk−3.
An input of the delay element 404 is coupled to receive the error samples, ek, from the decision circuit 202. The delay element 404 delays the error samples by one symbol period. Thus, the output of the delay element 404 is ek−1.
Inputs of the correlator 406-1 are coupled to the decision circuit 204 and the delay element 404 to receive the data sample, dk, and the error sample, ek−1, respectively. Inputs of the correlator 406-2 are coupled to the delay element 402-1 and the decision circuit 204 to receive the data sample, dk−1, and the error sample, ek, respectively. Inputs of the correlator 406-3 are coupled to the delay element 402-2 and the decision circuit 204 to receive the data sample, dk−2, and the error sample, ek, respectively. Inputs of the correlator 406-4 are coupled to the delay element 402-3 and the decision circuit 204 to receive the data sample, dk−3, and the error sample, ek, respectively.
Inputs of the accumulation and low-pass filter circuit 408 are coupled to outputs of the correlators 406. The accumulation and low-pass filter circuit 408 integrates and smoothes the correlator outputs to generate the cursor-weights h−1, h1, h2, and h3 for the first pre-cursor and the first, second, and third post-cursors, respectively. The residual ISI estimation circuit 308 can be scaled to generate cursor-coefficients for any number of post-cursors in a similar manner.
The residual ISI estimation circuit 308 determines the pre- and post-cursor weights without the need for an ADC and DFE in the receiver 110. The residual ISI estimation circuit 308 estimates the residual ISI by accumulating and low pass filtering the correlations among the data samples and the error samples. As such, no feedback is needed in the estimation. The residual ISI estimation circuit 308 is suited for use in high-speed, low-power applications.
At operation 504, the CDR 112 generates both a timing error value and an estimated waveform value per symbol based on the data and error samples. In an example, at operation 506, the CDR 112 can estimate a waveform value per symbol as a combination of pre-cursor(s), main-cursor, and post-cursor(s). At operation 507, the CDR 112 can estimate cursor-weights by accumulating and filtering correlations among the data and error samples. As such, the CDR 112 estimates and accounts for the residual ISI when computing each estimated waveform value. The CDR 112 performs the residual ISI estimation without feedback, as described in the examples above. In another example, rather than perform operation 506, the CDR 112 can perform operation 508, where the waveform value per symbol is equal the corresponding data sample. This simplifies the computation, but degrades performance since the residual ISI is not considered. At operation 510, the CDR 112 estimates a timing error value per symbol as a product of an error sample for a previous symbol and a difference between an estimated waveform value for a current symbol and an estimated waveform value for a previous symbol. That is, the CDR 112 can estimate a timing error value as a product of an error sample for a previous symbol and a slope of the waveform as computed using waveform values determined from operation 506 or 508.
At operation 512, the CDR 112 filters each timing error value. At operation 514, the CDR 112 generates a control signal to adjust sampling phase used to generate the data and error samples based on the filtered timing error values. The CDR 112 drives the sampling phase to minimize the mean squared error at the decision circuit 204 regardless of the symmetry of the analog signal waveform.
The CDR 112 described herein can be used in serial receivers or transceivers disposed in an IC, such as an FPGA.
In some FPGAs, each programmable tile can include at least one programmable interconnect element (“INT”) 611 having connections to input and output terminals 620 of a programmable logic element within the same tile, as shown by examples included at the top of
In an example implementation, a CLB 602 can include a configurable logic element (“CLE”) 612 that can be programmed to implement user logic plus a single programmable interconnect element (“INT”) 611. A BRAM 603 can include a BRAM logic element (“BRL”) 613 in addition to one or more programmable interconnect elements. Typically, the number of interconnect elements included in a tile depends on the height of the tile. In the pictured example, a BRAM tile has the same height as five CLBs, but other numbers (e.g., four) can also be used. A DSP tile 606 can include a DSP logic element (“DSPL”) 614 in addition to an appropriate number of programmable interconnect elements. An 10B 604 can include, for example, two instances of an input/output logic element (“IOL”) 615 in addition to one instance of the programmable interconnect element 611. As will be clear to those of skill in the art, the actual I/O pads connected, for example, to the I/O logic element 615 typically are not confined to the area of the input/output logic element 615.
In the pictured example, a horizontal area near the center of the die (shown in
Some FPGAs utilizing the architecture illustrated in
Note that
In an example, one or more of the MGTs 601 can include the CDR 112 for clock recovery. As discussed above, the CDR 112 operates at the baud-rate and does not require oversampling of the input analog signal. As such, the CDR 112 consumes less power, reducing the overall power consumption of the MGTs 601 and the FPGA 600. Further, the CDR 112 drives the sampling phase to minimize the mean squared error of the symbol decisions regardless of the symmetry of the analog signal waveform. The CDR 112 operates without the need for a high-speed ADC, digital FFE, and digital DFE, which further reduces power consumption of the MGTs 601 and the FPGA 600. As such, the CDR 112 achieves robust performance with low power consumption.
While the foregoing is directed to specific examples, other and further examples may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Number | Name | Date | Kind |
---|---|---|---|
6067319 | Copeland | May 2000 | A |
6728894 | McEwen | Apr 2004 | B2 |
6810485 | McEwen | Oct 2004 | B2 |
7333532 | Baltersee et al. | Feb 2008 | B2 |
7440499 | Schenk | Oct 2008 | B2 |
7515369 | Sugawara | Apr 2009 | B2 |
7545861 | Seo | Jun 2009 | B2 |
7551668 | Higashino | Jun 2009 | B2 |
7653125 | Kajiwara | Jan 2010 | B2 |
8120395 | Williams et al. | Feb 2012 | B2 |
8218612 | Chien et al. | Jul 2012 | B2 |
8219339 | Hamre | Jul 2012 | B2 |
8279989 | Shen | Oct 2012 | B2 |
8441751 | Song et al. | May 2013 | B1 |
8594254 | Lee | Nov 2013 | B2 |
8605847 | Mobin et al. | Dec 2013 | B2 |
8649476 | Malipatil et al. | Feb 2014 | B2 |
8737847 | Li et al. | May 2014 | B2 |
8934594 | Malhotra | Jan 2015 | B1 |
8989329 | Hammad et al. | Mar 2015 | B2 |
9048999 | He et al. | Jun 2015 | B2 |
9154234 | Motley | Oct 2015 | B2 |
20050094754 | Serizawa | May 2005 | A1 |
20130058391 | Hou | Mar 2013 | A1 |
20140169438 | Lin et al. | Jun 2014 | A1 |
20140177699 | Tan et al. | Jun 2014 | A1 |
20140245111 | Choi et al. | Aug 2014 | A1 |
20140328377 | Nakadaira | Nov 2014 | A1 |
20150010047 | Zhong et al. | Jan 2015 | A1 |
20150180642 | Hsieh et al. | Jun 2015 | A1 |