US9455848B1 - DFE-skewed CDR circuit - Google Patents

DFE-skewed CDR circuit Download PDF

Info

Publication number
US9455848B1
US9455848B1 US14/829,318 US201514829318A US9455848B1 US 9455848 B1 US9455848 B1 US 9455848B1 US 201514829318 A US201514829318 A US 201514829318A US 9455848 B1 US9455848 B1 US 9455848B1
Authority
US
United States
Prior art keywords
slicer
samples
offset
coefficient
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US14/829,318
Inventor
Hongtao Zhang
Geoffrey Zhang
Kun-Yung Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Priority to US14/829,318 priority Critical patent/US9455848B1/en
Assigned to XILINX, INC. reassignment XILINX, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHANG, KUN-YUNG, ZHANG, GEOFFREY, ZHANG, HONGTAO
Priority to CN201610643648.XA priority patent/CN106470177B/en
Application granted granted Critical
Publication of US9455848B1 publication Critical patent/US9455848B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03012Arrangements for removing intersymbol interference operating in the time domain
    • H04L25/03019Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception
    • H04L25/03057Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception with a recursive structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/002Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
    • H04L7/0025Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0054Detection of the synchronisation error by features other than the received signal transition
    • H04L7/0062Detection of the synchronisation error by features other than the received signal transition detection of error based on data decision error, e.g. Mueller type detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • H04L7/0087Preprocessing of received signal for synchronisation, e.g. by code conversion, pulse generation or edge detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/03433Arrangements for removing intersymbol interference characterised by equaliser structure
    • H04L2025/03439Fixed structures
    • H04L2025/03445Time domain
    • H04L2025/03471Tapped delay lines
    • H04L2025/03484Tapped delay lines time-recursive
    • H04L2025/0349Tapped delay lines time-recursive as a feedback filter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/03592Adaptation methods
    • H04L2025/03598Algorithms
    • H04L2025/03611Iterative algorithms

