Pattern detection based parameter adaptation

An integrated circuit that includes a feedback loop to adapt receiver parameters. The feedback loop includes a receiver to sample a signal and produce a sampled signal sequence. The feedback loop also includes a first pattern counter to detect and count occurrences of a first pattern in the sampled signal sequence, and a second pattern counter to detect and count occurrences of a second pattern in the sampled signal sequence. Control circuitry coupled to the receiver adapts a parameter value of the receiver to minimize a difference between a first ratio and a second ratio. The first ratio is a target ratio. The second ratio is between a first counted number of occurrences of the first pattern in the sampled signal sequence and a second counted number of occurrences of the second pattern in the sample signal sequence.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG.1is a block diagram illustrating a parameter adaptation system.

FIG.2is a block diagram illustrating a pattern ratio adaptation system.

FIG.3illustrates example sequences and search patterns.

FIGS.4A-4Bare a flowcharts illustrating methods of parameter adaptation.

FIG.5Aillustrates an example coarse adaptation of mean amplitude of a received symbol based on the signal voltage distribution of an NRZ eye pattern.

FIGS.5Billustrates an example fine adaptation based on the signal voltage distribution of an NRZ eye pattern.

FIG.6illustrates example parameter adaptations based on voltage margin of a four-level pulse amplitude modulation (PAM-4) eye pattern.

FIGS.7A-7Billustrate example adaptations based on the voltage margin edges of a PAM-4 eye pattern.

FIG.8Aillustrates an example coarse adaptation based on the signal voltage distribution of a PAM-4 eye pattern.

FIG.8Billustrates a fine adaptation based on the signal voltage distribution of a PAM-4 eye pattern.

FIG.9is a block diagram illustrating a processing system.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Serializer/Deserializer (SerDes) parameters such as receiver gains, continuous time linear equalization (CTLE) boost, symbol decision thresholds, equalizer tap coefficients, DC offsets, etc. are iteratively selected to track circuit variations which may be due to, for example, process, voltage, and temperature (PVT) variations. In an embodiment, various SerDes parameters are iteratively adjusted (adapted) based on detected patterns. Two characteristic patterns (e.g., pattern A and pattern B) of samples and/or symbol decisions are selected such that, when a parameter is at its desired value, the patterns occur at a known ratio to each other. These characteristic patterns are concurrently detected and separately counted. The ratio of the occurrences of each of the characteristic patterns is compared to a target ratio to determine adjustments to the parameter being adjusted. When the ratio reaches the target ratio (or is within a selected tolerance range), the parameter is determined to be at its desired value. Selecting different patterns allows the adaptation of different parameters. This allows the adaptation circuit/system to optimize different SerDes parameters using a common objective function (i.e., objective is to adjust the parameter to achieve a desired ratio of pattern A occurrences to pattern B occurrences over a selected time window.)

FIG.1is a block diagram illustrating a parameter adaptation system. InFIG.1, adaptation system100comprises input signal150, receiver110, pattern detector A120, pattern detector B121, pattern provision A125, pattern provision B126, pattern counter A130, pattern counter B131, feedback control140, and parameter control signal155. Receiver110may comprise analog front-end (AFE)111, sampler112, digital equalizer113, and symbol decision circuitry114. Sampler112may, in some embodiments, include or comprise an analog-to-digital converter that outputs multiple digital bits. Feedback control140may, in some embodiments, include a processing system and/or software. Adaptation system100may be implemented on one or more integrated circuits.

Input signal150is provided to at least receiver110. Selected outputs and/or internal signals of receiver110are provided to pattern detector A120and pattern detector B121(e.g., by multiplexor circuitry — not shown inFIG.1.) For example, one or more of a sampler112output, digital equalizer113, and/or symbol decision circuitry114, and/or other signals internal to receiver110may be selected (e.g., by feedback control140) and provided to pattern detector A120and pattern detector B121. Pattern detector A120receives a pattern (e.g., pattern A) from pattern provision A125. Pattern detector B121receives a pattern (e.g., pattern B) from pattern provision B126.

Pattern provision A125and pattern provision B126provide the patterns to be detected to pattern detector A120and pattern detector B121, respectively. The patterns provided by pattern provision A125and pattern provision B126may be programmable. For example, pattern provision A125and pattern provision B126may comprise one or more writable registers whose contents define the patterns to be detected. In another example, pattern provision A125and pattern provision B126may comprise a plurality of fixed valued circuitry and/or read-only registers whose values are selected by one or more control signals (not shown inFIG.1.) In an embodiment, feedback control140may select and/or program the patterns provided by one or more of pattern provision A125and/or pattern provision B126.

