Decision feedback equalization with efficient burst error correction

11936505 ยท 2024-03-19

Assignee

Inventors

Cpc classification

International classification

Abstract

Receivers, methods, and cores, can provide decision feedback equalization with efficient burst error correction. An illustrative receiver includes: a decision feedback equalizer that derives symbol decisions from a receive signal; a subtractor that determines an equalization error for each said symbol decision; and a post-processor that operates on the symbol decisions and equalization error to detect and correct symbol decision errors. An illustrative receiving method includes: using a decision feedback equalizer to derive symbol decisions from a filtered receive signal; determining an equalization error for each said symbol decision; and processing the symbol decisions and equalization error to detect and correct symbol decision errors. An illustrative semiconductor intellectual property core generates circuitry for implementing a receiving and method as described above.

Claims

1. A receiver comprising: a decision feedback equalizer that derives symbol decisions from a filtered receive signal; a subtractor that determines an equalization error for each symbol decision; and a post-processor that operates on the symbol decisions and the equalization errors to detect and correct symbol decision error bursts.

2. The receiver of claim 1, wherein the post-processor detects burst error exit symbols by comparing a magnitude of the equalization errors to a threshold.

3. The receiver of claim 2, further comprising a feed forward filter that operates on a receive signal to provide the filtered receive signal, thereby shaping a channel response to 1+?D, wherein D is a unit delay operator and ? is a coefficient representing trailing intersymbol interference.

4. The receiver of claim 3, wherein the threshold is programmable.

5. The receiver of claim 2, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and the burst error exit symbols are limited to 0 and (M?1).

6. The receiver of claim 2, wherein the post-processor includes a metric circuit to determine a likelihood difference for each of multiple different error burst lengths.

7. The receiver of claim 6, wherein the post-processor further includes a corrector circuit that finds a minimum likelihood difference and, if the minimum likelihood difference so indicates, corrects a corresponding number of decision errors preceding the burst error exit symbol.

8. The receiver of claim 7, wherein the metric circuit and the corrector circuit are disabled until a burst error exit symbol is detected.

9. A receiving method comprising: using a decision feedback equalizer to derive symbol decisions from a filtered receive signal; determining an equalization error for each symbol decision; and processing the symbol decisions and the equalization errors to detect and correct symbol decision error bursts.

10. The method of claim 9, wherein said processing includes comparing the equalization errors to a threshold to detect burst error exit symbols.

11. The method of claim 10, wherein a channel response of the filtered receive signal is 1+?D, wherein D is a unit delay operator and ? is a coefficient representing trailing intersymbol interference, and wherein the threshold equals ?.

12. The method of claim 10, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and wherein as part of detecting the burst error exit symbols, said comparing is performed only for minimum and maximum symbol decision values.

13. The method of claim 10, wherein said processing includes determining a likelihood difference for each of multiple different error burst lengths.

14. The method of claim 13, wherein said processing further includes finding a minimum likelihood difference for each burst error exit symbol and, if the minimum likelihood difference is negative, corrects a corresponding number of decision errors preceding that burst error exit symbol.

15. A semiconductor intellectual property core that generates circuitry comprising: a decision feedback equalizer that derives symbol decisions from a filtered receive signal; a subtractor that determines an equalization error for each symbol decision; and a post-processor that operates on the symbol decisions and the equalization errors to detect and correct symbol decision error bursts.

16. The semiconductor intellectual property core of claim 15, wherein the post-processor comprises a comparator that compares the equalization errors to a threshold to detect burst error exit symbols.

17. The semiconductor intellectual property core of claim 16, wherein a channel response of the filtered receive signal is 1+?D, wherein D is a unit delay operator and ? is a coefficient representing trailing intersymbol interference, and wherein the threshold is programmable.

18. The semiconductor intellectual property core of claim 16, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and wherein said burst error exit symbols are limited to a minimum symbol decision value and a maximum symbol decision value.

19. The semiconductor intellectual property core of claim 16, wherein the post-processor includes a metric circuit configured to determine a likelihood difference for each of multiple different error burst lengths.