Definitions

  • Examples of the present disclosure generally relate to electronic circuits and, in particular, to a decision feedback equalizer (DFE)-skewed clock data recovery (CDR) circuit.
  • DFE decision feedback equalizer
  • CDR clock data recovery
  • Clock data recovery 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.
  • 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 at 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).
  • an apparatus for clock data recovery (CDR) in a receiver includes a decision feedback equalizer (DFE) having a data slicer providing data samples, an error slicer providing error samples, and an offset error slicer providing offset error samples, the offset error slicer operable to set its threshold based on an offset first post-cursor coefficient.
  • the apparatus further includes a CDR circuit operable to control a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
  • a receiver in another example, includes an analog front end (AFE) operable to receive an analog signal from a channel.
  • the receiver further includes a decision feedback equalizer (DFE) having a data slicer operable to generate data samples from output of the AFE, an error slicer operable to generate error samples from output of the AFE, and an offset error slicer operable to generate offset error samples from output of the AFE, the offset error slicer operable to set its threshold based on an offset first post-cursor coefficient.
  • the receiver further includes a decision adapt circuit operable to generate pulse response coefficients for the DFE based on the data samples, the error samples, and the offset error samples.
  • the receiver further includes a CDR circuit operable to control a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
  • a method of clock data recovery (CDR) for a receiver includes generating, at a baud rate, data samples from a received signal using a data slicer of a decision feedback equalizer (DFE); generating, at the baud rate, error samples from the received signal using an error slicer of the DFE; generating, at the baud rate, offset error samples from the received signal using an offset error slicer of the DFE, the offset error slicer operable to set its threshold based on an offset first post-cursor coefficient; and generating a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
  • DFE decision feedback equalizer
  • FIG. 1 is a block diagram depicting an example communication system.
  • FIG. 2 is a block diagram depicting an example of receiver.
  • FIG. 3 is a block diagram depicting an example of a decision feedback equalizer (DFE) and decision adapt circuit.
  • DFE decision feedback equalizer
  • FIG. 4A is a block diagram depicting an example of a data slicer for a speculative DFE.
  • FIG. 4B is a block diagram depicting an example of an offset error slicer for a speculative DFE.
  • FIG. 4C is a block diagram depicting an example of an error slicer for a speculative DFE.
  • FIG. 4D is a block diagram depicting an example of additional slicers for a speculative DFE.
  • FIG. 5 is a flow diagram depicting a method of clock data recovery (CDR) for a receiver according to an example.
  • FIG. 6 illustrates a field programmable gate array (FPGA) architecture in which examples described herein can be utilized.
  • FPGA field programmable gate array
  • FIG. 7A is a graph depicting a pulse response and Mueller-Muller clock data recovery (MM-CDR) locking scenario without DFE.
  • MM-CDR Mueller-Muller clock data recovery
  • FIG. 7B is a graph depicting a pulse response and MM-CDR locking scenario in the presence of DFE without offset.
  • FIG. 7C is a graph depicting a pulse response and MM-CDR locking scenario in the presence of offset DFE according to an example.
  • FIG. 7D is a graph depicting more detail of a pulse response and MM-CDR locking scenario in the presence of offset DFE according to an example.
  • Baud-rate clock data recovery (CDR) circuits can be used in serial link systems as opposed to oversampling CDR circuits. Oversampling CDR circuits require more clocks and consume more power than baud-rate CDR circuits.
  • a Mueller-Muller CDR is one type of baud-rate CDR circuit. An MM-CDR locks the coefficient of the first pre-cursor (h ⁇ 1 ) to the coefficient of the first post-cursor (h 1 ) of a cascaded channel, which includes both passive and active portions of the link.
  • a decision feedback equalizer can be used in serial link systems, particularly when the data rate is above 5 gigabits per second (Gbps).
  • DFE decision feedback equalizer
  • the first post-cursor coefficient (h 1 ) is reduced to near zero through the adaptation algorithm.
  • the first post-cursor coefficient (h 1 ) adapts to a higher value to account for the additional inter-symbol interference (ISI) during the converging process.
  • ISI inter-symbol interference
  • the algorithm employed by an MM-CDR is modified by skewing the DFE equalization.
  • a technique is described that allows a CDR to lock around the center of the pulse response through automatic DFE offset adjustment by checking the peaking amplitude around the sampling phase. Such a technique achieves good bit error rate (BER) performance and better jitter tolerance.
  • FIG. 1 is a block diagram depicting an example communication system 100 .
  • the communication system 100 comprises a transmitter 108 coupled to a receiver 110 via a channel 116 .
  • the transmitter 108 is a part of a serializer/deserializer (SerDes) 102
  • the receiver 110 is part of a SerDes 104 .
  • the deserialization circuitry is omitted from the SerDes 102
  • the serialization circuitry is omitted from the SerDes 104 .
  • the SerDes 102 includes a parallel-in-serial-out (PISO) circuit 106 that converts parallel input data to serial output data for transmission over the channel 116 by the transmitter 108 .
  • PISO parallel-in-serial-out
  • the SerDes 104 includes a serial-in-parallel-out (SIPO) circuit that converts serial data output by the receiver 110 to parallel output data.
  • the SerDes 102 and the SerDes 104 can include other circuitry (not shown), such as decoders, encoders, and the like.
  • each of the transmitter 108 and/or the receiver 110 can be a stand-alone circuit not being part of a larger transceiver circuit.
  • 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).
  • ICs integrated circuits
  • ASICs application specific integrated circuits
  • FPGAs field programmable gate arrays
  • 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.
  • An optical transmission medium can be any type of optical path between the transmitter 108 and the receiver 110 , which can include any kind of optical modules.
  • 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.
  • NRZ modulation each transmitted symbol comprises one bit.
  • multilevel PAM each symbol comprises multiple bits.
  • 4-level PAM (PAM4) includes four levels and can be used to transmit two-bit symbols.
  • 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.
  • the transmitter 108 does not transmit a reference clock with the data. Rather, 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 sequentially 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.
  • CDR clock data recovery
  • FIG. 2 is a block diagram depicting an example of the receiver 110 .
  • the receiver 110 includes an analog front end (AFE) 202 , a decision feedback equalizer (DFE) 204 , the CDR 112 , a phase interpolator 206 , a phase locked loop (PLL) 208 , clock buffers 210 , and decision adapt circuit 212 .
  • the AFE 202 includes an input operable 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.
  • the AFE 202 can include various analog circuits, such as a continuous time linear equalizer (CTLE) circuit, automatic gain control (AGC) circuit, and the like. An output of the AFE 202 provides an analog signal (designated r(t), where t denotes time).
  • CTLE continuous time linear equalizer
  • AGC automatic gain control
  • An input of the DFE 204 is coupled to the output of the AFE 202 to receive the analog signal r(t).
  • the DFE 204 includes a plurality of slicers 205 operable to sample the analog signal r(t).
  • the slicers 205 sample the analog signal using sampling clocks (clocks) provided by the clock buffers 210 .
  • Each of the slicers 205 operates at the baud-rate (symbol rate).
  • the DFE 204 outputs four sample streams, including a stream of data samples (d k ), a stream of error samples (e k ), a stream of offset error samples (e k ′), and one or more additional streams of samples (x k ), for each symbol (k).
  • the data samples d k provide the estimated output symbols.
  • the decision adapt circuit 212 includes inputs for receiving the error samples e k , the data samples d k , and the samples x k .
  • the decision adapt circuit 212 computes coefficients for the DFE 204 based on the input samples.
  • the DFE 204 and the decision adapt circuit 212 operate to equalize the analog signal to compensate for post-cursor ISI.
  • the offset error samples e k ′ and the additional samples x k are discussed below.
  • Inputs of the CDR 112 are coupled to outputs of the DFE 204 to receive the data samples d k and the offset error samples e k ′.
  • the CDR 112 generates a sampling phase value per symbol based on the data samples d k and the offset error samples e k .
  • the CDR 112 can employ a Mueller-Muller algorithm to generate the sampling phase values.
  • An input of the phase interpolator 206 is coupled to an output of the CDR 112 to receive the sampling phase.
  • Another input of the phase interpolator 206 is coupled to an output of the PLL 208 to receive a clock signal.
  • the phase interpolator 206 adjusts the phase of the clock signal from the PLL 208 based on the sampling phase values output by the CDR 112 .
  • An input of the clock buffers 210 is coupled to an output of the phase interpolator 206 to receive the phase adjusted clock signal.
  • the clock buffers 210 output a plurality of clocks, as discussed below.
  • the CDR 112 operates using the offset error samples e k ′, rather than the error samples e k used by the decision adapt circuit 212 .
  • the DFE 204 determines the offset error samples e k ′ by skewing (creating an offset in) the first post-cursor coefficient (h 1 ).
  • the first post-cursor coefficient having the offset is referred to herein as h′ 1 .
  • h′ 1 can be a fixed value.
  • h′ 1 can be adapted so that the CDR 112 locks near the center of the pulse response.
  • the slicers 205 can sample the analog signal using clock signals having two different phase offsets relative to the data sampler phase to generate the additional samples x k .
  • the phase offsets can be small as compared to the unit interval (UI) and can be implemented using analog buffer delays in the clock buffers 210 .
  • the decision adapt circuit 212 can use the additional samples x k generated using the offset phase clock(s) to adapt h 1 ′, as discussed below.
  • FIG. 7A is a graph 702 depicting a pulse response and MM-CDR locking scenario without DFE.
  • the graph 702 includes an axis 704 representing time increasing from left to right (in arbitrary units), and an axis 706 representing magnitude increasing bottom to top (in arbitrary units).
  • a curve 708 shows a pulse response along with the location of the first pre-cursor h ⁇ 1 , main cursor h 0 , and first post-cursor h 1 coefficients.
  • the MM-CDR adaptation cost function is e k d k+1 ⁇ e k+1 d k (Eq. 1), where d k is the kth data sample received and e k is the kth error sample received.
  • the cost function is equivalent to h ⁇ 1 ⁇ h 1 and the MM-CDR drives the difference between the first pre-cursor coefficient and the first post-cursor coefficient to zero.
  • FIG. 7B is a graph 710 depicting a pulse response and MM-CDR locking scenario in the presence of DFE without offset. Elements of FIG. 7B that are the same or similar to those of FIG. 7A are designated with identical reference numerals and are described above.
  • the cost function is equivalent to h ⁇ 1 . So in the presence of DFE, the MM-CDR drives the first pre-cursor coefficient to equal 0. This can cause the converged locking location to be too early, as shown in FIG. 7B .
  • FIG. 7C is a graph 714 depicting a pulse response and MM-CDR locking scenario in the presence of offset DFE according to an example. Elements of FIG. 7C that are the same or similar to those of FIG. 7A are designated with identical reference numerals and are described above.
  • the Mueller-Muller cost function is modified, allowing the CDR 112 to be locked at any phase. For example, instead of cancelling the first post-cursor coefficient h 1 entirely, only a part of the first post-cursor coefficient can be cancelled, as denoted by h′ 1 .
  • the offset first post-cursor coefficient h′ —1 can be adapted so that the CDR 112 maintains a lock to the center of the pulse response.
  • FIG. 3 is a block diagram depicting an example of the DFE 204 and the decision adapt circuit 212 .
  • the DFE 204 includes a summer 303 , a feedback path 305 , and the slicers 205 .
  • the slicers 205 include a data slicer 302 , an offset error slicer 304 , an error slicer 306 , and one or more slicers 308 .
  • the decision adapt circuit 212 includes adapt logic 310 , adapt logic 312 , and adapt logic 312 .
  • An input to the summer 303 receives the analog signal r(t) from the AFE 202 , and another input of the summer 303 is coupled to an output of the feedback path 305 .
  • the summer 303 sums the analog signal r(t) with the output of the feedback path 305 to generate an analog signal y(t).
  • the analog signal y(t) is coupled to each of the slicers 302 through 308 .
  • An input of the data slicer 302 is coupled to the output of the summer 303 to receive the analog signal y(t).
  • a threshold of the data slicer 302 is set based on the first post-cursor coefficient h 1 .
  • the DFE 204 comprises a speculative or “look-ahead” architecture. In a speculative architecture, the first tap (h 1 ) is “unrolled” and removed from the feedback path 305 .
  • the basic concept behind a speculative DFE is that every symbol is a logic “0” or a logic “1” and the decision threshold for both possibilities is known.
  • the data slicer 302 makes two separate decisions for each symbol on parallel sampling paths using two separate decision thresholds h 1 and ⁇ h 1 .
  • the parallel sampling paths are multiplexed to select the “correct” decision based on the previously selected decision.
  • the data slicer 302 samples the signal y(t) according to a clock signal (clk) output by the clock buffer 210 to generate the data samples d k .
  • An input of the offset error slicer 304 is coupled to the output of the summer 303 to receive the analog signal y(t).
  • a threshold of the offset error slicer 304 is set based on a combination of the main cursor coefficient h 0 and the offset first post-cursor coefficient h′ 1 .
  • the offset error slicer 304 generates separate samples on parallel decision paths using decision threshold generated from combinations of h 0 and h′ 1 .
  • the parallel sampling paths are multiplexed to select the “correct” offset error based on a previous data sample.
  • the offset error slicer 304 samples the signal y(t) according to the clock signal clk to generate the offset error samples e k ′.
  • An input of the error slicer 306 is coupled to the output of the summer 303 to receive the analog signal y(t).
  • a threshold of the error slicer 306 is set based on a combination of the main cursor coefficient h 0 and the first post-cursor coefficient h 1 .
  • the error slicer 306 generates separate samples on parallel decision paths using a decision threshold generated from combinations of h 0 and h 1 .
  • the parallel sampling paths are multiplexed to select the “correct” error based on a previous data sample.
  • the error slicer 306 samples the signal y(t) according to the clock signal clk to generate the error samples e k .
  • Input(s) of the slicer(s) 308 is/are coupled to the output of the summer 303 to receive the analog signal y(t).
  • one slicer 308 is provided.
  • two slicers 308 are provided.
  • a threshold of each slicer 308 is set based on a combination of the main cursor coefficient h 0 and the first post-cursor coefficient h 1 .
  • Each of the slicers 308 generates separate samples on parallel decision paths using a decision threshold generated from combinations of h 0 and h 1 . The parallel sampling paths are multiplexed to select the “correct” value based on a previous data sample.
  • Each of the slicers 308 samples the signal y(t) according to a clock signal having a phase offset from the clock signal clk.
  • one slicer 308 can sample y(t) using either a clock signal clk_L (early with respect to clk) or a clock signal clk_R (late with respect to clk).
  • a first slicer 308 can sample y(t) using a clock signal clk_L and a second slicer can sample y(t) using a clock signal clk_R.
  • the clock signals clk_L and clk_R can be generated by the clock buffer 210 .
  • the phase offset for each of clk_L and clk_R can be less than the UI period.
  • the decision adapt circuit 212 generates values for the pulse response coefficients used by the DFE 204 .
  • Inputs of the adapt logic 310 receive the data samples and the error samples.
  • the adapt logic 310 computes values for the main cursor coefficient and the first post-cursor coefficient using any known algorithm suitable for generating pulse response coefficients for a DFE.
  • Inputs of the adapt logic 312 receive the samples x k from the slicer(s) 308 .
  • the adapt logic 312 computes values for the main cursor coefficient h 0 based on the early clock clk_L, the late clock clk_R, or both, referred to as h 0L and h 0R .
  • Inputs of the adapt logic 312 receive the main cursor coefficient h 0 , the first post-cursor coefficient h 1 , and the coefficients h 0L and/or h 0R .
  • the adapt logic 312 computes values for the offset first post-cursor coefficient h′ 1 based on an algorithm described below.
  • the decision adapt circuit 212 also generates second, third, fourth, etc. post-cursor coefficients for use by the feedback path 305 using any known adaptation algorithm.
  • FIG. 7D is a graph 718 depicting more detail of a pulse response and MM-CDR locking scenario in the presence of offset DFE according to an example. Elements of FIG. 7D that are the same or similar to those of FIG. 7A are designated with identical reference numerals and are described above.
  • two slicers 308 are provided that sample based on clk_L and clk_R, respectively.
  • the two slicers 308 have a phase offset of ⁇ t 1 and ⁇ t 2 relative to the data sampler phase.
  • the phase offsets ⁇ t 1 and ⁇ t 2 are small relative to the UI.
  • Output of the slicers 308 can be used to generate the magnitude of the pulse response, h 0L and h 0R , at these two sampling phases.
  • Table 1 shows an example algorithm used by the adapt logic 312 for h′ 1 adaptation.
  • FIG. 4A is a block diagram depicting an example of the data slicer 302 for a speculative DFE.
  • the data slicer 302 includes a slicer circuit 402 , a slicer circuit 404 , a multiplexer 406 , and a delay circuit 408 .
  • the slicer circuits 402 and 404 each sample the analog signal y(t) based on the clock signal clk.
  • a decision threshold of the slicer circuit 402 is set based on ⁇ h 1
  • a decision threshold of the slicer circuit 404 is set based on h 1 .
  • Outputs of the slicer circuits 402 and 404 are coupled to inputs of the multiplexer 406 .
  • a control input of the multiplexer 406 receives the data sample d k .
  • An output of the multiplexer 406 is coupled to an input of the delay circuit 408 .
  • An output of the delay circuit 408 provides the data sample d k .
  • FIG. 4B is a block diagram depicting an example of the offset error slicer 304 for a speculative DFE.
  • the offset error slicer 304 includes slicer circuits 410 , 412 , 414 , and 416 .
  • the slicer circuits 410 through 416 each sample the analog signal y(t) based on the clock signal clk.
  • a decision threshold of the slicer circuit 410 is set based on h 0 +h′ 1 .
  • a decision threshold of the slicer circuit 412 is set based on ⁇ h 0 +h′ 1 .
  • a decision threshold of the slicer circuit 414 is set based on h 0 ⁇ h′ 1 .
  • a decision threshold of the slicer circuit 416 is set based on ⁇ h 0 ⁇ h′ 1 .
  • Outputs of the slicer circuits 410 and 412 are coupled to inputs of a multiplexer 418 .
  • Outputs of the slicer circuits 414 and 416 are coupled to inputs of a multiplexer 420 .
  • Control inputs of the multiplexers 418 and 420 receive the data sample d k .
  • An output of the multiplexer 418 is coupled to an input of a delay circuit 422 .
  • An output of the multiplexer 420 is coupled to an input of a delay circuit 424 .
  • Inputs of a multiplexer 426 are coupled to outputs of the delay circuits 422 and 424 , respectively.
  • a control input of the multiplexer 426 receives the data sample d k .
  • An output of the multiplexer 426 provides the offset error sample e k ′.
  • FIG. 4C is a block diagram depicting an example of the error slicer 306 for a speculative DFE.
  • the offset error slicer 306 includes slicer circuits 428 , 430 , 432 , and 434 .
  • the slicer circuits 428 through 434 each sample the analog signal y(t) based on the clock signal clk.
  • a decision threshold of the slicer circuit 428 is set based on h 0 +h′ 1 .
  • a decision threshold of the slicer circuit 430 is set based on ⁇ h 0 +h′ 1 .
  • a decision threshold of the slicer circuit 432 is set based on h 0 ⁇ h′ 1 .
  • a decision threshold of the slicer circuit 434 is set based on ⁇ h 0 ⁇ h′ 1 .
  • Outputs of the slicer circuits 428 and 430 are coupled to inputs of a multiplexer 436 .
  • Outputs of the slicer circuits 432 and 434 are coupled to inputs of a multiplexer 438 .
  • Control inputs of the multiplexers 436 and 438 receive the data sample d k .
  • An output of the multiplexer 436 is coupled to an input of a delay circuit 440 .
  • An output of the multiplexer 438 is coupled to an input of a delay circuit 442 .
  • Inputs of a multiplexer 444 are coupled to outputs of the delay circuits 440 and 442 , respectively.
  • a control input of the multiplexer 444 receives the data sample d k .
  • An output of the multiplexer 444 provides the error sample e k .
  • FIG. 4D is a block diagram depicting an example of the slicers 308 for a speculative DFE.
  • slicers 308 includes a slicer 308 - 1 and a slicer 308 - 2 .
  • the slicer 308 - 1 operates based on the early clock clk_L
  • the slicer 308 - 2 operates based on the late clock clk_R.
  • the slicer 308 - 1 includes a slicer circuit 446 and a slicer circuit 448 .
  • the slicer circuits 446 and 448 each sample the analog signal y(t) based on the early clock signal clk_L.
  • a decision threshold of the slicer circuit 446 is set based on h 0 ⁇ h 1
  • a decision threshold of the slicer circuit 448 is set based on ⁇ h 0 +h 1 .
  • Outputs of the slicer circuits 446 and 448 are coupled to inputs of delay circuits 450 and 452 , respectively.
  • Outputs of the delay circuits 450 and 452 are coupled to inputs of delay circuits 454 and 456 , respectively.
  • Outputs of the delay circuits 454 and 456 are coupled to inputs of a multiplexer 458 .
  • a control input of the multiplexer 458 receives the data sample d k .
  • An output of the multiplexer 458 provides the sample x_L k based on the early clock.
  • the slicer 308 - 2 includes a slicer circuit 460 and a slicer circuit 462 .
  • the slicer circuits 460 and 462 each sample the analog signal y(t) based on the late clock signal clk_R.
  • a decision threshold of the slicer circuit 460 is set based on h 0 ⁇ h 1
  • a decision threshold of the slicer circuit 462 is set based on ⁇ h 0 +h 1 .
  • Outputs of the slicer circuits 460 and 462 are coupled to inputs of delay circuits 464 and 466 , respectively.
  • Outputs of the delay circuits 464 and 466 are coupled to inputs of delay circuits 468 and 470 , respectively.
  • Outputs of the delay circuits 468 and 470 are coupled to inputs of a multiplexer 472 .
  • a control input of the multiplexer 472 receives the data sample d k .
  • An output of the multiplexer 472 provides the sample x_R k based on the late clock.
  • FIG. 5 is a flow diagram depicting a method 500 of clock data recovery (CDR) for a receiver according to an example.
  • the method 500 can be performed by the receiver 110 described above.
  • the method 500 begins at block 502 , where the data slicer 302 generates data samples at the baud rate from a received signal.
  • the offset error slicer 304 generates offset error samples at the baud rate from the received signal.
  • the error slicer 306 generates error samples at the baud rate from the received signal.
  • the CDR 112 controls a sampling clock for the data slicer 302 , the offset error slicer 304 , and the error slicer 306 based on the data samples and the offset error samples.
  • the block 508 can include a block 510 , where the CDR 112 minimizes a cost function defined by a difference between a first pre-cursor coefficient and a residue coefficient, the residue coefficient comprising a difference between a first post-cursor coefficient and the offset first post-cursor coefficient.
  • the block 504 can include a block 512 , where the offset error slicer 304 sets its threshold based on a combination of the main cursor coefficient and the offset first post-cursor coefficient.
  • the block 506 can include a block 514 , where the error slicer 306 sets its threshold based on a combination of a main cursor coefficient and the first post-cursor coefficient.
  • the method 500 can further include a block 516 , where slicer(s) 308 generate samples from the received signal at the baud rate based on a phase shifted clock having a phase shift with respect to the sampling clock.
  • the decision adapt circuit 212 can use the samples from the slicer(s) 308 to adapt the offset first post-cursor coefficient used to generate the offset error samples used by the CDR circuit 112 .
  • the techniques described herein can be applied to other examples.
  • a speculative DFE is described, the techniques described herein can be used with a direct feedback DFE.
  • the DFE is shown as processing an analog signal output by an AFE, in other examples, an analog-to-digital converter (ADC) can be disposed between the AFE and the DFE and the DFE can operate on a digital signal.
  • ADC analog-to-digital converter
  • the technique of using an offset to control the timing location of a CDR can be generally applied with or without DFE or in any multi-tap DFE architecture. While specific cost functions have been described above, the techniques described herein can be used with CDRs that minimize other cost functions.
  • FIG. 6 illustrates an FPGA architecture 600 that includes a large number of different programmable tiles including multi-gigabit transceivers (“MGTs”) 601 , configurable logic blocks (“CLBs”) 602 , random access memory blocks (“BRAMs”) 603 , input/output blocks (“IOBs”) 604 , configuration and clocking logic (“CONFIG/CLOCKS”) 605 , digital signal processing blocks (“DSPs”) 606 , specialized input/output blocks (“I/O”) 607 (e.g., configuration ports and clock ports), and other programmable logic 608 such as digital clock managers, analog-to-digital converters, system monitoring logic, and so forth.
  • Some FPGAs also include dedicated processor blocks (“PROC”) 610 .
  • PROC dedicated processor blocks
  • 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 FIG. 6 .
  • Each programmable interconnect element 611 can also include connections to interconnect segments 622 of adjacent programmable interconnect element(s) in the same tile or other tile(s).
  • Each programmable interconnect element 611 can also include connections to interconnect segments 624 of general routing resources between logic blocks (not shown).
  • the general routing resources can include routing channels between logic blocks (not shown) comprising tracks of interconnect segments (e.g., interconnect segments 624 ) and switch blocks (not shown) for connecting interconnect segments.
  • the interconnect segments of the general routing resources can span one or more logic blocks.
  • the programmable interconnect elements 611 taken together with the general routing resources implement a programmable interconnect structure (“programmable interconnect”) for the illustrated FPGA.
  • 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.
  • BRAM logic element BRAM logic element
  • 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 10 B 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 .
  • IOL input/output logic element
  • 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 .
  • a horizontal area near the center of the die (shown in FIG. 6 ) is used for configuration, clock, and other control logic.
  • Vertical columns 609 extending from this horizontal area or column are used to distribute the clocks and configuration signals across the breadth of the FPGA.
  • Some FPGAs utilizing the architecture illustrated in FIG. 6 include additional logic blocks that disrupt the regular columnar structure making up a large part of the FPGA.
  • the additional logic blocks can be programmable blocks and/or dedicated logic.
  • processor block 610 spans several columns of CLBs and BRAMs.
  • the processor block 610 can various components ranging from a single microprocessor to a complete programmable processing system of microprocessor(s), memory controllers, peripherals, and the like.
  • FIG. 6 is intended to illustrate only an exemplary FPGA architecture.
  • the numbers of logic blocks in a row, the relative width of the rows, the number and order of rows, the types of logic blocks included in the rows, the relative sizes of the logic blocks, and the interconnect/logic implementations included at the top of FIG. 6 are purely exemplary.
  • more than one adjacent row of CLBs is typically included wherever the CLBs appear, to facilitate the efficient implementation of user logic, but the number of adjacent CLB rows varies with the overall size of the FPGA.
  • one or more of the MGTs 601 can include instance(s) of the receiver 110 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

