The present invention relates to digital filters.
Digital waveforms for transmitting data, for example between integrated circuits via a backplane, or even between integrated circuits a few millimetres apart on the same circuit board suffer from inter-symbol interference (ISI). Even in cases where the waveform is distorted at the transmitter to compensate the waveform usually still suffers from ISI when it has reached the receiver. This problem is acute at high data rates. Accordingly receivers often employ equalisation of the waveform at the receiver in order to facilitate recovery of the data bits transmitted. Below is described a new receiver. The invention is applicable, for example, to the implementation of the equaliser filter in the receiver. The filter of the invention may nonetheless be used in applications other than that.
According to the present invention there is provided a particular construction for digital filters in which, instead of multiplying various ones of the digital samples by weights and adding the results together, one or more of the digital samples is inspected by a ranging unit, which then instructs an incrementing unit to increment, decrement or leave alone one of the samples to provide the result. In order to achieve very high data rates, the incremented and decremented values can be pre-prepared whilst the ranging unit makes its decision, and then a multiplexer responsive to the output of the ranging unit is used to select the appropriate one of the pre-prepared values.
Examples of the invention will now be described with reference to the accompanying drawings, of which:
a shows the response of the receiver to a PRBS transmitted eye-pattern, and
b shows the interleaved output of the ADCs of the receiver.
A key challenge facing designers of high-bandwidth systems such as data-routers and super-computers is the requirement to transfer large amounts of data between ICs —either on the same circuit board or between boards. This data transmission application is called Serialisation-Deserialisation or “SerDes” for short. The present invention is useful in SerDes circuit and indeed was developed for that application. Nonetheless the invention may be used in other applications.
Analysis of typical backplane channel attenuation (which is around −24 dB) and package losses (−1 to −2 dB) in the presence of crosstalk predict that an un-equalized transceiver provides inadequate performance and that decision feedback equalization (DFE) is needed to achieve error rates of less than 10-17.
Traditional decision-feedback equalization (DFE) methods for SerDes receivers rely on either modifying, in analogue, the input signal based on the data history [“A 6.25 Gb/s Binary Adaptive DFE with First Post-Cursor tap Cancellation for Serial backplane Communications” R Payne et al ISSCC 2005; “A 6.4 Gb/s CMOS SerDes Core with feed-forward and Decision Feedback Equalization” M. Sorna et al ISSCC 2005; “A 4.8-6.4 Gb/s serial Link for Backplane Applications Using Decision Feedback Equalization” Balan et al IEEE JSSC November 2005.] or on having an adaptive analogue slicing level [“Techniques for High-Speed implementation of Non-linear cancellation” S. Kasturia IEEE Journal on selected areas in Communications. June 1991.] (i.e. the signal level at which the circuit decides whether the signal represents a 1 or a 0).
A block diagram of a SerDes receiver circuit 1, which forms part of an integrated circuit, in which the present invention may be used is shown in
In the receiver circuit 1 of
The receiver circuit 1 comprises two baud-rate sampling ADCs (analogue to digital converters) 2 and 3, a digital 2-tap FFE (feed forward equaliser) 4 and digital 5-tap DFE (decision feedback equaliser) 5 to correct channel impairments.
The SerDes section of the integrated circuit, which includes the receiver circuit 1 is also provided with a transmitter 40 (
The receiver 1 of
The digital samples output from the ADCs 2 and 3 are interleaved and the resulting stream of samples is fed into a custom digital signal processing (DSP) data-path that performs the numerical feed-forward equalization and decision-feedback equalization. This is shown in
The digital FFE/DFE is implemented using standard 65 nm library gates.
An advantage of applying the equalization digitally is that it is straightforward to include feed-forward equalization as a delay-and-add function without any noise-sensitive analogue delay elements. The FFE tap weight is selected before use to compensate for pre-cursor ISI and can be bypassed to reduce latency. Whilst many standards require pre-cursor de-emphasis at the transmitter, inclusion at the receiver allows improved bit error rate (BER) performance with existing legacy transmitters.
The DFE 5 uses an unrolled non-linear cancellation method [“Techniques for High-Speed implementation of Non-linear cancellation” S. Kasturia IEEE Journal on selected areas in Communications. June 1991]. The data output (i.e. the 1s and 0s originally transmitted) is the result of a magnitude comparison between the output of the FFE 4 and a slicer-level dynamically selected from a set stored in a set 17 of pre-programmed registers. The values are determined by a control circuit (not shown in
The slicer-level is selected from one of 2n possible options depending on the previous n bits of data history. The history of the bits produced by the magnitude comparator 18 is recorded by a shift register 19 which is connected to shift them in. The parallel output of the shift register is connected to the select input of a multiplexer 20 whose data inputs are connected to the outputs of respective ones of the set 17 of registers holding the possible slicer-levels.
Unrolled tap adaption is performed using a least mean square (LMS) method where the optimum slicing level is defined to be the average of the two possible symbol amplitudes (+/−1) when proceeded by identical history bits. (For symmetry the symbols on the channel for the bit values 1 and 0 are given the values +1 and −1).
Although 5-taps of DFE were chosen for this implementation, this parameter is easily scaleable and performance can be traded-off against power consumption and die area. In addition, the digital equalizer is testable using standard ATPG (automatic test pattern generation) and circular built-in-self-test approaches.
The chosen clock recovery approach uses a Muller-Mueller approach [“Timing recovery in Digital Synchronous Data Receivers” Mueller and Muller IEEE Transactions on Communications May 1976.] where the timing function adapts the T/H sample position to the point where the calculated pre-cursor inter-symbol interference (ISI) or h(−1) is zero, an example being given in
A block diagram of the transmitter is shown in
A 4-tap FIR output waveform is obtained from simple current summing of the time-delayed contributions. This is done with differential amplifiers 45 to 48, each having its inputs connected to a respective one of the taps and having its differential output connected to a common differential output 49. Although shown as four differential amplifiers the circuit is implemented as one differential amplifier with four inputs, which minimizes return-loss. The relative amplitude of each contribution is weighted to allow the FIR coefficients to be optimized for a given circuit (e.g. a backplane) and minimize the overall residual ISI. The weights are determined empirically either for a typical example of a particular backplane or once a backplane is populated and are stored in registers 50 to 53. The weights respectively control the controllable driving current sources 54 to 57 of the differential amplifiers 45 to 48 to scale their output current accordingly. Respective pull-up resistors 58 and 59 are connected to the two terminals of the differential output 49.
A PLL is used to generate low-jitter reference clocks for the transmitter and receiver to meet standards[“OIF-CEI-02.0—Common Electrical I/O (CEI)—Electrical and Jitter Interoperability agreements for 6G+bps and 11G+bps I/O”. Optical Internetworking Forum, February 2005; “IEEE Draft 802.3ap/Draft 3.0—Amendment: Electrical Ethernet Operation over Electrical Backplanes” IEEE July 2006.]. Most integrated circuits will have more than one receiver 1 and the PLL is shared between them with each receiver having a phase interpolator to set the phase to that of incoming data.
The PLL uses a ring oscillator to produce four clock-phases at a quarter of the line data-rate. The lower speed clocks allow power efficient clock distribution using CMOS logic levels, but need duty-cycle and quadrature correction at the point of use. The 3.125 GHz clocks are frequency doubled (XOR function) to provide the 6.25 GHz clock for the T/H & ADC. The transmitter uses the four separate 3.125 GHz phases, but they require accurate alignment to meet jitter specifications of 0.15UI p-p R.J. and 0.15UI p-p D.J.
The system described has been fabricated using a 65 nm CMOS process and has been shown to provide error-free operation at 12.5 Gb/s over short channels (two 11 mm package traces, 30 cm low-loss PCB and two connectors). A legacy channel with −24 dB of attenuation at 3.75 GHz supports error free operation at 7.5 Gb/s.
a shows a 12.5 Gb/s 27-1 pseudo random bit stream (PRBS) transmitted eye-pattern with 20% de-emphasis on the first post-cursor. The receiver includes, for test purposes, a PRBS data verifier 66, which confirms that the test pattern has been received. The differential peak-to-peak (pp) amplitude is 700 mV (200 mV/div).
The filter has an input 101 for a stream of digital values. These are multibit values (as opposed to a single bit of 1 or 0).
The values are shown as being supplied to an input 101 from a clocked register 102, which may well be at the output of some other circuit. (In the example of the FFE above the values are supplied by the digital to analogue converters.)
The input 101 is connected to the input of a clocked delay register 103 which delays the digital values by one period of the clock (a 1 “UI” delay) so that the filter 100 has available to it both a “present” value at the output of the register 102 and the next, or “future”, value at the input 101. (The labels present and future are often used when the present sample is of particular interest—this depends on the application—in the following more generally that one value is older than the other is more of interest.)
The future value, at the input 101, is examined by a ranging unit 104 to see in which one of a plurality of ranges the input value lies. In a first particular example this is done with reference to two threshold values which divide the possible input values into three different ranges. The ranging unit provides an output 108 indicating where the value is in relation to the thresholds, i.e. indicating which one of the three ranges contains the value.
The filter also has an incrementing unit 105. This receives both the present value 109 from the delay register 103 and the information 108 about the future sample from the ranging unit 104, which therefore is fed forward in the circuit. The incrementing unit is arranged to adjust the present value in response to that. The adjustment, for this first particular example of the circuit of
The resulting value is provided at the output 106 of the filter. There it can be used by other circuits, for example it may be received by a delay register 107.
The ranging unit and the incrementing unit are preferably not clocked circuits.
A conventional circuit 120 for a FFE in a receiver is shown in
That the filter circuit 100 of
An example of a desired weight for the future value is shown in
Note that in most cases the circuit if
As described above the circuit of
In the particular cases of the circuit of
If it is desired to use a wider range than (1/w) one might simply extend the range of the input values beyond that limit and still apply an increment of −1 above the same upper threshold and +1 below the same lower threshold; i.e. in the case of w=0.1 as in Table 2 values of say +11 and +12 would also have increments if −1. This would introduce some distortion if one were trying to approximating the filter of
An alternative is to make the ranging unit 104 responsive to additional thresholds (using more sets of comparators in parallel). Table 3 shows the effect of the ranging unit and the incrementing unit of the circuit
For the case where the range of the input values being filtered is ±20 and the weight w=0.1 then following the rounding rule to make the filter of
The number of thresholds and increments can be increased beyond these examples; however as will be apparent from the following paragraphs and the later details of how the incrementing unit 105 can be implemented the advantages would be reduced for some applications. In brief the reason is that incrementers for both unit increments and decrements that are integer powers of 2 can be provided as simple fast circuits but those for other numbers are more complex.
An advantage of using the circuit of
Preferred forms of the implementations of the ranging unit and the incrementing unit are now described.
There will of course be cases in which the value at the input is equal to the threshold value (if both are represented to the same precision). The comparators are designed in those cases to indicate always either that the value is above the threshold or below it, which is an arbitrary design choice and depends on the range in which the designer wishes to include that value. The value of the threshold itself, of course, needs to be chosen consistently with that choice.
In the above examples the thresholds are symmetrically disposed about zero. The invention is not limited to that case but where that occurs and where it is arranged for the values input to the filter are represented in sign and magnitude form the circuit of
(Of course if four thresholds are symmetrically disposed about zero the four comparators can be reduced to two in the same way.)
The testers 151 to 154 each test the top two bits of the input value for equality with a particular two bit code as shown in the Figure. This divides the input range into four regions. For the two central regions it is desired to make no increment so the outputs from those two testers 151, 154 are combined with an OR gate 155. The output of that and those of the other two testers then provide the output 108 of the ranging unit, in this case representing the range location of the input value as a “one of three” signal. (i.e. only one of the three has a value of 1, or “true”.) (
If desired, ranging circuits for classifying the input value into more than three ranges are again possible (including more sets of testers working in parallel).
(The multiplexer may be a single unit or may be comprised of smaller multiplexers as is known to the skilled person.)
For cases where it is desired to have more possible adjustments to the present value more incrementers and decrementers are provided in parallel. For example for the case of possible increments of −2, −1,0, +1, +2 discussed above, the circuit of
While the preparation of all possible adjustments and then selecting between them as is done in the circuit of
The load clock for the counter may be the same clock as used to clock the delay registers 103, 102, 107 etc., in which case the counter may take the place of upstream register (e.g. register 103) and the increment clock could then be an anti-phase clock to that (assuming the propagation time of the ranging unit is short enough).
In the example application of the receiver of
The connections of filter 200 are follows. The output of register 202 is connected to the input of register 203 and to the input of ranging unit 104′. The output of ranging unit 104′ is connected to the input of incrementing unto 105 that controls which adjustment it makes to the output of register 202 which is connected to its other input. The output of register 202 is also connected to the input of ranging unit 104″ whose output is connected to the input of incrementing unit 105″ that controls which adjustment is made to the output of register 203 which is connected to its other input. The outputs of incrementing units 105′ and 105″ are respectively connected to the inputs of registers 204 and 205. No operation is performed between the output of register 204 which is connected to the input of register 206.
Like in the circuit of
In the examples above the output from the ranging unit is mostly connected directly to the incrementing unit. This does not exclude the possibility of there being some circuitry between, for example, a cross coding circuit that converts the output of the ranging unit to some other code that than can be more easily used in the ranging unit to control the adjustment that it makes.
The examples above have concerned only a single type of digital filter, namely one with a feed forward from a future value to a present value. The invention is nonetheless applicable to any other digital filter that operates on a time series of values. Such digital filters include, as is known to the person skilled in the art, feedback arrangements, where a present sample is adjusted by a previous sample, arrangements where the feedback or feed forward is between samples separated by more than a unit time interval and arrangements including two or more of feeds, each being a feedforward or a feedback, for example.
Nonetheless, while in the description above the usefulness of the filter of the invention in the receiver of
Marked under the delay registers are the samples for the two situations between which the filter alternates. At time (A) the future data sample is register 310 and the present data sample is in register 312, with the sample of the edge that occurred between them being in register 311 and the previous edge to that in register 313. At time (B) the samples have moved on one register and in particular a sample of an edge is in register 310.
In situation (B) multiplexer 307 selects a constant value (preferably 0) which instructs both incrementing units 305 and 306 to make no change to the samples presented at their inputs by registers 311 and 312 respectively, which values are simply passed on to the next register in the chain. This is done by the multiplexer of each incrementing unit (see
The multiplexer 307 is responsive to the clock signal that clocks the registers to change its section each time the samples move forward through the chain of registers. In situation (A) it passes on the decision of the ranging unit, which is based on the future data sample as the, to the incrementing units 305 and 306 which act on it accordingly (again see the description of
This application claims priority under 35 U.S.C. 119(e) (1) to U.S. Provisional Application No. 60/889,113 (TI-63546PS) filed Feb. 9, 2007.
Number | Date | Country | |
---|---|---|---|
60889113 | Feb 2007 | US |