20. The semiconductor intellectual property core of claim 19, wherein the post-processor further includes a corrector circuit configured to find a minimum likelihood difference for each burst error exit symbol and, if the minimum likelihood difference indicates a decision error is present, configured to correct a corresponding number of decision errors preceding that burst error exit symbol.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 shows an illustrative network.

(2) FIG. 2 is a block diagram of an illustrative switch.

(3) FIG. 3 is an illustrative PAM4 eye diagram.

(4) FIG. 4 is a block diagram of an illustrative one-tap DFE with a post-processor.

(5) FIG. 5 is a block diagram of an illustrative post-processor.

(6) FIG. 6 is a schematic of an illustrative metric circuit.

(7) FIG. 7 is a schematic of an illustrative corrector circuit.

(8) FIG. 8 is a schematic of an alternative corrector circuit.

(9) FIG. 9 is a graph of BER vs. SNR for a 1+D channel response.

(10) FIG. 10 is a graph of BER vs. SNR for a 1+0.875D channel response.

DETAILED DESCRIPTION

(11) While specific embodiments are given in the drawings and the following description, keep in mind that they do not limit the disclosure. On the contrary, they provide the foundation for one of ordinary skill to discern the alternative forms, equivalents, and modifications that are encompassed in the scope of the appended claims.

(12) For context, FIG. 1 shows an illustrative network such as might be found in a data processing center, with multiple server racks 102-106 each containing multiple servers 110 and at least one top of rack (TOR) switch 112. The TOR switches 112 are connected to aggregator switches 114 for interconnectivity and connection to the regional network and internet. (As used herein, the term switch includes not just traditional network switches, but also routers, network bridges, hubs, and other devices that forward network communication packets between ports.) Each of the servers 110 is connected to the TOR switches 112 by network cables 120, which may convey signals with symbol rates high enough to cause substantial intersymbol interference (ISI).

(13) FIG. 2 shows an illustrative switch 112 with an application-specific integrated circuit (ASIC) 202 that implements packet-switching functionality coupled to port connectors 204 for pluggable modules 206. Pluggable modules 206 couple between the port connectors 204 and cable connectors 208 to improve communications performance by way of equalization and optional format conversion (e.g., converting between electrical and optical signals). The pluggable modules 206 may comply with any one of various pluggable module standards including SFP, SFP-DD, QSFP, QSFP-DD, and OSFP.

(14) The pluggable modules 206 may each include a retimer chip 210 and a microcontroller chip 212 that controls operation of the retimer chip 210 in accordance with firmware and parameters that may be stored in nonvolatile memory 214. The operating mode and parameters of the pluggable retimer modules 206 may be set via a two wire bus such as 12C or MDIO that connects the microcontroller chip 212 to the host device (e.g., switch 112). The microcontroller chip 212 responds to queries and commands received via the two wire bus, and responsively retrieves information from and saves information to control registers 218 of the retimer chip 210.

(15) Retimer chip 210 includes a host-side transceiver 220 coupled to a line-side transceiver 222 by first-in first-out (FIFO) buffers 224. The transceivers may be SerDes cores having decision feedback equalizers (DFEs) for high baud rate reception. FIG. 2 shows optional photoemitter (PE) and photodetector (PD) modules to convert between optical line-side signals and electrical host-side signals. Though only a single lane is shown in the figure, the transceivers may support multiple lanes conveyed via multiple corresponding optical fibers or electrical conductors. A controller 226 coordinates the operation of the transceivers in accordance with the control register contents, and may provide for multiple communication phases pursuant to a communications standard such as the Fibre Channel Standard published by the American National Standard for Information Technology Accredited Standards Committee INCITS.

(16) FIG. 3 is an illustrative PAM4 eye diagram with three decision thresholds T.sub.0/1, T.sub.1/2, T.sub.2/3, that a DFE may use to distinguish between the four potential channel symbols 0, 1, 2, 3, which have respective target levels L(0)=?A, L(1)=?A/3, L(2)=A/3, and L(3)=A. For a nominal signal range of ?A to +A, the decision thresholds are set at 0 and ?2A/3. Noise, interference, and other channel effects cause variation in the signal, spreading the signal paths and reducing the size of the eyes, thereby increasing the probability of symbol detection error.