Pattern detector A120searches the outputs of receiver110for the pattern provided by pattern provision A125and signals pattern counter A130when that pattern occurs. Pattern counter A130receives an indicator from pattern detector A120that the pattern from pattern provision A125has occurred in the outputs from receiver110. Pattern counter A130counts the number of occurrences of the pattern from pattern provision A125and provides that count to feedback control140. Pattern counter A130may provide feedback control140with the number of occurrences of the pattern from pattern provision A125as a single number of occurrences that occurred over a selected time window. Pattern counter A130may provide feedback control140with a running total of the number of occurrences of the pattern from pattern provision A125.

Pattern detector B121searches the outputs of receiver110for the pattern provided by pattern provision B126and signals pattern counter B131when that pattern occurs. Pattern counter B131receives an indicator from pattern detector B121that the pattern from pattern provision B126has occurred in the outputs from receiver110. Pattern counter B131counts the number of occurrences of the pattern from pattern provision B126and provides that count to feedback control140. Pattern counter B131may provide feedback control140with the number of occurrences of the pattern from pattern provision B126as a single number of occurrences that occurred over a selected time window. Pattern counter B131may provide feedback control140with a running total of the number of occurrences of the pattern from pattern provision B126.

Based on the number of occurrences of the pattern from pattern provision A125and the number of occurrences of the pattern from pattern provision B126, feedback control140generates a parameter control signal155. Parameter control signal155is provided to receiver110. The receiver110parameter controlled by parameter control signal155may be selectable (e.g., by feedback control140or a host system—not shown inFIG.1.) Parameter control signal155may be selected to control, for example, one or more sampler thresholds, sampler offsets, analog gains, receiver gains, continuous time linear equalization (CTLE) boost, other CTLE parameters, symbol decision thresholds, equalizer tap coefficients, DC offsets, an analog FFE tap values, and/or analog DFE tap values before the samplers, and/or digital equalizer tap values after one or more ADC type samplers.

Thus, it should be understood that parameter control signal155affects a parameter of receiver110which, in turn affects one or more values output by receiver110in response to input signal150. The values output by receiver110affect how many times the pattern being searched for by pattern detector A120(e.g., pattern A) is detected and thereby counted by pattern counter A130. Likewise, the values output by receiver110affect how many times the pattern being searched for by pattern detector B121(e.g., pattern B) is detected and thereby counted by pattern counter B131. The counts output by pattern counter A and pattern counter B are provided to feedback control140. Feedback control140bases one or more new parameter control signals155on the counts output by pattern counter A and pattern counter B thereby completing a feedback loop with the provision of one or more new parameter control signals155to receiver110.

Feedback control140may calculate or determine an adjustment to the parameter being adapted based on a difference between the current ratio of occurrences to the target ratio of occurrences (rtarget). For example, feedback control140may integrate the difference between the target ration and the current ratio to calculate the value of a parameter being adjusted during adaptation. Feedback control140may also include one or more of a timer to set the duration for pattern statistics evaluation, a finite state machine (FSM) to control the flow of pattern statistics evaluation, and a master FSM to control the overall flow for adaptation and/or eye monitoring.

Adaptation system100, therefore, may be used to implement one or more of the following adaptation functions: signal detection, mean amplitude of received symbols, symbol decision thresholds, analog front-end (AFE) gain control, AFE boost parameters, equalizer taps, AFE DC offset, sampler DC offset, eye edge detection, eye monitoring, and the like.

ming{E⁢❘"\[LeftBracketingBar]"Na(k)-Nb(k)⁢rtarget❘"\[RightBracketingBar]"2}
where Na(k) and Nb(k) are the number of occurrences of pattern A and the number of occurrences of pattern B detected in the kth evaluation window, and

rtarget=E⁢❘"\[LeftBracketingBar]"Na(k)❘"\[RightBracketingBar]"E⁢❘"\[LeftBracketingBar]"Nb(k)❘"\[RightBracketingBar]"
is the target ratio when a parameter is adapted to its desired value. The difference in the occurrences of the two characteristic patterns is used to determine the adjustment at the end of a statistics evaluation window. In an embodiment, let e(k)=Na(k)−Nb(k)rtarget, the parameter g(k) at discrete time k is given by