In an example, an apparatus for clock data recovery (CDR) in a receiver includes a decision feedback equalizer (DFE) having a data slicer providing data samples, an error slicer providing error samples, and an offset error slicer providing offset error samples, the offset error slicer operable to set its threshold based on an offset first post-cursor coefficient. The apparatus further includes a CDR circuit operable to control a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.

Description

TECHNICAL FIELD
Examples of the present disclosure generally relate to electronic circuits and, in particular, to a decision feedback equalizer (DFE)-skewed clock data recovery (CDR) circuit.
BACKGROUND
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 at 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).
SUMMARY
Techniques for providing a decision feedback equalizer (DFE)-skewed clock data recovery (CDR) circuit are described. In an example, an apparatus for clock data recovery (CDR) in a receiver includes a decision feedback equalizer (DFE) having a data slicer providing data samples, an error slicer providing error samples, and an offset error slicer providing offset error samples, the offset error slicer operable to set its threshold based on an offset first post-cursor coefficient. The apparatus further includes a CDR circuit operable to control a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
In another example, a receiver includes an analog front end (AFE) operable to receive an analog signal from a channel. The receiver further includes a decision feedback equalizer (DFE) having a data slicer operable to generate data samples from output of the AFE, an error slicer operable to generate error samples from output of the AFE, and an offset error slicer operable to generate offset error samples from output of the AFE, the offset error slicer operable to set its threshold based on an offset first post-cursor coefficient. The receiver further includes a decision adapt circuit operable to generate pulse response coefficients for the DFE based on the data samples, the error samples, and the offset error samples. The receiver further includes a CDR circuit operable to control a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
In another example, a method of clock data recovery (CDR) for a receiver includes generating, at a baud rate, data samples from a received signal using a data slicer of a decision feedback equalizer (DFE); generating, at the baud rate, error samples from the received signal using an error slicer of the DFE; generating, at the baud rate, offset error samples from the received signal using an offset error slicer of the DFE, the offset error slicer operable to set its threshold based on an offset first post-cursor coefficient; and generating a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
These and other aspects may be understood with reference to the following detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
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.
FIG. 1 is a block diagram depicting an example communication system.
FIG. 2 is a block diagram depicting an example of receiver.
FIG. 3 is a block diagram depicting an example of a decision feedback equalizer (DFE) and decision adapt circuit.
FIG. 4A is a block diagram depicting an example of a data slicer for a speculative DFE.
FIG. 4B is a block diagram depicting an example of an offset error slicer for a speculative DFE.
FIG. 4C is a block diagram depicting an example of an error slicer for a speculative DFE.
FIG. 4D is a block diagram depicting an example of additional slicers for a speculative DFE.
FIG. 5 is a flow diagram depicting a method of clock data recovery (CDR) for a receiver according to an example.
FIG. 6 illustrates a field programmable gate array (FPGA) architecture in which examples described herein can be utilized.
FIG. 7A is a graph depicting a pulse response and Mueller-Muller clock data recovery (MM-CDR) locking scenario without DFE.
FIG. 7B is a graph depicting a pulse response and MM-CDR locking scenario in the presence of DFE without offset.
FIG. 7C is a graph depicting a pulse response and MM-CDR locking scenario in the presence of offset DFE according to an example.
FIG. 7D is a graph depicting more detail of a pulse response and MM-CDR locking scenario in the presence of offset DFE according to an example.
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.
DETAILED DESCRIPTION
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.
Baud-rate clock data recovery (CDR) circuits can be used in serial link systems as opposed to oversampling CDR circuits. Oversampling CDR circuits require more clocks and consume more power than baud-rate CDR circuits. A Mueller-Muller CDR (MM-CDR) is one type of baud-rate CDR circuit. An MM-CDR locks the coefficient of the first pre-cursor (h−1) to the coefficient of the first post-cursor (h1) of a cascaded channel, which includes both passive and active portions of the link.
A decision feedback equalizer (DFE) can be used in serial link systems, particularly when the data rate is above 5 gigabits per second (Gbps). In the presence of a DFE, the first post-cursor coefficient (h1) is reduced to near zero through the adaptation algorithm. In response, the MM-CDR will push the locking point near h−1=0, making the converged locking location too early in most cases, as well as making the locking location sensitive to channel and transmitter de-emphasis settings. In addition, the first post-cursor coefficient (h1) adapts to a higher value to account for the additional inter-symbol interference (ISI) during the converging process.
In examples described herein, the algorithm employed by an MM-CDR is modified by skewing the DFE equalization. As a result, the locking phase can be controlled, rather than being fixed at h−1=h0 in the presence of the DFE. In further examples described herein, a technique is described that allows a CDR to lock around the center of the pulse response through automatic DFE offset adjustment by checking the peaking amplitude around the sampling phase. Such a technique achieves good bit error rate (BER) performance and better jitter tolerance. These and other aspects are described below with respect to the following figures.
FIG. 1 is a block diagram depicting an example communication system 100. The communication system 100 comprises a transmitter 108 coupled to a receiver 110 via a channel 116. In an example, the transmitter 108 is a part of a serializer/deserializer (SerDes) 102, and the receiver 110 is part of a SerDes 104. For clarity, the deserialization circuitry is omitted from the SerDes 102, and the serialization circuitry is omitted from the SerDes 104. The SerDes 102 includes a parallel-in-serial-out (PISO) circuit 106 that converts parallel input data to serial output data for transmission over the channel 116 by the transmitter 108. The SerDes 104 includes a serial-in-parallel-out (SIPO) circuit that converts serial data output by the receiver 110 to parallel output data. The SerDes 102 and the SerDes 104 can include other circuitry (not shown), such as decoders, encoders, and the like.
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. An optical transmission medium can be any type of optical path between the transmitter 108 and the receiver 110, which can include any kind of optical modules.
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.
The transmitter 108 does not transmit a reference clock with the data. Rather, 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 sequentially 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.
FIG. 2 is a block diagram depicting an example of the receiver 110. The receiver 110 includes an analog front end (AFE) 202, a decision feedback equalizer (DFE) 204, the CDR 112, a phase interpolator 206, a phase locked loop (PLL) 208, clock buffers 210, and decision adapt circuit 212. The AFE 202 includes an input operable 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. 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 AFE 202 can include various analog circuits, such as a continuous time linear equalizer (CTLE) circuit, automatic gain control (AGC) circuit, and the like. An output of the AFE 202 provides an analog signal (designated r(t), where t denotes time).
An input of the DFE 204 is coupled to the output of the AFE 202 to receive the analog signal r(t). The DFE 204 includes a plurality of slicers 205 operable to sample the analog signal r(t). The slicers 205 sample the analog signal using sampling clocks (clocks) provided by the clock buffers 210. Each of the slicers 205 operates at the baud-rate (symbol rate). The DFE 204 outputs four sample streams, including a stream of data samples (dk), a stream of error samples (ek), a stream of offset error samples (ek′), and one or more additional streams of samples (xk), for each symbol (k). The data samples dk provide the estimated output symbols. The decision adapt circuit 212 includes inputs for receiving the error samples ek, the data samples dk, and the samples xk. The decision adapt circuit 212 computes coefficients for the DFE 204 based on the input samples. The DFE 204 and the decision adapt circuit 212 operate to equalize the analog signal to compensate for post-cursor ISI. The offset error samples ek′ and the additional samples xk are discussed below.
Inputs of the CDR 112 are coupled to outputs of the DFE 204 to receive the data samples dk and the offset error samples ek′. The CDR 112 generates a sampling phase value per symbol based on the data samples dk and the offset error samples ek. In an example, the CDR 112 can employ a Mueller-Muller algorithm to generate the sampling phase values. An input of the phase interpolator 206 is coupled to an output of the CDR 112 to receive the sampling phase. Another input of the phase interpolator 206 is coupled to an output of the PLL 208 to receive a clock signal. The phase interpolator 206 adjusts the phase of the clock signal from the PLL 208 based on the sampling phase values output by the CDR 112. An input of the clock buffers 210 is coupled to an output of the phase interpolator 206 to receive the phase adjusted clock signal. The clock buffers 210 output a plurality of clocks, as discussed below.
The CDR 112 operates using the offset error samples ek′, rather than the error samples ek used by the decision adapt circuit 212. The DFE 204 determines the offset error samples ek′ by skewing (creating an offset in) the first post-cursor coefficient (h1). The first post-cursor coefficient having the offset is referred to herein as h′1. In some examples, h′1 can be a fixed value. In other examples, h′1 can be adapted so that the CDR 112 locks near the center of the pulse response. The slicers 205 can sample the analog signal using clock signals having two different phase offsets relative to the data sampler phase to generate the additional samples xk. The phase offsets can be small as compared to the unit interval (UI) and can be implemented using analog buffer delays in the clock buffers 210. The decision adapt circuit 212 can use the additional samples xk generated using the offset phase clock(s) to adapt h1′, as discussed below.
FIG. 7A is a graph 702 depicting a pulse response and MM-CDR locking scenario without DFE. The graph 702 includes an axis 704 representing time increasing from left to right (in arbitrary units), and an axis 706 representing magnitude increasing bottom to top (in arbitrary units). A curve 708 shows a pulse response along with the location of the first pre-cursor h−1, main cursor h0, and first post-cursor h1 coefficients. The MM-CDR adaptation cost function is ekdk+1−ek+1dk (Eq. 1), where dk is the kth data sample received and ek is the kth error sample received. The kth error sample can be defined by:
e k=(Σl=−∞ d k−l h l)−d k h 0  Eq. 2,
where hl is the lth pulse response coefficient of the channel. Statistically, the cost function is equivalent to h−1−h1 and the MM-CDR drives the difference between the first pre-cursor coefficient and the first post-cursor coefficient to zero.
FIG. 7B is a graph 710 depicting a pulse response and MM-CDR locking scenario in the presence of DFE without offset. Elements of FIG. 7B that are the same or similar to those of FIG. 7A are designated with identical reference numerals and are described above. In the presence of DFE, the first post cursor coefficient h1 is removed from the error signal and the error becomes:
e k=(Σl=−∞ d k−l h l −d k h 0 −d k−1 h 1)  Eq. 3.
Statistically, the cost function is equivalent to h−1. So in the presence of DFE, the MM-CDR drives the first pre-cursor coefficient to equal 0. This can cause the converged locking location to be too early, as shown in FIG. 7B.
FIG. 7C is a graph 714 depicting a pulse response and MM-CDR locking scenario in the presence of offset DFE according to an example. Elements of FIG. 7C that are the same or similar to those of FIG. 7A are designated with identical reference numerals and are described above. By skewing the error samples used by the CDR 112, the Mueller-Muller cost function is modified, allowing the CDR 112 to be locked at any phase. For example, instead of cancelling the first post-cursor coefficient h1 entirely, only a part of the first post-cursor coefficient can be cancelled, as denoted by h′1. In such case, the error becomes:
e k=(Σl=−∞ d k−l h l −d k h 0 −d k−1 h 1′)  Eq. 4.
Statistically, the cost function becomes h−1−(h1−h1′)=h−1−Δh1, where Δh1 is the residue first post-cursor coefficient that is not canceled out in the offset error samples. As a result, the locking phase of the CDR 112 becomes h−1=Δh1, which is in the center of the pulse response as shown in FIG. 7C. Further, the offset first post-cursor coefficient h′—1 can be adapted so that the CDR 112 maintains a lock to the center of the pulse response.
FIG. 3 is a block diagram depicting an example of the DFE 204 and the decision adapt circuit 212. The DFE 204 includes a summer 303, a feedback path 305, and the slicers 205. The slicers 205 include a data slicer 302, an offset error slicer 304, an error slicer 306, and one or more slicers 308. The decision adapt circuit 212 includes adapt logic 310, adapt logic 312, and adapt logic 312.
An input to the summer 303 receives the analog signal r(t) from the AFE 202, and another input of the summer 303 is coupled to an output of the feedback path 305. The summer 303 sums the analog signal r(t) with the output of the feedback path 305 to generate an analog signal y(t). The analog signal y(t) is coupled to each of the slicers 302 through 308.
An input of the data slicer 302 is coupled to the output of the summer 303 to receive the analog signal y(t). A threshold of the data slicer 302 is set based on the first post-cursor coefficient h1. In the present example, the DFE 204 comprises a speculative or “look-ahead” architecture. In a speculative architecture, the first tap (h1) is “unrolled” and removed from the feedback path 305. The basic concept behind a speculative DFE is that every symbol is a logic “0” or a logic “1” and the decision threshold for both possibilities is known. Thus, the data slicer 302 makes two separate decisions for each symbol on parallel sampling paths using two separate decision thresholds h1 and −h1. The parallel sampling paths are multiplexed to select the “correct” decision based on the previously selected decision. The data slicer 302 samples the signal y(t) according to a clock signal (clk) output by the clock buffer 210 to generate the data samples dk.
An input of the offset error slicer 304 is coupled to the output of the summer 303 to receive the analog signal y(t). A threshold of the offset error slicer 304 is set based on a combination of the main cursor coefficient h0 and the offset first post-cursor coefficient h′1. The offset error slicer 304 generates separate samples on parallel decision paths using decision threshold generated from combinations of h0 and h′1. The parallel sampling paths are multiplexed to select the “correct” offset error based on a previous data sample. The offset error slicer 304 samples the signal y(t) according to the clock signal clk to generate the offset error samples ek′.
An input of the error slicer 306 is coupled to the output of the summer 303 to receive the analog signal y(t). A threshold of the error slicer 306 is set based on a combination of the main cursor coefficient h0 and the first post-cursor coefficient h1. The error slicer 306 generates separate samples on parallel decision paths using a decision threshold generated from combinations of h0 and h1. The parallel sampling paths are multiplexed to select the “correct” error based on a previous data sample. The error slicer 306 samples the signal y(t) according to the clock signal clk to generate the error samples ek.
Input(s) of the slicer(s) 308 is/are coupled to the output of the summer 303 to receive the analog signal y(t). In some examples, one slicer 308 is provided. In other examples, two slicers 308 are provided. A threshold of each slicer 308 is set based on a combination of the main cursor coefficient h0 and the first post-cursor coefficient h1. Each of the slicers 308 generates separate samples on parallel decision paths using a decision threshold generated from combinations of h0 and h1. The parallel sampling paths are multiplexed to select the “correct” value based on a previous data sample. Each of the slicers 308 samples the signal y(t) according to a clock signal having a phase offset from the clock signal clk. In an example, one slicer 308 can sample y(t) using either a clock signal clk_L (early with respect to clk) or a clock signal clk_R (late with respect to clk). In another example, a first slicer 308 can sample y(t) using a clock signal clk_L and a second slicer can sample y(t) using a clock signal clk_R. The clock signals clk_L and clk_R can be generated by the clock buffer 210. The phase offset for each of clk_L and clk_R can be less than the UI period.
The decision adapt circuit 212 generates values for the pulse response coefficients used by the DFE 204. Inputs of the adapt logic 310 receive the data samples and the error samples. The adapt logic 310 computes values for the main cursor coefficient and the first post-cursor coefficient using any known algorithm suitable for generating pulse response coefficients for a DFE. Inputs of the adapt logic 312 receive the samples xk from the slicer(s) 308. The adapt logic 312 computes values for the main cursor coefficient h0 based on the early clock clk_L, the late clock clk_R, or both, referred to as h0L and h0R. Inputs of the adapt logic 312 receive the main cursor coefficient h0, the first post-cursor coefficient h1, and the coefficients h0L and/or h0R. The adapt logic 312 computes values for the offset first post-cursor coefficient h′1 based on an algorithm described below. The decision adapt circuit 212 also generates second, third, fourth, etc. post-cursor coefficients for use by the feedback path 305 using any known adaptation algorithm.
FIG. 7D is a graph 718 depicting more detail of a pulse response and MM-CDR locking scenario in the presence of offset DFE according to an example. Elements of FIG. 7D that are the same or similar to those of FIG. 7A are designated with identical reference numerals and are described above. Assume two slicers 308 are provided that sample based on clk_L and clk_R, respectively. The two slicers 308 have a phase offset of Δt1 and Δt2 relative to the data sampler phase. The phase offsets Δt1 and Δt2 are small relative to the UI. Output of the slicers 308 can be used to generate the magnitude of the pulse response, h0L and h0R, at these two sampling phases. Table 1 shows an example algorithm used by the adapt logic 312 for h′1 adaptation.
TABLE 1
Condition h0L > h0R h0L > h0R h0L > h0R
Locking phase Late Early Center
Vote for h′1 Increment Decrement No vote
As shown in Table 1, if h0L>h0R then the locking phase is late and the adapt logic 312 increments the value of h′1. If h0L<h0R then the locking phase is early and the adapt logic 312 decrements the value of h′1. If h0L=h0R then the locking phase is centered and the adapt logic 312 maintains the value of h′1. In some examples, only one slicer 308 can be used. Table 2 shows an example algorithm used by the adapt logic 312 for h′1 adaptation based on only one slicer 308.
TABLE 2
Condition h0 > h0R h0 < h0R h0 = h0R
Locking phase Late Early Center
Vote for h′1 Increment Decrement No vote
As shown in Table 2, assume only one slicer 308 is used based on the clock signal clk_R (late clock signal). If h0>h0R then the locking phase is late and the adapt logic 312 increments the value of h′1. If h0<h0R then the locking phase is early and the adapt logic 312 decrements the value of h′1. If h0=h0R then the locking phase is centered and the adapt logic 312 maintains the value of h′1. A similar algorithm can be implemented using only one slicer 308 based on the clock signal clk_L (early clock signal).
FIG. 4A is a block diagram depicting an example of the data slicer 302 for a speculative DFE. The data slicer 302 includes a slicer circuit 402, a slicer circuit 404, a multiplexer 406, and a delay circuit 408. The slicer circuits 402 and 404 each sample the analog signal y(t) based on the clock signal clk. A decision threshold of the slicer circuit 402 is set based on −h1, and a decision threshold of the slicer circuit 404 is set based on h1. Outputs of the slicer circuits 402 and 404 are coupled to inputs of the multiplexer 406. A control input of the multiplexer 406 receives the data sample dk. An output of the multiplexer 406 is coupled to an input of the delay circuit 408. An output of the delay circuit 408 provides the data sample dk.
FIG. 4B is a block diagram depicting an example of the offset error slicer 304 for a speculative DFE. The offset error slicer 304 includes slicer circuits 410, 412, 414, and 416. The slicer circuits 410 through 416 each sample the analog signal y(t) based on the clock signal clk. A decision threshold of the slicer circuit 410 is set based on h0+h′1. A decision threshold of the slicer circuit 412 is set based on −h0+h′1. A decision threshold of the slicer circuit 414 is set based on h0−h′1. A decision threshold of the slicer circuit 416 is set based on −h0−h′1. Outputs of the slicer circuits 410 and 412 are coupled to inputs of a multiplexer 418. Outputs of the slicer circuits 414 and 416 are coupled to inputs of a multiplexer 420. Control inputs of the multiplexers 418 and 420 receive the data sample dk. An output of the multiplexer 418 is coupled to an input of a delay circuit 422. An output of the multiplexer 420 is coupled to an input of a delay circuit 424. Inputs of a multiplexer 426 are coupled to outputs of the delay circuits 422 and 424, respectively. A control input of the multiplexer 426 receives the data sample dk. An output of the multiplexer 426 provides the offset error sample ek′.
FIG. 4C is a block diagram depicting an example of the error slicer 306 for a speculative DFE. The offset error slicer 306 includes slicer circuits 428, 430, 432, and 434. The slicer circuits 428 through 434 each sample the analog signal y(t) based on the clock signal clk. A decision threshold of the slicer circuit 428 is set based on h0+h′1. A decision threshold of the slicer circuit 430 is set based on −h0+h′1. A decision threshold of the slicer circuit 432 is set based on h0−h′1. A decision threshold of the slicer circuit 434 is set based on −h0−h′1. Outputs of the slicer circuits 428 and 430 are coupled to inputs of a multiplexer 436. Outputs of the slicer circuits 432 and 434 are coupled to inputs of a multiplexer 438. Control inputs of the multiplexers 436 and 438 receive the data sample dk. An output of the multiplexer 436 is coupled to an input of a delay circuit 440. An output of the multiplexer 438 is coupled to an input of a delay circuit 442. Inputs of a multiplexer 444 are coupled to outputs of the delay circuits 440 and 442, respectively. A control input of the multiplexer 444 receives the data sample dk. An output of the multiplexer 444 provides the error sample ek.
FIG. 4D is a block diagram depicting an example of the slicers 308 for a speculative DFE. In the example, slicers 308 includes a slicer 308-1 and a slicer 308-2. The slicer 308-1 operates based on the early clock clk_L, and the slicer 308-2 operates based on the late clock clk_R.
The slicer 308-1 includes a slicer circuit 446 and a slicer circuit 448. The slicer circuits 446 and 448 each sample the analog signal y(t) based on the early clock signal clk_L. A decision threshold of the slicer circuit 446 is set based on h0−h1, and a decision threshold of the slicer circuit 448 is set based on −h0+h1. Outputs of the slicer circuits 446 and 448 are coupled to inputs of delay circuits 450 and 452, respectively. Outputs of the delay circuits 450 and 452 are coupled to inputs of delay circuits 454 and 456, respectively. Outputs of the delay circuits 454 and 456 are coupled to inputs of a multiplexer 458. A control input of the multiplexer 458 receives the data sample dk. An output of the multiplexer 458 provides the sample x_Lk based on the early clock.
The slicer 308-2 includes a slicer circuit 460 and a slicer circuit 462. The slicer circuits 460 and 462 each sample the analog signal y(t) based on the late clock signal clk_R. A decision threshold of the slicer circuit 460 is set based on h0−h1, and a decision threshold of the slicer circuit 462 is set based on −h0+h1. Outputs of the slicer circuits 460 and 462 are coupled to inputs of delay circuits 464 and 466, respectively. Outputs of the delay circuits 464 and 466 are coupled to inputs of delay circuits 468 and 470, respectively. Outputs of the delay circuits 468 and 470 are coupled to inputs of a multiplexer 472. A control input of the multiplexer 472 receives the data sample dk. An output of the multiplexer 472 provides the sample x_Rk based on the late clock.
FIG. 5 is a flow diagram depicting a method 500 of clock data recovery (CDR) for a receiver according to an example. The method 500 can be performed by the receiver 110 described above. The method 500 begins at block 502, where the data slicer 302 generates data samples at the baud rate from a received signal. At block 504, the offset error slicer 304 generates offset error samples at the baud rate from the received signal. At block 506, the error slicer 306 generates error samples at the baud rate from the received signal. At block 508, the CDR 112 controls a sampling clock for the data slicer 302, the offset error slicer 304, and the error slicer 306 based on the data samples and the offset error samples.
The block 508 can include a block 510, where the CDR 112 minimizes a cost function defined by a difference between a first pre-cursor coefficient and a residue coefficient, the residue coefficient comprising a difference between a first post-cursor coefficient and the offset first post-cursor coefficient.
The block 504 can include a block 512, where the offset error slicer 304 sets its threshold based on a combination of the main cursor coefficient and the offset first post-cursor coefficient. The block 506 can include a block 514, where the error slicer 306 sets its threshold based on a combination of a main cursor coefficient and the first post-cursor coefficient.
In an example, the method 500 can further include a block 516, where slicer(s) 308 generate samples from the received signal at the baud rate based on a phase shifted clock having a phase shift with respect to the sampling clock. At block 518, the decision adapt circuit 212 can use the samples from the slicer(s) 308 to adapt the offset first post-cursor coefficient used to generate the offset error samples used by the CDR circuit 112.
While specific examples have been described above, the techniques described herein can be applied to other examples. For example, while a speculative DFE is described, the techniques described herein can be used with a direct feedback DFE. While the DFE is shown as processing an analog signal output by an AFE, in other examples, an analog-to-digital converter (ADC) can be disposed between the AFE and the DFE and the DFE can operate on a digital signal. Further, the technique of using an offset to control the timing location of a CDR can be generally applied with or without DFE or in any multi-tap DFE architecture. While specific cost functions have been described above, the techniques described herein can be used with CDRs that minimize other cost functions.
The CDR systems described herein can be used in serial receivers or transceivers disposed in an IC, such as an FPGA. FIG. 6 illustrates an FPGA architecture 600 that includes a large number of different programmable tiles including multi-gigabit transceivers (“MGTs”) 601, configurable logic blocks (“CLBs”) 602, random access memory blocks (“BRAMs”) 603, input/output blocks (“IOBs”) 604, configuration and clocking logic (“CONFIG/CLOCKS”) 605, digital signal processing blocks (“DSPs”) 606, specialized input/output blocks (“I/O”) 607 (e.g., configuration ports and clock ports), and other programmable logic 608 such as digital clock managers, analog-to-digital converters, system monitoring logic, and so forth. Some FPGAs also include dedicated processor blocks (“PROC”) 610.
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 FIG. 6. Each programmable interconnect element 611 can also include connections to interconnect segments 622 of adjacent programmable interconnect element(s) in the same tile or other tile(s). Each programmable interconnect element 611 can also include connections to interconnect segments 624 of general routing resources between logic blocks (not shown). The general routing resources can include routing channels between logic blocks (not shown) comprising tracks of interconnect segments (e.g., interconnect segments 624) and switch blocks (not shown) for connecting interconnect segments. The interconnect segments of the general routing resources (e.g., interconnect segments 624) can span one or more logic blocks. The programmable interconnect elements 611 taken together with the general routing resources implement a programmable interconnect structure (“programmable interconnect”) for the illustrated FPGA.
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 10 B 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 FIG. 6) is used for configuration, clock, and other control logic. Vertical columns 609 extending from this horizontal area or column are used to distribute the clocks and configuration signals across the breadth of the FPGA.
Some FPGAs utilizing the architecture illustrated in FIG. 6 include additional logic blocks that disrupt the regular columnar structure making up a large part of the FPGA. The additional logic blocks can be programmable blocks and/or dedicated logic. For example, processor block 610 spans several columns of CLBs and BRAMs. The processor block 610 can various components ranging from a single microprocessor to a complete programmable processing system of microprocessor(s), memory controllers, peripherals, and the like.
Note that FIG. 6 is intended to illustrate only an exemplary FPGA architecture. For example, the numbers of logic blocks in a row, the relative width of the rows, the number and order of rows, the types of logic blocks included in the rows, the relative sizes of the logic blocks, and the interconnect/logic implementations included at the top of FIG. 6 are purely exemplary. For example, in an actual FPGA more than one adjacent row of CLBs is typically included wherever the CLBs appear, to facilitate the efficient implementation of user logic, but the number of adjacent CLB rows varies with the overall size of the FPGA.
In an example, one or more of the MGTs 601 can include instance(s) of the receiver 110.
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.