(17) FIG. 4 shows an illustrative DFE with post-processing. An analog to digital converter (ADC) 402 converts an analog receive signal r(t) to a digital receive signal x.sub.k, which may be filtered by a forward equalizer (FFE) 404 to produce a filtered receive signal y.sub.k having minimal leading intersymbol interference (ISI). The FFE 404 can further shape the signal spectrum to limit trailing ISI to one symbol (i.e., a channel response of 1+?D). That is, the filtered receive signal can be expressed:
y.sub.k=L(d.sub.k)+?L(d.sub.k?1)+n.sub.k,(1)
where d.sub.k?{0, 1, 2, 3} represents the transmitted PAM4 symbols, L(d.sub.k) is a fixed mapping of PAM4 symbols to their corresponding signal levels, and n.sub.k represents the noise plus some other impairments.

(18) A summer 406 combines the filtered receive signal with a feedback signal f.sub.k to produce an equalized signal s.sub.k having reduced trailing ISI and thus (in the absence of significant channel noise) having open decision eyes such as those of FIG. 3. A slicer 408 compares the equalized signal to the decision thresholds to determine the symbol decisions d.sub.k. A symbol mapper 410 converts the symbol to its target level L(d.sub.k), enabling a subtractor 409 to calculate the equalization error e.sub.k. A delay element 412 latches the target level L({circumflex over (d)}.sub.k), making it available during the next symbol interval as the preceding symbol target level L({circumflex over (d)}.sub.k?1). A multiplier 414 scales the symbol mapper output by a feedback filter coefficient ? to produce the feedback signal f.sub.k for summer 406.

(19) A post-processor 420 operates on the symbol decisions and equalization error to detect and correct symbol decision errors. Before discussing implementation details, we provide the following derivation to facilitate understanding.

(20) Without loss of generality, the following discussion assumes the nominal signal range is ?3 to +3, such that the signal levels for symbols 0, 1, 2, 3, are ?3, ?1, +1, and +3, respectively. The equalized signal s.sub.k is expressible as:
s.sub.k=y.sub.k??.Math.L({circumflex over (d)}.sub.k?1)(2)
or equivalently as:
s.sub.k=L(d.sub.k)+?[L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)]+n.sub.k(3)

(21) When a decision error happens such that d.sub.k?1?{circumflex over (d)}.sub.k?1,
|L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)|?2,(4)
which for the contemplated range of signal to noise ratios (SNR) can be assumed to mean
L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)=?2 when d.sub.k?1?{circumflex over (d)}.sub.k?1).(5)
In the presence of a decision error, the equalized signal is shifted from its desired value by ?[L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)]=?2?. In high baud rate systems, the DFE tap ? is typically greater than or equal to 0.5, and often about 1.0. This shift exceeds the distance between the symbol level and the decision threshold, likely causing the decision error to propagate from one symbol interval to the next, causing an extended error burst until
d.sub.k=3 with L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)>0, or(6a)
d.sub.k=0 with(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)<0(6b)
Alternatively, a sufficiently large noise signal n.sub.k could theoretically overcome the decision error shift to end the error burst, but in the contemplated SNR range |n.sub.k|<1.0 with high probability so we neglect this alternative herein and focus on the conditions given in equations (6a) and (6b).

(22) Equations (6a) and (6b) are defined as the error exit conditions, with the corresponding d.sub.k designated herein as the error exit symbol. The following discussion shows that the equalization error associated with error exit symbols is conspicuously larger than the expected error level.

