Phase rotation circuit for eye scope measurements
10965290 ยท 2021-03-30
Assignee
Inventors
Cpc classification
H04L7/0337
ELECTRICITY
H04L25/14
ELECTRICITY
H03K19/21
ELECTRICITY
H04L25/0272
ELECTRICITY
H03L7/0807
ELECTRICITY
H03L7/087
ELECTRICITY
H03L2207/06
ELECTRICITY
H03L7/0891
ELECTRICITY
H04L25/493
ELECTRICITY
International classification
H03K19/21
ELECTRICITY
H04L25/493
ELECTRICITY
H04L25/14
ELECTRICITY
H04L25/02
ELECTRICITY
H04L7/033
ELECTRICITY
H03L7/099
ELECTRICITY
H03L7/087
ELECTRICITY
Abstract
Methods and systems are described for generating, with a local oscillator and an adjustable phase interpolator, a data-sampling clock and a variable-phase-offset eye-measurement clock, forming a received data signal using a multi-input comparator, generating, using a data slicer and the data sampling clock, a receive sample of the received data signal, and generating, using at least one eye slicer and the variable-phase-offset eye-measurement clock, a plurality of eye characteristic measurements by adjusting a sampling threshold of the at least one eye slicer and a phase offset of the variable-phase-offset eye-measurement clock.
Claims
1. A method comprising: selecting a local oscillator output as a data-sampling clock for a data sampler and a phase interpolator output as a variable-phase-offset eye-measurement clock for an eye sampler and obtaining a first phase interpolator code that aligns a sampling instant of the eye sampler to an edge of an eye with respect to a data sampling instant of the data sampler; selecting the phase interpolator output as the data-sampling clock for the data sampler and the local oscillator output as the variable-phase-offset eye-measurement clock for the eye sampler and obtaining a second phase interpolator code that aligns the sampling instant of the eye sampler to the edge of the eye with respect to the data sampling instant of the data sampler; and outputting a phase interpolator delay value by combining the first and second phase interpolator codes.
2. The method of claim 1, wherein an offset from the data sampling instant to the sampling instant of the eye sampler aligned to the edge of the eye corresponds to the phase interpolator delay value added to the first phase interpolator code.
3. The method of claim 1, wherein the data sampling instant is determined by phase-error signals generated by the data sampler according to the data-sampling clock.
4. The method of claim 1, wherein aligning the sampling instant of the eye sampler to the edge of the eye comprises adjusting the local oscillator output responsive to an adjustment to the phase interpolator output.
5. The method of claim 4, wherein the phase interpolator output is adjusted responsive to samples generated according to the local oscillator output.
6. The method of claim 5, wherein the phase interpolator output is re-locked to the data sampling instant according to phase-error signals.
7. The method of claim 1, wherein the phase interpolator output and the local oscillator output are selected as the variable-phase-offset eye-measurement clock via a multiplexer.
8. The method of claim 1, further comprising generating data output signals and phase-error signals at the data sampling instant.
9. The method of claim 8, wherein generating the data output signals and the phase-error signals at the data sampling instant comprises sampling an output of a multi-input comparator (MIC).
10. The method of claim 9, wherein the local oscillator output has a sub-channel specific delay.
11. An apparatus comprising: a local oscillator configured to generate a local oscillator output; a phase interpolator configured to generate a phase interpolator output based on the local oscillator output, the phase interpolator having a phase interpolator delay value determined from first and second phase interpolator codes; a selection circuit configured to: select the local oscillator output as a data-sampling clock for a data sampler and the phase interpolator output as a variable-phase-offset eye-measurement clock for an eye sampler to obtain the first phase interpolator code that aligns a sampling instant of the eye sampler to an edge of an eye with respect to a data sampling instant of the data sampler; and select the phase interpolator output as the data-sampling clock for the data sampler and the local oscillator output as the variable-phase-offset eye-measurement clock for the eye sampler to obtain the second phase interpolator code that aligns the sampling instant of the eye sampler to the edge of the eye with respect to the data sampling instant of the data sampler.
12. The apparatus of claim 11, wherein an offset from the data sampling instant of the data sampler to the sampling instant of the eye sampler aligned to the edge of the eye corresponds to the phase interpolator delay value added to the first phase interpolator code.
13. The apparatus of claim 11, wherein the data sampling instant of the data sampler is determined by phase-error signals generated by the data sampler according to the data-sampling clock.
14. The apparatus of claim 11, wherein the local oscillator is configured to adjust the local oscillator output responsive to an adjustment to the phase interpolator output to align the sampling instant of the eye sampler to the edge of the eye.
15. The apparatus of claim 14, wherein the phase interpolator is configured to adjust the phase interpolator output responsive to samples generated according to the local oscillator output.
16. The apparatus of claim 15, wherein the phase interpolator output is re-locked to the data sampling instant according to phase-error signals generated according to the phase-interpolator output.
17. The apparatus of claim 11, wherein the selection circuit comprises a multiplexer.
18. The apparatus of claim 11, wherein the data sampler is configured to generate data output signals and phase-error signals at the data sampling instant.
19. The apparatus of claim 18, wherein the data sampler is configured to sample an output of a multi-input comparator (MIC) to generate the data output signals and the phase-error signals.
20. The apparatus of claim 19, further comprising a tunable delay element configured to apply a sub-channel specific delay to the local oscillator output.
Description
BRIEF DESCRIPTION OF FIGURES
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION
(12) As described in [Cronie I], [Cronie II], [Cronie III] and [Cronie IV], vector signaling codes may be used to produce extremely high bandwidth data communications links, such as between two integrated circuit devices in a system. As illustrated by the embodiment of
(13) Some embodiments additionally support additional modes of operation in which, as one example, some number of data communications channels are reconfigured to support legacy communications protocols such as non-return-to-zero (NRZ) differential signaling.
(14) Embodiments described herein can also be applied to prior art permutation sorting methods not covered by the vector processing methods of [Cronie II], [Cronie III], [Cronie IV], and/or [Tajalli I]. More generally, embodiments may apply to any communication or storage methods requiring coordination of multiple channels or elements of the channel to produce a coherent aggregate result.
(15) Receiver Data Detection
(16) To provide context for the following examples, one typical high-speed receiver embodiment [Stewart I] is used for illustrative purposes, without limitation. As illustrated in
(17) As described in [Tajalli I], [Holden I] and [Ulrich I], vector signaling codes may be efficiently detected by linearly combining sets of input signals using Multi-Input comparators or mixers (MIC). For the 5b6w code used by the example receiver, five such mixers acting on weighted subsets of the six received data input signals will detect the five data bits without need of further decoding. In one embodiment, one additional mixer acting on combinations of the two received clock signals will similarly detect the clock signal.
(18) Other embodiments may forgo the dedicated wires used to communicate a separate clock signal, and instead the receiver extracts a clock from transitions occurring on the data lines themselves.
(19) As is well understood in the art, successful application of this technique benefits from a sufficiently large transition density on the data lines (which may be alternatively interpreted as requiring a sufficiently small interval between transitions) and/or sufficient free-running frequency stability within the PLL to maintain accurate data sample timing during non-transition intervals. [Shokrollahi I] describes suitable vector signaling codes having such guaranteed transition density. Alternatively, known art transition-enforcing encoding such as the commonly utilized 8b10b and 64b66b codes may be applied to all or some subset of the data encoded for transmission to insure a guaranteed minimum transition density at the receiver. In one embodiment, bit level transition encoding may be performed on the composite data bit stream, or may be applied to a bit stream being applied to given subchannel, or may be applied to bits being modulated onto subchannels in a given transmit and/or receive slice, or applied to bits being modulated onto a given subchannel (or each subchannel) in each slice.
(20) Because of the high data rates involved, multiple parallel phases of receive processing are shown in the example receiver. In the illustrated example, the five detected data signals MIC0-MIC4 are processed in four parallel phases of receive data processing, each phase 230 including data sampling and subsequent buffering, followed by recombination of the four phase outputs into a received data stream, shown in
(21) Clock Recovery circuits (also known in the art as Clock Data Recovery or CDR) support such sampling measurements by extracting timing information, either from the data lines themselves or from dedicated clock signal inputs, and utilize that extracted information to generate clock signals to control the time interval used by the data line sampling device(s). The actual clock extraction may be performed using well known circuits such as a Phase Locked Loop (PLL) or Delay Locked Loop (DLL), which in their operation may also generate higher frequency internal clocks, multiple clock phases, etc. in support of receiver operation. In the embodiment of
(22) Receiver Clock Recovery
(23) The example receiver utilizes a PLL embodiment as shown in
(24) In one embodiment, ring oscillator 340, including a sequence of identical gates in a closed loop, is used as the internal Voltage Controlled Oscillator (VCO) timing source for the PLL. The VCO frequency is varied by analog adjustment of at least one of gate propagation delay, inter-gate rise and fall time, and gate switching threshold within the ring oscillator. This may be implemented via switched capacitor banks, where a digital control signal is applied to selective place capacitive elements in parallel and/or series combinations to alter an RC time constant, as one non-limiting example. Still further, a current source that drives a gate of the ring oscillator may be increased or decreased to alter the output switching rise-time/fall-time, and thereby adjust the effective delay. Outputs taken at equal intervals (i.e. separated by equal numbers of ring oscillator gates) along the sequence of gates comprising the ring oscillator provide the four data phase sampling clocks, herein identified as the 0, 90, 180, and 270 degree clocks.
(25) In one embodiment, the ring oscillator is composed of eight identical sets of logic gates (e.g., a set of inverter circuits), thus the phase difference from one such set to the next is 45 degrees. In this embodiment, the 0, 90, 180, and 270 degree outputs may be obtained, as examples, from the second, fourth, sixth, and eighth outputs. As these clocks are cyclical, the final tap may be considered as logically adjacent to the initial tap, a 0 degree and a 360 degree phase offset being equivalent. As many variations of such designs are known in the art, neither the number of elements in the ring oscillator nor the specific taps at which particular outputs are made should be construed as implying a limitation. As one example, the location of the 0 degree tap is arbitrary, as one familiar with the art will recognize that normal PLL behavior will phase align the ring oscillator with the external phase reference regardless of its initial phase. Similarly, equivalent designs may be obtained in which the output clock phases do not have square wave duty cycles; as one example being produced by the action of AND or OR gates with inputs from different tap locations. In the example receiver, it is desired that the VCO operate at a multiple of the received reference clock frequency, thus Frequency Divider 350 divides the VCO outputs by a comparable amount prior to the Phase Detector. In one embodiment, binary (factor of two) dividers are incorporated at 350 to obtain the correct sampling clock rate. In another embodiment, no divider is utilized and the VCO outputs are presented to the phase interpolator directly.
(26) Each of the four phases of sampling clocks is appropriately timed to sample received data for one of the four parallel processing phases. In particular, internal clock ph000 is aligned to optimally trigger data samplers in the phase0 phase of processing, clock ph090 in phase1, clock ph180 in phase2, and clock ph270 in phase3.
(27) To allow the overall phase of the locked PLL signals to be offset from the reference clock input phase, the local clock outputs presented to the phase comparator may be modified by phase interpolator 350, the output phase of which is controllably intermediate between its input clock phases. Thus, the PLL may lock with its fixed phase relationship, while the internal clock signals obtained from ring oscillator 340 will be offset from that fixed phase by the phase delay amount introduced by phase interpolator 350, as controlled by signal Phase offset correction. Phase interpolators are known in the art, examples being provided by [Buchwald I] and [Tajalli II].
(28) In one embodiment, phase interpolator 360 receives multiple clock phases from the ring oscillator 340 having 90 degree phase differences. Said phase interpolator may be controlled to select two adjacent clock input phases and then to interpolate between them so as to produce an output at a chosen phase offset between those selected two values. For purposes of description, it may be assumed that a phase detector design is used which drives the PLL to lock with a zero phase differential between the two phase detector inputs. Thus, continuing the example, applying the 0 and 90 degree clock phases as inputs to the phase interpolator allows adjustment such that the PLL leads the reference clock input by between 0 and 90 degrees.
(29) It will be apparent that equivalent results with comparable phase offsets may be obtained using other pairs of degree clocks and/or other phase detector designs, which as previously described may lock with different phase differentials than that of the present example. Thus neither the particular phase clocks chosen nor the particular phase detector design described herein are limiting.
(30) In the known art, [Nandwana] describes a Fractional-N clock multiplying PLL in which a single reference clock is phase compared to two local clocks derived using different integer divisor ratios, with interpolation between the two phase error results dynamically chosen to cancel the phase quantization error.
(31) Data-Driven Phase Comparator
(32) Considering the multiple data inputs being monitored by Matrix Phase Comparator 310, several operational considerations are apparent. First, as any received data bit may remain in either the 1 or 0 state in consecutive unit intervals, only data transitions between those states are relevant to PLL phase. In particular, between any two consecutive unit intervals a transition may or may not occur in any given data bit; indeed, no transition may occur on any data bit in a given clock interval. If a transition does occur, the matrix phase comparator may utilize the timing of that transition to update the PLL clock phase, while if no transition occurs, the PLL clock should be allowed to continue unchanged. If two or more data lines transition in the same clock interval, the timing errors derived from each such transition may be summed, which is consistent with the previously-described matrix phase comparator behavior.
(33) This behavior suggests that a state-machine phase detector may be a suitable candidate for the phase comparison elements of the comparison matrix, as such designs may be configured to respond only to signal transitions rather than signal level, and may be configured to output a no change result in the absence of a signal transition. In some embodiments, the partial phase comparators 512 shown in
(34) Another embodiment may incorporate data signal transition detectors, one example including an XOR gate comparing a data signal with a slightly time delayed copy of the same data signal, for example after passing through a logic buffer gate. Such an embodiment will output a logical pulse at each transition, and the edge of such pulse may be phase compared to a PLL clock edge, using any phase detector as previously described. An advanced embodiment may further incorporate a gating or time windowing function in the partial phase comparators, to produce a no change error result from any phase detector not receiving a data signal transition in a given time interval.
(35) In some embodiments, the partial phase-error signals are analog signals formed using respective charge pump circuits. In such embodiments, the method further includes filtering the composite phase-error signal.
(36) In some embodiments, the method further includes introducing, for a given partial phase comparator, a sub-channel specific delay into the corresponding phase of the local oscillator signal, the sub-channel specific delay associated with the data signal received at the given partial phase comparator.
(37) In some embodiments, the comparison of the corresponding phase of the local oscillator signal and the corresponding data signal is formed using a linear edge-triggered phase detector. Alternatively, the comparison of the corresponding phase of the local oscillator signal and the corresponding data signal may be formed using an edge-triggered bang-bang phase detector.
(38) In some embodiments, the method further includes applying a weight to the partial phase-error signal. In some embodiments, the plurality of data signals have a collective transition density above a predetermined threshold. In some embodiments, the method further includes outputting a no-change result in response to determining no transition occurred. In such embodiments, outputting the no-change result includes setting the partial phase comparator in a high-impedance state.
(39) Multi-Modal Data-Driven Clock Recovery Circuit
(40) In some embodiments, a data-driven clock recovery circuit may be configurable to operate in various modes, including a legacy mode.
(41) In particular, such a data-driven PD may be implemented as shown in
(42) In a first mode of operation, the circuit may utilize all three sub-channels 1002a/1002b/1002c. The number of sub-channels is shown as three purely for illustrative purposes, and is not considered limiting, as higher orders of orthogonal ensemble non-return-to-zero (ENRZ) signaling may be used. In some embodiments, each sub-channel may include a MIC.
(43) In a legacy mode of operation, sub-channel 1002b may be switched off, and the circuit may be operated in a non-return-to-zero (NRZ) mode of operation, with sub-channels 1002a and 1002c each receiving a differential data signal over a respective pair of wires of the four-wires bus. In such an embodiment, the MIC of sub-channel 1002a may be connected to wires w0/w1 while wires w2/w3 are disconnected, while the MIC of sub-channel 1002c may be connected to wires w2/w3 with wires w0/w1 being disconnected. The output of sub-channel 1002c may be directed to adjust a second VCO 1015 via the right-most charge pump circuit, which may have an independent frequency and/or phase relationship with respect to VCO 1010. Selection element 1020c directs the phase provided by VCO 1015 to sub-channel 1002c to generate the early-late indication associated with sub-channel 1002c. Selection elements 1020a and 1020b are shown for illustrative purposes to illustrate symmetry, however it should be noted that selection elements 1020a and 1020b may be omitted in some embodiments, as sub-channels 1002a and 1002b are, in most embodiments, only connected to VCO 1010 (e.g., as shown in
(44) In a further embodiment, configurable delay elements may be introduced between receiver clock system 1170 and each subchannel's samplers 1120, to allow incremental correction of timing variations among the multiple subchannels. Using the previous three subchannel system as an example offered without implying limitation, it may be observed that the signals received on subchannel 2 transition later than those of subchannels 1 and 3, thus the early/late indications from subchannel 2 indicate an early clock, even though subchannels 1 and 3 do not. In such a situation, the delay element associated with subchannel 2 may be configured to introduce a slight delay, moving its sampling time later relative to the overall clock timing. In at least one embodiment, individual clock source selections may be made for the subchannel samplers associated with data and clock edge detection, and with auxillary functions such as gathering statistical eye graph data and calibration. In such an embodiment, clock source selections include at least the unmodified clock provided by the Receiver Clock System, the incrementally delayed clock provided by the configurable delay element, and may also include a separately adjustable clock used for statistical eye graph sampling.
(45) Obtaining Eye Diagram Measurements
(46) The value of such eye diagram measurements is well understood in the art, providing an easily-understood presentation of multiple receiver characteristics, including receive signal amplitude margin, timing margin, and a rough determination of error rate. Other characteristics, including bandwidth, equalization, system gain, etc. may also be inferred. Such data may suggest or initiate system adjustments or controls, including transmit power adjustment, receiver gain adjustment, baud rate adjustment, and receive equalization adjustment.
(47)
(48) In some embodiments, at least one eye slicer comprises a first eye slicer having a positive threshold offset, and a second eye slicer having a negative threshold offset. In some embodiments, the data slicer is a DFE-compensated slicer that includes a DFE offset voltage configured to adjust the data slicer threshold to obtain the receive sample.
(49) In some embodiments, the method further includes simultaneously obtaining a data-sampling phase error measurement using a second DFE-compensated slicer having a second DFE offset voltage. In such embodiments, the first and second DFE-compensated slicers may utilize slicing thresholds that are offset with a positive DFE offset and a negative DFE offset, respectively.
(50) In some embodiments, the method includes generating the receive sample using an integrate and hold circuit.
(51) In some embodiments, the method includes generating a data sample and a data phase error signal using the data slicer. In such embodiments, the data phase error signal is processed by a charge pump circuit to generate a local oscillator control signal for the local oscillator.
(52) In some embodiments, the plurality of eye characteristic measurements are used to perform at least one action from the group consisting of: a transmit power adjustment, a receiver gain adjustment, a baud rate adjustment, and a receive equalization adjustment.
(53) In some embodiments, one of the data-sampling clock and the variable-phase-offset eye-measurement clock is generated by the local oscillator, and wherein the other of the data-sampling clock and the variable-phase-offset eye-measurement clock is generated using the phase interpolator. In such embodiments, the data sampling clock and variable-phase-offset eye-measurement clock may be selectively provided to the data slicer and the at least one eye slicer using a selection circuit.
(54) In some embodiments, generating the data-sampling clock includes using the local oscillator, and the variable-phase-offset eye-measurement clock is generated using the adjustable phase interpolator. In alternative embodiments, the data-sampling clock is generated using the adjustable phase interpolator, and the variable-phase-offset eye-measurement clock is generated using the local oscillator.
(55)
(56) Each sampler accepts an input signal at D, and compares the state of D relative to threshold Th at the time determined by clock ck with the result available at output Q. Samplers 451 and 452 are provided with speculative DFE correction values +vh1 and vh1, corresponding to DFE correction values of previous data values high and low respectively. Thus, as previously described, one of results D/E1 and D/E2 will be chosen by multiplexer 460 as the received data value, with the other result (a potential edge transition) directed by multiplexer 461 to Phase Comparator/Charge Pump 470 to produce a Phase Error signal for adjusting the PLL. Such a phase error signal may correspond to the Early/Late signals shown in
(57) A comparable multiplexer to that illustrated as 460 selects between signals Eye1 and Eye2 based on the previous received data value, to obtain a measurement result for generation of a statistical eye diagram corresponding to amplitude thresholds +vey, vey and the timing offset provided by adjustable delay buffer 430. As shown, amplitude thresholds +vey, vey may be adjusted as the variable-phase-offset clock is rotated throughout the unit interval to determine values for +vey,vey corresponding to the top and bottom of the eye at various times in the unit interval. Using the determined values for each point in the unit interval, a 2-dimensional diagram of an eye may be generated.
(58) In an alternative embodiment, phase interpolators may be used instead of adjustable delay buffers. Thus, as one example, 430 is a phase interpolator producing a variable-phase-offset clock which may be provided to samplers 450 and 453 for eye measurement. As shown in
(59) As previously described, the received signal MIC is produced by at least one multi-input comparator (MIC) connected to a plurality of wires of a multiwire bus, the MIC configured to form a received data signal. A clock generator PLL, including at least a local oscillator and an adjustable phase interpolator 430 is configured to generate a data-sampling clock and a variable-phase-offset eye-measurement clock. At least one data slicer is configured to receive the data sampling clock, and configured to generate a receive sample of the received data signal, and at least one eye slicer is configured to receive the variable-phase-offset eye-measurement clock, and configured to generate a plurality of eye characteristic measurements. In some embodiments, multiplexors 441 and 442 are configured to provide one of the local oscillator signal VCO1/VCO2 and the signal generated by the phase interpolator 430 to the data slicers 451 and 452, respectively. In such embodiments, multiplexors 440 and 443 may be configured to provide the other of the local oscillator signal and the phase interpolator signal to eye slicers 450 and 453, respectively. In an embodiment utilizing Decision Feedback Equalization (DFE), the eye slicer may include a first eye slicer having a positive threshold offset, and a second eye slicer having a negative threshold offset. Such offsets may be adjusted in order to make eye characteristic measurements to determine a vertical opening of the eye. For example, while the variable-phase-offset eye-measurement clock is rotated forwards and backwards within a given unit interval, threshold offsets vey may be adjusted higher and lower to determine the eye height at various locations in the unit interval. Similarly, the data slicer may be a DFE-compensated slicer that includes a DFE offset voltage configured to adjust the data slicer threshold to obtain the receive sample, and may further include a second DFE-compensated slicer having a second DFE offset voltage to simultaneously obtain a data-sampling phase error measurement. In such embodiments, the first and second DFE-compensated slicers may utilize slicing thresholds that are offset with a positive DFE offset and a negative DFE offset, respectively. According to a data history such as data history 1140 shown in