Claims (19)

What is claimed is:
1. An apparatus for clock data recovery (CDR) in a receiver, comprising:
a decision feedback equalizer (DFE) having a data slicer providing data samples, an error slicer providing error samples, and an offset error slicer providing offset error samples, the offset error slicer configured to set its threshold based on an offset first post-cursor coefficient; and
a CDR circuit configured to control a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
2. The apparatus of claim 1, wherein the CDR circuit is further configured to minimize a cost function defined by a difference between a first pre-cursor coefficient and a residue coefficient, the residue coefficient comprising a difference between a first post-cursor coefficient and the offset first post-cursor coefficient.
3. The apparatus of claim 2, wherein the error slicer is configured to set its threshold based on a combination of a main cursor coefficient and the first post-cursor coefficient, and wherein the offset error slicer is configured to set its threshold based on a combination of the main cursor coefficient and the offset first post-cursor coefficient.
4. The apparatus of claim 2, wherein the DFE includes at least one additional slicer each configured to output samples based on a phase shifted clock having a phase shift with respect to the sampling clock.
5. The apparatus of claim 4, wherein the at least one additional slicer comprises a first additional slicer configured to output first samples based on an early clock with respect to the sampling clock, and a second additional slicer configured to output second samples based on a late clock with respect to the sampling clock.
6. The apparatus of claim 5, further comprising:
a decision adapt circuit configured to generate an early main cursor coefficient based on the first samples and a late main cursor coefficient based on the second samples;
wherein the decision adapt circuit is further configured to increment or decrement the offset first post-cursor coefficient based on a comparison of the early main cursor coefficient and the late main cursor coefficient.
7. The apparatus of claim 4, wherein the at least one additional slicer comprises a first additional slicer configured to output first samples based on an early or late clock with respect to the sampling clock, and wherein the apparatus further comprises:
a decision adapt circuit configured to generate a shifted main cursor coefficient based on the first samples;
wherein the decision adapt circuit is further configured to increment or decrement the offset first post-cursor coefficient based on a comparison between a main cursor coefficient and the shifted main cursor coefficient.
8. A receiver, comprising:
an analog front end (AFE) configured to receive an analog signal from a channel;
a decision feedback equalizer (DFE) having a data slicer configured to generate data samples from an output of the AFE, an error slicer configured to generate error samples from the output of the AFE, and an offset error slicer configured to generate offset error samples from the output of the AFE, the offset error slicer configured to set its threshold based on an offset first post-cursor coefficient;
a decision adapt circuit configured to generate pulse response coefficients for the DFE based on the data samples, the error samples, and the offset error samples; and
a CDR circuit configured to control a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
9. The receiver of claim 8, further comprising:
a phase interpolator configured to adjust a phase of a reference clock signal based on an output of the CDR; and
a clock buffer circuit configured to output the sampling clock based on an output of the phase interpolator.
10. The receiver of claim 8, wherein the CDR circuit is further configured to minimize a cost function defined by a difference between a first pre-cursor coefficient and a residue coefficient, the residue coefficient comprising a difference between a first post-cursor coefficient and the offset first post-cursor coefficient.
11. The receiver of claim 10, wherein the error slicer is configured to set its threshold based on a combination of a main cursor coefficient and the first post-cursor coefficient, and wherein the offset error slicer is configured to set its threshold based on a combination of the main cursor coefficient and the offset first post-cursor coefficient.
12. The receiver of claim 10, wherein the DFE includes at least one additional slicer each configured to output samples based on a phase shifted clock having a phase shift with respect to the sampling clock.
13. The receiver of claim 12, wherein the at least one additional slicer comprises a first additional slicer configured to output first samples based on an early clock with respect to the sampling clock, and a second additional slicer configured to output second samples based on a late clock with respect to the sampling clock.
14. The receiver of claim 13, wherein the decision adapt circuit is configured to generate an early main cursor coefficient based on the first samples and a late main cursor coefficient based on the second samples, and wherein the decision adapt circuit is further configured to increment or decrement the offset first post-cursor coefficient based on a comparison of the early main cursor coefficient and the late main cursor coefficient.
15. The receiver of claim 12, wherein the at least one additional slicer comprises a first additional slicer configured to output first samples based on an early or late clock with respect to the sampling clock, wherein the decision adapt circuit is configured to generate a shifted main cursor coefficient based on the first samples, and wherein the decision adapt circuit is further configured to increment or decrement the offset first post-cursor coefficient based on a comparison between a main cursor coefficient and the shifted main cursor coefficient.
16. A method of clock data recovery (CDR) for a receiver, comprising:
generating, at a baud rate, data samples from a received signal using a data slicer of a decision feedback equalizer (DFE);
generating, at the baud rate, error samples from the received signal using an error slicer of the DFE;
generating, at the baud rate, offset error samples from the received signal using an offset error slicer of the DFE, the offset error slicer configured to set its threshold based on an offset first post-cursor coefficient; and
generating a sampling clock for the data slicer, the error slicer, and the offset error slicer based on the data samples and the offset error samples.
17. The method of claim 16, wherein to step of generating the sampling clock comprises minimizing a cost function defined by a difference between a first pre-cursor coefficient and a residue coefficient, the residue coefficient comprising a difference between a first post-cursor coefficient and the offset first post-cursor coefficient.
18. The method of claim 17, wherein the step of generating the error samples comprises setting a threshold of the error slicer based on a combination of a main cursor coefficient and the first post-cursor coefficient, and wherein the step of generating the offset error samples comprises setting a threshold of the offset error slicer based on a combination of the main cursor coefficient and the offset first post-cursor coefficient.
19. The method of claim 16, further comprising:
generating, at the baud rate, samples from the received signal from at least one additional slicer, each of the at least one additional slicer operating based on a phase shifted clock having a phase shift with respect to the sampling clock.
US14/829,318 2015-08-18 2015-08-18 DFE-skewed CDR circuit Active US9455848B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/829,318 US9455848B1 (en) 2015-08-18 2015-08-18 DFE-skewed CDR circuit
CN201610643648.XA CN106470177B (en) 2015-08-18 2016-08-08 CDR apparatus, receiver and method for shifting with DFE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/829,318 US9455848B1 (en) 2015-08-18 2015-08-18 DFE-skewed CDR circuit