(23) We define error sign se.sub.k=sgn (L(d.sub.k)?L({circumflex over (d)}.sub.k)), meaning se.sub.k ?{?1} in the presence of a decision error d.sub.k?1?{circumflex over (d)}.sub.k?1,
s.sub.k=L(d.sub.k)+2?.Math.se.sub.k?1+n.sub.k(7)
To simplify this discussion, assume for the moment ?=1. If the error exit conditions (6a), (6b) are not satisfied, we have the following:
L(d.sub.k)?L({circumflex over (d)}.sub.k)=?1.Math.[L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)](8)
se.sub.k=?1.Math.se.sub.k?1(9)

(24) Assume the error exit conditions are not satisfied until d.sub.k+?, i.e., {circumflex over (d)}.sub.k?1, {circumflex over (d)}.sub.k . . . , {circumflex over (d)}.sub.k+? are burst errors. The following equations can be derived for the burst errors:
se.sub.k+i=(?1).sup.i.Math.se.sub.k,0?i??(10)
L(d.sub.k+i)?L({circumflex over (d)}.sub.k+i)=(?1).sup.i.Math.[L(d.sub.k)?L({circumflex over (d)}.sub.k)],0?i??(11)

(25) Define equalization error e.sub.k as
e.sub.k=s.sub.k?L({circumflex over (d)}.sub.k)(12)
Consider the equalization error in three cases: no decision errors, burst errors, and error exit symbols. If there are no decision errors, d.sub.k?1={circumflex over (d)}.sub.k?1, {circumflex over (d)}.sub.k={circumflex over (d)}.sub.k The equalization error is
e.sub.k=n.sub.k(13)
If there are burst errors d.sub.k?1?{circumflex over (d)}.sub.k?1, d.sub.k?{circumflex over (d)}.sub.k, from (3), (11) and (12), the equalization error is
e.sub.k=s.sub.k?L({circumflex over (d)}.sub.k)=L(d.sub.k)?L({circumflex over (d)}.sub.k)+L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)+n.sub.k(14)
e.sub.k=n.sub.k(15)
Now, if the burst errors exit at d.sub.k+?, i.e., d.sub.k+? satisfies the error exit condition (6a) or (6b), d.sub.k+?={circumflex over (d)}.sub.k+?, L(d.sub.k+?)=L({circumflex over (d)}.sub.k+?). From Equation (3), (5) and (11), the equalization error e.sub.k+? is given as follows.
e.sub.k+?=s.sub.k+??L({circumflex over (d)}.sub.k+?)=(?1)?.Math.[L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)]+n.sub.k+?(16)
e.sub.k+?=(?2)+n.sub.k+?(17)

(26) In the contemplated SNR range |n.sub.k|<1.0 with high probability, so that the equalization error in equation (17) is conspicuously different from the equalization error of equations (13) and (15). As ? falls below 1, the equalization error of equation (15) grows as the error of equation (17) falls, but depending on SNR they may remain distinguishable until ? approaches 0.5, and in any case they should be readily distinguishable from the equalization error when no decision errors are present.

(27) Summarizing the equalization errors computed in (13), (15) and (17), we have the following: No decision errors: e.sub.k=n.sub.k Burst errors: e.sub.k=n.sub.k Error exit symbols: e.sub.k=(?2)+n.sub.k
Above computations show that equalization error of the error exit symbol e.sub.k+? has magnitude around 2 which is conspicuously larger than the equalization error in the absence of decision errors and during burst errors. We may use this property in combination with the error exit conditions to detect the burst errors for DFE with large feedback tap values.

(28) For a programmable error threshold T.sub.e, if |e.sub.k|>T.sub.e and symbol decision {circumflex over (d)}.sub.k ?{0,3}, then {circumflex over (d)}.sub.k is declared as the error exit symbol and d.sub.k?1 is likely a single error or the end of an error burst. (The feedback tap coefficient ? is a good choice for the value of threshold T.sub.e.) Once the possible errors are detected, an efficient maximum likelihood (ML) search may be performed to verify whether the possible errors are indeed errors and, if so, to correct them.