g⁡(k)=g⁡(k-1)-u⁢s⁢ign[e⁡(k)]wheresign[e⁡(k)]={1,e⁢(k)>00,e⁡(k)=0-1,e⁡(k)<0
and u is the step size for updating the parameter being adapted. In another embodiment, a gradient descent type algorithm may be used to select the adjustment. In other words, determine a first error e′(k) using the parameter value g′(k)=g(k−1)+Δ and a second error e″(k) using the parameter value g″(k)=g(k−1)−Δ, and then select the parameter value g′(k) or g″(k) that is associated with the lesser of e′(k) and e″(k) to be g(k).

FIG.2is a block diagram illustrating a pattern ratio adaptation system. InFIG.2, adaptation system200comprises receiver210, sequence generator215, pattern detection A220, pattern detector B221, pattern counter A230, pattern counter B231, count scaler241, error signal generator242, integrator243, and feedback control245. Receiver210may comprise analog front-end (AFE)211, samplers212, digital equalizer213, and symbol decision circuitry214. Samplers212may, in some embodiments, include an adaptation sampler. Samplers212may, in some embodiments, include or comprise an analog-to-digital converter that outputs multiple digital bits. Adaptation system200may be implemented on one or more integrated circuits.

Input signal250is provided to receiver210. A plurality of output signals219of receiver210are provided to sequence generator215. Selected outputs and/or internal signals of receiver210are provided to sequence generator215(e.g., by multiplexor circuitry—not shown inFIG.2.) For example, one or more of a sampler212output, digital equalizer213, and/or symbol decision circuitry214, and/or other signals internal to receiver210may be selected (e.g., by feedback control245and/or a host processor—not shown inFIG.2) and provided to sequence generator215. The selected output signals219of receiver210may include one or more of symbol decisions, sign bits of data samples, and/or sign bits from an adaptation sampler. Sequence generator215receives the selected output signals219of receiver210and formats the outputs into an adaptation sequence that is provided to pattern detection A220and pattern detector B221.

Reference is now made toFIG.3. InFIG.3, a sample sequence302of samples and/or symbol decisions are illustrated. Sample sequence302includes symbol decisions/data samples corresponding top number of pre-cursor decisions/samples (dn+pto dn+1), q number of post-cursor decisions/samples (dn−1to dn−q), a data decision/sample (dn) made at the cursor, and an adaptation decision/sample (an) also made at the cursor by an adaptation sampler. In an example, sequence generator215appends the adaptation decision/sample made at the cursor to the end of the sequence of data decisions/samples dn+pto dn−qto form an adaptation sequence304to be evaluated by pattern detectors220and221. However, it should be understood that this location is arbitrary and the adaptation decision/sample anmade at the cursor by one or more adaptation samplers may be placed in any consistent location in adaptation sequence304. In another embodiment, additional adaptation samples (e.g., pre- and/or post-cursor—an+pto an−q) may be included in adaptation sequence304(e.g., interleaved with data samples dn+pto dn−q.)

Returning now with reference toFIG.2, pattern detector A220and pattern detector B221receive an adaptation sequence from sequence generator215. Pattern provision A225and pattern provision B226provide patterns to be detected to pattern detector A220and pattern detector B221, respectively. The patterns provided by pattern provision A225and pattern provision B226may be programmable. For example, pattern provision A225and pattern provision B226may comprise one or more writable registers whose contents define the patterns to be detected. In another example, pattern provision A225and pattern provision B226may comprise a plurality of fixed valued circuitry and/or read-only registers whose values are selected by one or more control signals (not shown inFIG.2.) In an embodiment, one of pattern provision A225and pattern provision B226may supply a pattern that masks all of the bits thereby matching all sequences. Providing this type of pattern to one of pattern detector A220and pattern detector B221causes adaptation system200to function in a single pattern detector configuration.

Pattern detector A220receives a search pattern (e.g., pattern A) from pattern provision A225and a search pattern mask (e.g., search pattern mask A) from pattern mask provision A227. Pattern detector B221receives a search pattern (e.g., search pattern B) from pattern provision B226and a search pattern mask (e.g., pattern mask B) from pattern mask provision B228. The search pattern mask provided by pattern mask provision A227and pattern mask provision B228may be programmable. For example, pattern mask provision A227and pattern mask provision B228may comprise one or more writable registers whose contents define which bits are to contribute to pattern detection. In another example, pattern mask provision A227and pattern mask provision B228may comprise a plurality of fixed valued circuitry and/or read-only registers whose values are selected by one or more control signals (not shown inFIG.2.)

The search pattern masks provided by search pattern mask provisions227-228(e.g., mp+qto m0) determine which corresponding decisions/samples dn+pto dn−qand are considered when determining whether a pattern has been detected by pattern detectors220-221, respectively. In other words, if a given bit (e.g., mp+1corresponding to the cursor data decision/sample dn) in a search pattern mask is set accordingly, then the corresponding bit in the adaptation sequence will or will not be considered (e.g., the cursor data decision/sample dnwill be considered if mp+1is set to a ‘1’, and will not be considered if mp+1is set to a ‘0’.)

This is further illustrated inFIG.3. InFIG.3, search pattern A306having decisions/samples from pap−qto pa0is masked by the corresponding bits in search pattern mask A307having masking bits map+qto ma0. Likewise, search pattern B308having decisions/samples from pbp+qto pb0is masked by the corresponding bits in search pattern mask B309having masking bits mbp+qto mb0.

Returning now with reference toFIG.2, pattern detector A220searches the adaptation sequence for the pattern provided by the combination of pattern provision A225and pattern mask provision A227. When that pattern occurs, pattern detection A220signals pattern counter A230.

Pattern counter A230receives indicators from pattern detector A220when the searched for pattern has occurred. Pattern counter A230counts the number of occurrences of the pattern over a window of time controlled by count window control244. Pattern counter B231receives indicators from pattern detector B221when the searched for pattern has occurred. Pattern counter B231counts the number of occurrences of the pattern over the window of time controlled by count window control244.

The count from pattern counter B231is provided to count scaler241. Count scaler241receives a target ratio control signal259. Target ratio control signal259determines the scaling applied to the count from pattern counter B231. In essence, target ratio control signal259may be viewed as corresponding to r target in the previously described objective function:

ming{E⁢❘"\[LeftBracketingBar]"Na(k)-Nb(k)⁢rtarget❘"\[RightBracketingBar]"2}
where Na(k) and Nb(k) are the number of occurrences of pattern A and the number of occurrences of pattern B detected in the kth evaluation window, and

rtarget=E⁢❘"\[LeftBracketingBar]"Na(k)❘"\[RightBracketingBar]"E⁢❘"\[LeftBracketingBar]"Nb(k)❘"\[RightBracketingBar]"
is the target ratio when a parameter is adapted to its desired value.

The output of count scaler241is a scaled count251(i.e., scaled count251equals r(k)=Nb(k)×rtarget). Scaled count251and the count from pattern counter A230are provided to error signal generation242. Error signal generation242subtracts scaled count251from the count from pattern counter A230to produce error signal252. Thus, error signal generation242may be viewed as implementing the previously described error function:
e(k)=Na(k)−Nb(k)rtarget.

Error signal252is optionally provided to integrator243. The output253of integrator243is provided to feedback control245. Feedback control245generates parameter control signal255. Parameter control signal255is provided to receiver210. Thus, in an embodiment, integrator243and feedback control245may be viewed as implementing the previously described functions to generate parameter control signal g(k) of:

g⁡(k)=g⁡(k-1)-u⁢s⁢ign[e⁡(k)]wheresign[e⁡(k)]={1,e⁢(k)>00,e⁡(k)=0-1,e⁡(k)<0
and u is the step size for updating the parameter being adapted and k is a current discrete time step and/or iteration. In another embodiment, integrator243and feedback control245may be viewed as implementing a gradient decent type algorithm to generate paramter control signal g(k) by determining a first error e′(k) using the parameter value g′(k)=g(k−1)+Δ, and a second error e″(k) using the parameter value g″(k)=g(k−1)−Δ, and then selecting the parameter value g′(k) or g″(k) that is associated with the lesser of e′(k) and e″(k) to be g(k).

The receiver210parameter controlled by parameter control signal255may be selectable (e.g., by feedback control245or a host system—not shown inFIG.2.) Parameter control signal255may be selected to control, for example, one or more sampler thresholds, sampler offsets, analog gains, receiver gains, continuous time linear equalization (CTLE) boost, other CTLE parameters, symbol decision thresholds, equalizer tap coefficients, DC offsets, analog FFE tap values, and/or analog DFE tap values before the samplers, and/or digital equalizer tap values after one or more ADC type samplers.

FIG.4Ais a flowchart illustrating a method of parameter adaptation. The steps illustrated inFIG.4Amay be performed by one or more of adaptation system100, and/or adaptation system200. By a receiver, and while the receiver is operating using a parameter value, a first sampled signal sequence is sampled (402). For example, an adaptation sampler and a data sampler of samplers210, while being provided a first value for parameter control signal255, may repeatedly sample input signal250thereby generating an adaptation sequence of samples.

A first number of occurrences of a first pattern in the first sampled sequence is counted (404). For example, in response to signals from pattern detector A220, pattern counter A230may count the number of occurrences, in the sequence from sequence generator215, of the pattern provided by pattern A provision225and pattern mask A provision227.

A second number of occurrences of a first pattern in the first sampled sequence is counted (406). For example, in response to signals from pattern detector B221, pattern counter B231may count the number of occurrences, in the sequence from sequence generator215, of the pattern provided by pattern provision B226and pattern mask provision B228.

Based at least in part on the count of the first number of occurrences and the count of the second number of occurrences, adjust the parameter value (408). For example, count scaler241, error signal generator242, integrator243, and feedback control245may, based on the count from pattern A counter230and the count from pattern counter B231, select a new value for parameter control signal255. The new value from parameter control signal255may be selected to reduce the difference between the ratio of the count from pattern A counter230and the count from pattern counter B231and a target ratio (e.g., rtarget.)

FIG.4Bis a flowchart illustrating a method of parameter adaptation. The steps illustrated inFIG.4Bmay be performed by one or more of adaptation system100, and/or adaptation system200. By a receiver, and while the receiver is operating using a first parameter value, a first sampled signal sequence is sampled (412). For example, an adaptation sampler and a data sampler of samplers210, while being provided a first value for parameter control signal255, may repeatedly sample input signal250thereby generating an adaptation sequence of samples.

A first number of occurrences of a first pattern in the first sampled sequence is counted (414). For example, in response to signals from pattern detector A220, pattern counter A230may count the number of occurrences, in the sequence from sequence generator215, of the pattern provided by pattern A provision225and pattern mask A provision227.

A second number of occurrences of a first pattern in the first sampled sequence is counted (416). For example, in response to signals from pattern detector B221, pattern counter B231may count the number of occurrences, in the sequence from sequence generator215, of the pattern provided by pattern provision B226and pattern mask provision B228.

Based at least in part on a first difference between a target ratio and a first measured ratio, selecting a second parameter value to be provided to the receiver to reduce the first difference between the target ratio and the first measured ratio, the measured ratio being based on the first number of occurrences of the first pattern in the first sampled signal sequence and the second number of occurrences of the second pattern in the first sampled signal sequence (418). For example, count scaler241, error signal generator242, integrator243, and feedback control245may, based on the count from pattern A counter230and the count from pattern counter B231, select a new value for parameter control signal255. The new value from parameter control signal255may be selected to reduce the difference between the ratio of the count from pattern A counter230and the count from pattern counter B231and a target ratio (e.g., rtarget.)

Herein, NRZ mode is treated as a case of PAM-4 mode by replicating each 1-bit symbol to form a 2-bit symbol decision so a common architecture can be used for both PAM-4 and NRZ modes. The symbol decisions for PAM-4 and NRZ are as follows: s0=00b corresponds to decision symbol for PAM-4 transmit level (−3) or NRZ transmit level (−1); s1=01b corresponds to decision symbol for PAM-4 transmit level (−1); s2=10b corresponds to decision symbol for PAM-4 transmit level (+1); and s3=11b corresponds to decision symbol for PAM-4 transmit level (+3) or NRZ transmit level (+1). Also, for the purposes of the following discussion, a mask bit value of ‘0’ corresponds to the corresponding pattern bit not being considered when searching for a pattern, and a mask bit value of ‘1’ corresponds to the corresponding pattern bit being considered when searching for a pattern.

FIG.5Aillustrates an example coarse adaptation of mean amplitude of received symbol (e.g., symbol s3) based on the signal voltage distribution of an NRZ eye pattern. The adaptation illustrated inFIG.5Amay be performed by one or more elements of adaptation system100and/or adaptation system200. The parameter being adapted inFIG.5Ais Vs3. Table 1 illustrates example search patterns and search pattern mask configurations used for an initial adaptation of the amplitude level for symbol s3as illustrated inFIG.5A. It should be understood that the patterns and pattern masks detailed in Table 1 correspond to a pattern A that is found when an==1 (other bits are don't care) and a pattern B that is found when an==0 (other bits are don't care). The target ratio rtargetis 0.25/(1−0.25)=⅓.

In another example (not shown inFIG.5A), pattern B may be set to a pattern that matches all sequences (i.e., all bits are don't care) while pattern A is found when an==1 (other bits are don't care) . In this example, rtargetis 0.25/(1)=¼.

FIG.5Billustrates an example fine adaptation based on the signal voltage distribution of an NRZ eye pattern. The adaptation illustrated inFIG.5Bmay be performed by one or more elements of adaptation system100and/or adaptation system200. The parameter being adapted inFIG.5Bis Vs3. Table 2 illustrates example search patterns and search pattern mask configurations used for a fine adaptation of the amplitude level for symbol s3as illustrated inFIG.5B. It should be understood that the patterns and pattern masks detailed in Table 2 correspond to a pattern A that is found when the symbol decision equals s3and an==1 (other bits are don't care) and a pattern B that is found when the symbol decision equals s3but an==0 (other bits are don't care).

FIG.6illustrates example parameter adaptations based on voltage margin of a four-level pulse amplitude modulation (PAM-4) eye pattern. The adaptations illustrated inFIG.6may be performed by one or more elements of adaptation system100and/or adaptation system200. To adapt multiple parameters, let gmdenote the mth parameter being adapted, the objective function for the adaptation of gmis

maxgm[Vhi-Vlo]
where Vhiand Vloare the upper and lower edge of vertical eye opening at a target bit error rate (BER). Using the top PAM-4 eye as an example, Vhiand Vloare adapted such that the expectation of the difference between the measured BER, rber, and a target rate, rtarget, is minimized

min{Vhi-Vlo}[E⁡(❘"\[LeftBracketingBar]"rber(k)-rtarget❘"\[RightBracketingBar]")]
where rber(k)=Na(k)/Nb(k) at discrete time k is the ratio of the number of pattern A being detected to the number of pattern B being detected in an evaluation window.

FIGS.7A-7Billustrate example adaptations based on the voltage margin edges of a PAM-4 eye pattern. The adaptations illustrated inFIGS.7A-7Bmay be performed by one or more elements of adaptation system100and/or adaptation system200.FIG.7Aillustrates the adaptation of Vhi. Table 3 illustrates example search patterns and search pattern mask configurations used for Vhias illustrated inFIG.7A.

FIG.7Billustrates the adaptation of Vlo. Table 4 illustrates example search patterns and search pattern mask configurations used for Vloas illustrated inFIG.7B.

An objective function for the adaptation of upper edge Vhiand the lower eye edge Vloat a target BER can be rewritten as:

To measure Vhiand Vlousing the adaptation system100and/or adaptation system200, let rtarget=rber. Each parameter is adapted by finding its optimum which leads to the maximum voltage margin at a target BER. For example, the PAM-4 decision threshold between symbol s3and s2is given by:

Vtop(k)=Vhi(k)+Vlo(k)2
which is the symbol decision threshold between symbol s3and s2at the target BER. Other parameters such AFE boost and gains, the voltage margins at different settings, etc. may be evaluated. The settings which lead to the maximum voltage margin at a target BER may be selected as the optimum set of settings.

In an embodiment, equalizer tap coefficients may be adapted by one or more elements of adaptation system100and/or adaptation system200. Adaptation system100and/or adaptation system200may optimize to an objective function that decorrelates the data at the input of an equalizer and symbol decision error. For example, pattern A and pattern B may be configured to detect positive correlation and negative correlation of the input of an equalizer and symbol decision error. To adapt the mth equalizer tap (e.g., m∈{−p, −p+1, . . . ,−1, 0, 1, . . . , q}), the coefficient of the mth tap is adapted to decorrelate the mth data sample from main cursor at an equalizer input and the sign bit of main cursor's sample amplitude error (main cursor's sample amplitude error is the difference between the sampled main cursor's amplitude and the corresponding mean amplitude of data samples which have the same symbol being detected). In particular:

minhm(k)[E⁡(❘"\[LeftBracketingBar]"sign[xn-m(k)]⋆sign⁡(en(k))❘"\[RightBracketingBar]")]
where xn−m(k) is the mth data sample from main cursor. Signal en(k) is the corresponding sample amplitude error of main cursor sample xn(k). To rewrite the objective function, let dn−m=sign[xn−m(k)] and symbol decision error an=sign(en(k)) . This allows the objective function to be rewritten as

mingm(k){E⁢❘"\[LeftBracketingBar]"Na(k)-Nb(k)⁢rtarget❘"\[RightBracketingBar]"2}
where the target ratio rtargetis 1 and

Na(k)=∑n=0Nw-1(dn-m==1⁢and⁢an==1)Nb(k)=∑n=0Nw-1(dn-m==1⁢and⁢an==0)
Using feed-forward equalization (FFE) as an example, the mth FFE tap may be adapted by adaptation system100and/or adaptation system200by using the example pattern A and pattern B give in Table 5.

FIG.8Aillustrates an example coarse adaptation based on the signal voltage distribution of a PAM-4 eye pattern. The adaptation illustrated inFIG.8Amay be performed by one or more elements of adaptation system100and/or adaptation system200. The parameter being adapted inFIG.8Ais Vs3. Table 6 illustrates example search patterns and search pattern mask configurations used for an initial adaptation of the amplitude level for symbol s3illustrated inFIG.8A. It should be understood that the patterns and pattern masks detailed in Table 6 correspond to a pattern A that is found when an==1 (other bits are don't care) and a pattern B that is found when an==0 (other bits are don't care). The target ratio rtargetis 0.125/(1−0.125)= 1/7.

FIG.8Billustrates a fine adaptation based on the signal voltage distribution of a PAM-4 eye pattern. The adaptation illustrated inFIG.8Bmay be performed by one or more elements of adaptation system100and/or adaptation system200. The parameter being adapted inFIG.8Bis Vs3. Table 7 illustrates example search patterns and search pattern mask configurations used for a fine adaptation of the amplitude level for symbol s3illustrated inFIG.8B. It should be understood that the patterns and pattern masks detailed in Table 7 correspond to a pattern A that is found when the symbol decision equals s3and an==1 (other bits are don't care) and a pattern B that is found when the symbol decision equals s3but an==0 (other bits are don't care). The target ratio rtargetis 0.5/(1−0.5)=1.

The methods, systems and devices described above may be implemented in computer systems, or stored by computer systems. The methods described above may also be stored on a non-transitory computer readable medium. Devices, circuits, and systems described herein may be implemented using computer-aided design tools available in the art, and embodied by computer-readable files containing software descriptions of such circuits. This includes, but is not limited to one or more elements of adaptation system100, and/or adaptation system200, and their components. These software descriptions may be: behavioral, register transfer, logic component, transistor, and layout geometry-level descriptions. Moreover, the software descriptions may be stored on storage media or communicated by carrier waves.

Data formats in which such descriptions may be implemented include, but are not limited to: formats supporting behavioral languages like C, formats supporting register transfer level (RTL) languages like Verilog and VHDL, formats supporting geometry description languages (such as GDSII, GDSIII, GDSIV, CIF, and MEBES), and other suitable formats and languages. Moreover, data transfers of such files on machine-readable media may be done electronically over the diverse media on the Internet or, for example, via email. Note that physical files may be implemented on machine-readable media such as: 4 mm magnetic tape, 8 mm magnetic tape, 3-½ inch floppy media, CDs, DVDs, and so on.

FIG.9is a block diagram illustrating one embodiment of a processing system900for including, processing, or generating, a representation of a circuit component920. Processing system900includes one or more processors902, a memory904, and one or more communications devices906. Processors902, memory904, and communications devices906communicate using any suitable type, number, and/or configuration of wired and/or wireless connections908.

Processors902execute instructions of one or more processes912stored in a memory904to process and/or generate circuit component920responsive to user inputs914and parameters916. Processes912may be any suitable electronic design automation (EDA) tool or portion thereof used to design, simulate, analyze, and/or verify electronic circuitry and/or generate photomasks for electronic circuitry. Representation920includes data that describes all or portions of adaptation system100, and/or adaptation system200, and their components, as shown in the Figures.

Representation920may include one or more of behavioral, register transfer, logic component, transistor, and layout geometry-level descriptions. Moreover, representation920may be stored on storage media or communicated by carrier waves.

Data formats in which representation920may be implemented include, but are not limited to: formats supporting behavioral languages like C, formats supporting register transfer level (RTL) languages like Verilog and VHDL, formats supporting geometry description languages (such as GDSII, GDSIII, GDSIV, CIF, and MEBES), and other suitable formats and languages. Moreover, data transfers of such files on machine-readable media may be done electronically over the diverse media on the Internet or, for example, via email

User inputs914may comprise input parameters from a keyboard, mouse, voice recognition interface, microphone and speakers, graphical display, touch screen, or other type of user interface device. This user interface may be distributed among multiple interface devices. Parameters916may include specifications and/or characteristics that are input to help define representation920. For example, parameters916may include information that defines device types (e.g., NFET, PFET, etc.), topology (e.g., block diagrams, circuit descriptions, schematics, etc.), and/or device descriptions (e.g., device properties, device dimensions, power supply voltages, simulation temperatures, simulation models, etc.).

Memory904includes any suitable type, number, and/or configuration of non-transitory computer-readable storage media that stores processes912, user inputs914, parameters916, and circuit component920.

Communications devices906include any suitable type, number, and/or configuration of wired and/or wireless devices that transmit information from processing system900to another processing or storage system (not shown) and/or receive information from another processing or storage system (not shown). For example, communications devices906may transmit circuit component920to another system. Communications devices906may receive processes912, user inputs914, parameters916, and/or circuit component920and cause processes912, user inputs914, parameters916, and/or circuit component920to be stored in memory904.

Implementations discussed herein include, but are not limited to, the following examples:

Example 1: An integrated circuit, comprising: at least one receiver to sample a signal and produce a sampled signal sequence; a first pattern counter to detect and count occurrences of a first pattern in the sampled signal sequence; a second pattern counter to detect and count occurrences of a second pattern in at least the sampled signal sequence; and, control circuitry to adapt a parameter value of the at least one receiver based on the counted occurrences of the first pattern by the first pattern counter and the counted occurrences of the second pattern by the second pattern counter.

Example 2: The integrated circuit of example 1, wherein the parameter value is adapted to minimize a difference between a first ratio and a second ratio, the second ratio to be between a first counted number of occurrences of the first pattern in the sampled signal sequence and a second counted number of occurrences of the second pattern in the sample signal sequence.

Example 3: The integrated circuit of example 2, wherein the first counted number of occurrences of the first pattern in the sampled signal sequence and the second counted number of occurrences of the second pattern are detected in a window of consecutive samples in the sampled signal sequence.

Example 4: The integrated circuit of example 2, wherein the control circuitry includes a finite state machine to receive an error indicator corresponding to the difference between the first ratio and the second ratio and to, based on the error indicator, select an adapted parameter value.

Example 5: The integrated circuit of example 1, wherein the control circuitry is coupled to at least one sampler of the receiver.

Example 6: The integrated circuit of example 1, wherein the at least one receiver comprises an adaptation sampler and a data sampler.

Example 7: The integrated circuit of example 6, wherein the sampled signal sequence includes a first at least one sample produced by the adaptation sampler.

Example 8: An integrated circuit, comprising: a receiver to produce a first set of sequential data samples, the receiver to receive a first indicator of a parameter that affects at least one sampled value in the first set of sequential data samples; a first pattern detector to signal occurrences of a first pattern in at least the first set of sequential data samples; a first counter to count occurrences of the first pattern in at least the first set of sequential data samples; a second pattern detector to signal occurrences of a second pattern in at least the first set of sequential data samples; a second counter to count occurrences of the second pattern in at least the first set of sequential data samples; and, feedback loop control to iteratively adjust the parameter.

Example 9: The integrated circuit of example 8, wherein the feedback loop control iteratively adjusts the parameter to minimize a difference between a target ratio and a measured occurrence ratio, the measured occurrence ratio to be between a first count of occurrences of the first pattern in the first set of sequential data samples and a second count of occurrences of the second pattern the first set of sequential data samples.

Example 10: The integrated circuit of example 8, further comprising: pattern provision circuitry to provide a first plurality of patterns to at least the first pattern detector.

Example 11: The integrated circuit of example 10, wherein at least a first one of the first plurality of patterns include at least one pattern mask indicator that indicates at least a portion of the first one of the first plurality of patterns is not to be used in a detection of an occurrence of the first one of the first plurality of patterns in the first set of sequential data samples.

Example 12: The integrated circuit of example 10, further comprising: at least one adaptation sampler to sample the signal and produce a second set of sequential data samples.

Example 13: The integrated circuit of example 12, wherein at least one of the second set of sequential data samples is included in the first set of sequential data samples.

Example 14: The integrated circuit of example 12, wherein at least a first one of the first plurality of patterns include at least one pattern mask indicator that indicates at least a portion of the first one of the first plurality of patterns is not to be used in a detection of an occurrence of the first one of the first plurality of patterns in the second set of sequential data samples.

Example 15: A method, comprising: sampling, by a receiver and while the receiver is operating using a parameter value, a first sampled signal sequence; counting a first number of occurrences of a first pattern in the first sampled signal sequence; counting a second number of occurrences of a second pattern in the first sampled signal sequence; and, based at least in part on a count of the first number of occurrences and a count of the second number of occurrences, adjusting the parameter value.

Example 16: The method of example 15, wherein based at least in part on a first difference between a target ratio and a measured ratio, a second parameter value is selected to be provided to the at least one sampler to reduce the first difference between the target ratio and the measured ratio, the measured ratio being based on the first number of occurrences of the first pattern in the first sampled signal sequence and the second number of occurrences of the second pattern in the first sampled signal sequence.

Example 17: The method of example 16, further comprising: sampling, by the receiver and while the receiver is operating using the second parameter value, a second sampled signal sequence; counting a third number of occurrences of the first pattern in the second sampled signal sequence; counting a fourth number of occurrences of the second pattern in the second sampled signal sequence; and, based at least in part on a second difference between the target ratio and a second measured ratio, selecting a third parameter value to be provided to the receiver to reduce the second difference between the target ratio and the second measured ratio, the second measured ratio being based on the third number of occurrences of the first pattern in the second sampled signal sequence and the fourth number of occurrences of the second pattern in the second sampled signal sequence.

Example 18: The method of example 15, further comprising: sampling, by at least one adaptation sampler, a second sampled signal sequence.

Example 19: The method of example 18, wherein the counting of the first number of occurrences of the first pattern is further based on a first at least one sample of the second sampled signal sequence.

Example 20: The method of example 18, wherein the counting of the second number of occurrences of the second pattern is further based on a second at least one sample of the second sampled signal sequence.