Publications (1)

Publication Number Publication Date
US9455848B1 true US9455848B1 (en) 2016-09-27

Family

ID=56939522

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/829,318 Active US9455848B1 (en) 2015-08-18 2015-08-18 DFE-skewed CDR circuit

Country Status (2)

Country Link
US (1) US9455848B1 (en)
CN (1) CN106470177B (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602116B1 (en) * 2016-01-07 2017-03-21 Inphi Corporation Interleaved successive approximation register analog to digital converter
US20170279428A1 (en) * 2016-03-28 2017-09-28 Samsung Display Co., Ltd. System and method for setting analog front end dc gain
US20180183633A1 (en) * 2016-12-27 2018-06-28 Intel Corporation Clock phase adjustment using clock and data recovery scheme
US10038545B1 (en) 2017-07-26 2018-07-31 Xilinx, Inc. Systems and methods for clock and data recovery
US10079697B1 (en) * 2017-07-25 2018-09-18 Global Unichip Corporation Receiving device and signal conversion method
US20180278405A1 (en) * 2017-03-22 2018-09-27 Oracle International Corporation Baud-rate clock data recovery with improved tracking performance
CN109412585A (en) * 2017-08-18 2019-03-01 三星电子株式会社 It is configured as the electronic circuit of the deflection between adjustment clock signal
US10256968B1 (en) 2017-07-26 2019-04-09 Xilinx, Inc. Systems and methods for clock and data recovery
US10404445B1 (en) 2018-07-03 2019-09-03 Xilinx, Inc. Data receiver circuit and method of receiving data
US10791009B1 (en) 2019-11-13 2020-09-29 Xilinx, Inc. Continuous time linear equalization (CTLE) adaptation algorithm enabling baud-rate clock data recovery(CDR) locked to center of eye
US10972319B2 (en) * 2018-09-12 2021-04-06 Texas Instruments Incorporated Clockless decision feedback equalization (DFE) for multi-level signals
US10985764B1 (en) 2020-07-01 2021-04-20 Xilinx, Inc. Phase detector offset to resolve CDR false lock
US20210344529A1 (en) * 2018-07-02 2021-11-04 Rambus Inc. Symbol-Rate Phase Detector for Multi-PAM Receiver
US11177986B1 (en) * 2020-11-24 2021-11-16 Texas Instruments Incorporated Lane adaptation in high-speed serial links
US11223468B1 (en) * 2020-08-18 2022-01-11 Samsung Electronics Co., Ltd. Receiver circuit performing adaptive equalization and system including the same
US11240073B2 (en) * 2019-10-31 2022-02-01 Oracle International Corporation Adapative receiver with pre-cursor cancelation
US11245554B1 (en) 2020-06-17 2022-02-08 Xilinx, Inc. Frequency detector for clock data recovery
US20220190999A1 (en) * 2020-12-11 2022-06-16 Korea Electronics Technology Institute Pam-4 baud-rate clock and data recovery circuit using stochastic phase detection technique
US11398931B2 (en) * 2020-01-10 2022-07-26 Marvell Asia Pte Ltd Interference mitigation in high speed ethernet communication networks
US20220303110A1 (en) * 2021-03-18 2022-09-22 Samsung Display Co., Ltd. Systems and methods for symbol-spaced pattern-adaptable dual loop clock recovery for high speed serial links
US20230122734A1 (en) * 2020-11-05 2023-04-20 SHENZHEN PANGO MICROSYSTEMS Co.,Ltd. Clock and data recovery circuit, method and apparatus
US20240146347A1 (en) * 2022-10-28 2024-05-02 Rockwell Collins, Inc. Receiver sampling architecture for increased dynamic range using waveform feedback
US12028077B1 (en) 2023-02-22 2024-07-02 Apple Inc. Phase detector circuit for multi-level signaling

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10673548B2 (en) * 2017-12-07 2020-06-02 Kandou Labs, S.A. Decision feedback equalization correction of eye scope measurements
US10454485B1 (en) * 2018-06-21 2019-10-22 Samsung Display Co., Ltd. Baud rate clock and data recovery (CDR) for high speed links using a single 1-bit slicer
US10972249B1 (en) * 2020-04-20 2021-04-06 Microchip Technology Inc. System and method for data sampler drift compensation
CN114217561B (en) * 2021-12-15 2024-03-01 江苏集萃智能集成电路设计技术研究所有限公司 Control circuit device for DP interface and adaptive equalization method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120076181A1 (en) * 2010-09-28 2012-03-29 Lsi Corporation Adapting transfer functions of continuous-time equalizers
US20120192023A1 (en) * 2011-01-26 2012-07-26 Texas Instruments Incorporated Clock Data Recovery System
US8654830B1 (en) * 2010-12-20 2014-02-18 Netlogic Microsystems, Inc. Systems, circuits and methods for adapting parameters of a linear equalizer in a receiver
US20140281845A1 (en) * 2013-03-12 2014-09-18 Marvell World Trade Ltd. High speed serial data receiver architecture with dual error comparators
US20150180642A1 (en) * 2013-12-19 2015-06-25 Xilinx, Inc. Data receivers and methods of implementing data receivers in an integrated circuit
US20160065394A1 (en) * 2014-08-26 2016-03-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Serializer/deserializer with independent equalization adaptation for reducing even/odd eye disparity

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656845A (en) * 2004-12-20 2010-02-24 三星电子株式会社 Digital multimedia receiver and receiving method thereof
CN101578807A (en) * 2007-01-09 2009-11-11 拉姆伯斯公司 Receiver with clock recovery circuit and adaptive sample and equalizer timing
US8587477B2 (en) * 2010-01-25 2013-11-19 Qualcomm Incorporated Analog front end for system simultaneously receiving GPS and GLONASS signals
WO2014101143A1 (en) * 2012-12-28 2014-07-03 华为技术有限公司 Decision feedback equalizer and receiver
GB2503073B (en) * 2013-03-27 2014-04-23 Imagination Tech Ltd Efficient tracking of decision-feedback equaliser coefficients

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120076181A1 (en) * 2010-09-28 2012-03-29 Lsi Corporation Adapting transfer functions of continuous-time equalizers
US8654830B1 (en) * 2010-12-20 2014-02-18 Netlogic Microsystems, Inc. Systems, circuits and methods for adapting parameters of a linear equalizer in a receiver
US20120192023A1 (en) * 2011-01-26 2012-07-26 Texas Instruments Incorporated Clock Data Recovery System
US20140281845A1 (en) * 2013-03-12 2014-09-18 Marvell World Trade Ltd. High speed serial data receiver architecture with dual error comparators
US20150180642A1 (en) * 2013-12-19 2015-06-25 Xilinx, Inc. Data receivers and methods of implementing data receivers in an integrated circuit
US20160065394A1 (en) * 2014-08-26 2016-03-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Serializer/deserializer with independent equalization adaptation for reducing even/odd eye disparity

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602116B1 (en) * 2016-01-07 2017-03-21 Inphi Corporation Interleaved successive approximation register analog to digital converter
US10256784B2 (en) * 2016-03-28 2019-04-09 Samsung Display Co., Ltd. System and method for setting analog front end DC gain
US20170279428A1 (en) * 2016-03-28 2017-09-28 Samsung Display Co., Ltd. System and method for setting analog front end dc gain
US20180183633A1 (en) * 2016-12-27 2018-06-28 Intel Corporation Clock phase adjustment using clock and data recovery scheme
US10374785B2 (en) * 2016-12-27 2019-08-06 Intel Corporation Clock phase adjustment using clock and data recovery scheme
US20180278405A1 (en) * 2017-03-22 2018-09-27 Oracle International Corporation Baud-rate clock data recovery with improved tracking performance
US10142089B2 (en) * 2017-03-22 2018-11-27 Oracle International Corporation Baud-rate clock data recovery with improved tracking performance
US10079697B1 (en) * 2017-07-25 2018-09-18 Global Unichip Corporation Receiving device and signal conversion method
US10256968B1 (en) 2017-07-26 2019-04-09 Xilinx, Inc. Systems and methods for clock and data recovery
US10038545B1 (en) 2017-07-26 2018-07-31 Xilinx, Inc. Systems and methods for clock and data recovery
CN109412585A (en) * 2017-08-18 2019-03-01 三星电子株式会社 It is configured as the electronic circuit of the deflection between adjustment clock signal
CN109412585B (en) * 2017-08-18 2023-10-20 三星电子株式会社 Electronic circuit configured to adjust skew between clock signals
US20210344529A1 (en) * 2018-07-02 2021-11-04 Rambus Inc. Symbol-Rate Phase Detector for Multi-PAM Receiver
US11683206B2 (en) * 2018-07-02 2023-06-20 Rambus Inc. Symbol-rate phase detector for multi-PAM receiver
US10404445B1 (en) 2018-07-03 2019-09-03 Xilinx, Inc. Data receiver circuit and method of receiving data
US10972319B2 (en) * 2018-09-12 2021-04-06 Texas Instruments Incorporated Clockless decision feedback equalization (DFE) for multi-level signals
US11558223B2 (en) * 2019-10-31 2023-01-17 Oracle International Corporation Adaptive receiver with pre-cursor cancelation
US20220191071A1 (en) * 2019-10-31 2022-06-16 Oracle International Corporation Adaptive receiver with pre-cursor cancelation
US11784855B2 (en) * 2019-10-31 2023-10-10 Oracle International Corporation Adaptive receiver with pre-cursor cancelation
US11240073B2 (en) * 2019-10-31 2022-02-01 Oracle International Corporation Adapative receiver with pre-cursor cancelation
US20230155867A1 (en) * 2019-10-31 2023-05-18 Oracle International Corporation Adaptive receiver with pre-cursor cancelation
WO2021096613A1 (en) * 2019-11-13 2021-05-20 Xilinx, Inc. Continuous time linear equalization (ctle) adaptation algorithm enabling baud-rate clock data recovery (cdr) locked to center of eye
US10791009B1 (en) 2019-11-13 2020-09-29 Xilinx, Inc. Continuous time linear equalization (CTLE) adaptation algorithm enabling baud-rate clock data recovery(CDR) locked to center of eye
CN114731316A (en) * 2019-11-13 2022-07-08 赛灵思公司 Continuous time linear equalization adaptation algorithm supporting baud rate clock data recovery locked to eye center
US11398931B2 (en) * 2020-01-10 2022-07-26 Marvell Asia Pte Ltd Interference mitigation in high speed ethernet communication networks
US11245554B1 (en) 2020-06-17 2022-02-08 Xilinx, Inc. Frequency detector for clock data recovery
US10985764B1 (en) 2020-07-01 2021-04-20 Xilinx, Inc. Phase detector offset to resolve CDR false lock
US11223468B1 (en) * 2020-08-18 2022-01-11 Samsung Electronics Co., Ltd. Receiver circuit performing adaptive equalization and system including the same
US20230122734A1 (en) * 2020-11-05 2023-04-20 SHENZHEN PANGO MICROSYSTEMS Co.,Ltd. Clock and data recovery circuit, method and apparatus
US11177986B1 (en) * 2020-11-24 2021-11-16 Texas Instruments Incorporated Lane adaptation in high-speed serial links
US11818240B2 (en) * 2020-12-11 2023-11-14 Korea Electronics Technology Institute PAM-4 Baud-rate clock and data recovery circuit using stochastic phase detection technique
US20220190999A1 (en) * 2020-12-11 2022-06-16 Korea Electronics Technology Institute Pam-4 baud-rate clock and data recovery circuit using stochastic phase detection technique
US11546127B2 (en) * 2021-03-18 2023-01-03 Samsung Display Co., Ltd. Systems and methods for symbol-spaced pattern-adaptable dual loop clock recovery for high speed serial links
US20220303110A1 (en) * 2021-03-18 2022-09-22 Samsung Display Co., Ltd. Systems and methods for symbol-spaced pattern-adaptable dual loop clock recovery for high speed serial links
US11902408B2 (en) 2021-03-18 2024-02-13 Samsung Display Co., Ltd. Systems and methods for symbol-spaced pattern-adaptable dual loop clock recovery for high speed serial links
US20240146347A1 (en) * 2022-10-28 2024-05-02 Rockwell Collins, Inc. Receiver sampling architecture for increased dynamic range using waveform feedback
US12003262B2 (en) * 2022-10-28 2024-06-04 Rockwell Collins, Inc. Receiver sampling architecture for increased dynamic range using waveform feedback
US12028077B1 (en) 2023-02-22 2024-07-02 Apple Inc. Phase detector circuit for multi-level signaling

Also Published As

Publication number Publication date
CN106470177B (en) 2020-11-24
CN106470177A (en) 2017-03-01

Similar Documents

Publication Publication Date Title
US9455848B1 (en) DFE-skewed CDR circuit
US9313017B1 (en) Baud-rate CDR circuit and method for low power applications
US9438409B1 (en) Centering baud-rate CDR sampling phase in a receiver
US9413524B1 (en) Dynamic gain clock data recovery in a receiver
US10904044B2 (en) Serdes receiver with optimized CDR pulse shaping
US9960902B1 (en) Temporal change in data-crossing clock phase difference to resolve meta-stability in a clock and data recovery circuit
CN109863412B (en) Built-in eye scanning for ADC-based receivers
US7616686B2 (en) Method and apparatus for generating one or more clock signals for a decision-feedback equalizer using DFE detected data
US10498562B2 (en) Electric signal transmission device
US9294314B2 (en) Receiver having limiter-enhanced data eye openings
EP2241050B1 (en) Receiver with enhanced clock and data recovery
US8325792B2 (en) Apparatus and method for decision feedback equalization
US8229020B2 (en) Integrated equalization and CDR adaptation engine with single error monitor circuit
US9882703B1 (en) Resolving meta-stability in a clock and data recovery circuit
US8743945B2 (en) Shift register based downsampled floating tap decision feedback equalization
US9191244B2 (en) Equalizer and semiconductor device
US20080219390A1 (en) Receiver Circuit
US9882795B1 (en) Signal loss detector
US11962441B2 (en) Multi-tap decision feed-forward equalizer with precursor and postcursor taps
US11240075B2 (en) SerDes receiver with optimized CDR pulse shaping
Shafik et al. 3.6 A 10Gb/s hybrid ADC-based receiver with embedded 3-tap analog FFE and dynamically-enabled digital equalization in 65nm CMOS
CN113572489A (en) Timing recovery device, jitter reduction circuit, and receiver device
US8509299B2 (en) Decision feedback equalizer operable with multiple data rates
US20050254569A1 (en) System and method for generating equalization coefficients
US9426004B1 (en) Method for reducing jitter in receivers

Legal Events

Date Code Title Description
AS Assignment

Owner name: XILINX, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, HONGTAO;ZHANG, GEOFFREY;CHANG, KUN-YUNG;SIGNING DATES FROM 20150731 TO 20150818;REEL/FRAME:036351/0827

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8