(29) To illustrate the ML search method, assume {circumflex over (d)}.sub.k is declared as the error exit symbol, and let M be the maximum length of the trace back from {circumflex over (d)}.sub.k, i.e., the ML search is performed within the window from {circumflex over (d)}.sub.k to {circumflex over (d)}.sub.k?M. Define the initial (varying-length) decision sequences as:
{circumflex over (d)}.sub.i=[L({circumflex over (d)}.sub.k?1),L({circumflex over (d)}.sub.k?2), . . . ,L({circumflex over (d)}.sub.k?i)],1?i?M(18)
with competing decision sequences:
{circumflex over (d)}.sub.i={circumflex over (d)}.sub.i+2se.sub.k.Math.[(?1).sup.0,(?1).sup.1, . . . ,(?1).sup.i?1],1?i?M(19)
In (19), se.sub.k is redefined as se.sub.k=sgn(e.sub.k), and this definition is used for se.sub.k in the remaining part of this description. For the sequence of filtered receive signals Y={y.sub.k?1, y.sub.k?1, . . . , y.sub.k?i}, the likelihood of {circumflex over (d)}.sub.i is computed as:
Pr{Y|{circumflex over (d)}.sub.i}?P.sub.i=??.sub.j=0.sup.i(y.sub.k?j=?.sub.k?j).sup.2,(20)
where
?.sub.k?j=L({circumflex over (d)}.sub.k?j))+?.Math.L({circumflex over (d)}.sub.k?j?1)(21)
It can be shown from the combination of (2), (12), and (21), that
e.sub.k?j=y.sub.k?j??.sub.k?j(22)
The likelihood of {circumflex over (d)}.sub.i is computed as:
Pr{Y|{circumflex over (d)}.sub.i}?P.sub.i=???.sub.j=0.sup.i(y.sub.k?j??.sub.k?j).sup.2,(23)
where
?.sub.k?j=L({circumflex over (d)}.sub.k?j)+?.Math.L({circumflex over (d)}.sub.k?j?1).(24)
In (24), {circumflex over (d)}.sub.k?j and L({circumflex over (d)}.sub.k?j) are given by
{circumflex over (d)}.sub.k?j={circumflex over (d)}.sub.k?j+se.sub.k.Math.(?1).sup.j?1,1?j?i,(25)
L({circumflex over (d)}.sub.k?j)=L({circumflex over (d)}.sub.k?j)+2.Math.se.sub.k.Math.(?1).sup.j?1,1?j?i(26)
We note that L({circumflex over (d)}.sub.k)=L({circumflex over (d)}.sub.k) and {circumflex over (d)}.sub.k={circumflex over (d)}.sub.k since {circumflex over (d)}.sub.k is assumed to be the error exit symbol.

(30) Let the competing error e.sub.k?j be defined by
e.sub.k?j=y.sub.k?j??.sub.k?j(27)
It can be shown that
?.sub.k?j=e.sub.k?j??e.sub.k?j(28)
?e.sub.k?j=L({circumflex over (d)}.sub.k?j)?L({circumflex over (d)}.sub.k?j)+?.Math.(L({circumflex over (d)}.sub.k?j?1)?L({circumflex over (d)}.sub.k?j?1)(29)
In (29) L({circumflex over (d)}.sub.k?j)=L({circumflex over (d)}.sub.k?j), when j=0 and j=(i+1).

(31) Define ?P.sub.i=P.sub.i?P.sub.i. After some mathematical operations, it can be shown that ?P.sub.i is given by
?P.sub.i=?.sub.j=0.sup.i[(?e.sub.k?j).sup.2?2.Math.?e.sub.k?j.Math.e.sub.k?j](30)
If i=1,
?P.sub.i=4?.sup.2?4.Math.?.Math.se.sub.k.Math.e.sub.k+4?4.Math.se.sub.k.Math.e.sub.k?1(31)
If i>1,
?e.sub.k?j=2se.sub.k.Math.(?1).sup.j?1.Math.(1??),1?j?i,(32)
?P.sub.i=4(?.sup.2??.Math.se.sub.k.Math.e.sub.k+1?se.sub.k.Math.(?1).sup.i?1.Math.e.sub.k?i??.sub.j=1.sup.i?1ce.sub.k?j)(33)
where ce.sub.k?j is given by
ce.sub.k?j=(1??).sup.2?se.sub.k.Math.(1??).Math.(?1).sup.j?1.Math.e.sub.k?j(34)
When the DFE tap ?=1,
ce.sub.k?j=0,1?j?i,(35)

(32) Omitting the common factor 4, from (33), the ?P.sub.i computation is further simplified to:
?P.sub.i=?.sup.2??.Math.se.sub.k.Math.e.sub.k+1?se.sub.k.Math.(?1).sup.i?1.Math.e.sub.k?i(36)

(33) Now let

(34) ? P i _ min = min 1 ? i ? M ( ? P i ) .
If ?P.sub.i_min<0, the previous i_min decisions {circumflex over (d)}.sub.k?j, 1?j?i_min are errors that should be corrected, replacing {circumflex over (d)}.sub.k?j with
d.sub.k?j={circumflex over (d)}.sub.k?j+se.sub.k.Math.(?1).sup.j?1,1?j?i_min(38)
Conversely, if ?P.sub.i_min?0, the decisions {circumflex over (d)}.sub.k?j, 1?j?M, do not need to be changed.

(35) If there exists j, 1?j?M, such that the competing symbol decision is invalid, i.e., {circumflex over (d)}.sub.k?j .Math.{0, 1, 2, 3}, then let J be the minimum of such values, such that J?1 is the number of potential error burst lengths. The ?P.sub.i only needs to be computed for 1?i?J instead of 1?i?M, and the rest of the process remains unchanged.

(36) Now, we summarize the proposed DFE postprocessing method as follows: (A) Monitor symbol decisions for an error exit symbol (a symbol {circumflex over (d)}.sub.k?{0,3} with |e.sub.k|>T.sub.e). (B) when an error exit symbol is detected, compute the likelihood differences ?P.sub.i for different burst lengths 1?i?min{M,J}. (C) Find the minimum likelihood difference and corresponding index i_min,

(37) ? P i _ min = min 1 ? i ? M ( ? P i ) .
(D) If ?P.sub.i_min<0, then replace decisions {circumflex over (d)}.sub.k?j, 1?j?i_min, with competing symbol decisions {circumflex over (d)}.sub.k?1. If ?P.sub.i_min?0, no correction is needed.

(38) The limit on trace back length M can be set to, e.g., 32, without adding undue complexity. Other limits can also be evaluated empirically for suitability. The main computation load of the proposed algorithm is the sequence metric ?P.sub.i computation in (33) and (34). Note that the ?.sup.2, (1??).sup.2 and (1??) only need to be computed once for large chunk of data; and se.sub.k ?{?1}. The overall computation complexity of the algorithm is substantially lower than that for maximum likelihood sequence detectors (MLSD) or even than for the reduced complexity 2-state MLSD described in co-pending application Ser. No. 17/656,751.

(39) FIG. 5 is a block diagram of an illustrative post-processor 420. It includes a metric circuit 502 that operates on the sequence of equalization errors e.sub.k and prospective error signs se.sub.k to produce likelihood differences ?P.sub.i for the potential error burst lengths. A corrector circuit 504 operates on the likelihood differences ?P.sub.i to find the minimum likelihood difference and its corresponding index i_min. If the minimum likelihood difference is less than zero, the corrector circuit 504 replaces the i_min symbol decisions preceding the error exit symbol with their competing symbol decisions.

(40) A control circuit 506 evaluates the sequence of symbol decisions and equalization errors from the decision feedback equalizer to detect potential error exit symbols, enabling metric circuit 502 and corrector circuit 504 to operate only when such symbols are detected. Note that circuits 502, 504 have shift registers that continue to operate when these circuits are disabled. It is these shift registers that enable the post-processing operation of the corresponding circuits.

(41) FIG. 6 shows one illustrative implementation of the metric circuit 502. It includes a shift register 602 for buffering past equalization errors e.sub.k to be used for the metric calculation. A set of inverters 604 (shown here as multipliers) applies alternate sign changes to the past equalization errors e.sub.k as dictated by error sign se.sub.k. A set of multipliers and adders 606 scale and shift the inverter outputs to complete the computations given by equation (34). A set of cumulative adders 608 performs the summations shown in equation (33).

(42) On the left side of FIG. 6, an inverter, multiplier, and adder produce a signal 610 representing the first three terms of equation (33), which are shared for all likelihood difference calculations. Along the top of FIG. 6, a set of adders 612 combines the various terms to provide each of the likelihood differences ?P.sub.i for different potential burst lengths, which are provided to corrector circuit 504.

(43) FIG. 7 shows one illustrative implementation of corrector circuit 504. The circuit includes a symbol decision shift register 702 with multiplexers for optionally replacing some of the symbol decisions {circumflex over (d)}.sub.k?j with competing symbol decisions {circumflex over (d)}.sub.k?j when the corresponding replacement control signals r.sub.k?j are asserted. A set of adders 704 adds the prospective error sign se.sub.k (with alternate sign changes) to the past symbol decisions to calculate the competing symbol decisions {circumflex over (d)}.sub.k?j, which are not necessarily valid decision symbols. An evaluation circuit 706 includes a set of comparators to determine whether each of the competing symbol decisions are in the range between 0 and M?1 (inclusive), and if so, to assert the comparator output. The evaluation circuit 706 includes a chain of logical AND gates to pass the comparator output only if all of the more recent competing symbol decisions are also valid, and to block the comparator output otherwise. For those comparator outputs that are asserted and passed by the AND gates, a set of multiplexers 708 selects the corresponding likelihood differences ?P.sub.i from the metric circuit 502; otherwise the multiplexers output zero. A chain of compare-and-select (CAS) units 710 each pass the smaller of their inputs, thereby determining a minimum likelihood difference. The comparator outputs of the CAS units are combined by a chain of logical OR gates 712 to derive the replacement control signals r.sub.k?j for the multiplexers of the shift register 702.

(44) When the DFE tap ?=1, the post-processor can be simplified. FIG. 8 shows an illustrative implementation for this case. It includes the shift register 602 and inverters 604 to apply alternate sign changes to the past equalization errors.

(45) With reference to equation 36, we observe that the minimum likelihood difference will be determined by the maximum of the sign-changed errors for the valid competing symbol decisions. The validity signals v.sub.k?i are determined as in FIG. 7 from the symbol decision shift register 702, the adders 704, and evaluation circuit 706.

(46) A set of multiplexers 820 pass the sign-changed errors for the valid competing symbol decisions. A chain of compare-and-select (CAS) units 821 each pass the larger of their inputs, thereby determining e.sub.max, the maximum of the sign-changed errors. The comparator outputs of the CAS units are combined by a chain of logical OR gates to derive the replacement control signals r.sub.k?j for the multiplexers of the shift register 702. Note, however, a set of AND gates 822 blocks the replacement control signals unless equation (36) using e.sub.max produces a negative value, in which case it is desired to replace the original symbol decisions with their competing symbol decisions.

(47) FIG. 9 is a graph comparing performances of a traditional DFE and traditional MLSD with the disclosed DFE with post-processing (DFEpp) for a simulated PAM4 signal having a 1+D channel response with additive white Gaussian noise (AWGN). It is observed that in the region of interest, the DFEpp essentially matches the MLSD performance, improving on the traditional DFE performance by about 2 dB of channel signal to noise ratio (SNR). Similar results are observed in FIG. 10, which compares the receiver performances for a simulated channel response of 1+0.875D.

(48) Numerous alternative forms, equivalents, and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. Though PAM4 was used for the foregoing discussions, the disclosed principles are applicable to larger PAM constellations and to QAM signaling. Though a positive feedback coefficient value was presumed, the disclosed principles are similarly applicable with negative feedback coefficient values. Moreover, the disclosed analysis is readily extendible to multiple feedback taps for DFEs with suitable coefficient values. It is intended that the claims be interpreted to embrace all such alternative forms, equivalents, and modifications that are encompassed in the scope of the appended claims.