# Regarding Equalizer of Transceiver on FPGA ## 1. Today's protagonist -- Equalizer (Serial) ![image alt](https://i.imgur.com/uL8rbYB.png) * Working for *Serial Data Signal* ## 2. Introduction ### 2.1 Architecture in this article ```graphviz digraph G { # Def var start [ label="Problem with Decading of long trace" ] HF [ label="emphasis HF" ] LF [ label="supress LF" ] # link var start -> {HF,LF} } ``` ### 2.2. Solutions #### 2.2.1. FIR(Finite Impulse Response) [2][3] ![image alt](https://i.imgur.com/iCL6E8j.png =500x) ![image alt](https://i.imgur.com/JHHUzFA.png =500x) #### 2.2.2. Implement * Tx: * De-emphasis (FIR) * Rx: * CTLE(Continuous Time Linear Equalization) * DFE(Feed Forward Equalization) ## 3. Problems with Longer Trace and Higher Trance-rate ### 3.1. Channel Insertion Loss #### 3.1.1. Differential Insertion Loss of Sample Nelco 4000-13 Traces ![](https://i.imgur.com/rEI8bgi.png =500x) ![](https://i.imgur.com/euoeMIH.png =500x) #### 3.1.2. Ideal pulse respones (delta functuin in time-domain) ![](https://i.imgur.com/t8SADvA.png =300x) ![](https://i.imgur.com/GsFGO7m.png) #### 3.1.3. Non-ideal pulse response ![](https://i.imgur.com/YherOL6.png =400x) #### 3.1.4. Ideal/Non-ideal square wave response Same case(loss) to chapter 3.1.3, we use *square wave* as input: ![](https://i.imgur.com/4fcx4yP.png =400x) It seems probe adjuster of oscillator: ![](https://i.imgur.com/9Q41vVv.png =300x) #### 3.1.5. A example: sent/receive *01000* ![](https://i.imgur.com/mkqMxmZ.png) ### 3.2. Channel Discontinuity ![](https://i.imgur.com/MV64r9l.png) * If $z2$ -> $\infty$, then $\frac{vt}{vi}$ -> $2$ * Picture shows response reflect in time-domain ![](https://i.imgur.com/VyGJOiA.png =400x) ### 3.3 My understanding * I imagine this case as **Dispersion in Optics** (Although isn't accurate) ![](https://i.imgur.com/gaVQgH6.gif =300x) ## 4. To solve this problem ### 4.1. In the Tx (De-emphasis) #### 4.1.1. Without De-emphasis ![](https://i.imgur.com/Kz3nUfh.png =300x) #### 4.1.2. With De-emphasis (6dB ~= 2 times, *20dB???*) ![](https://i.imgur.com/j588bA4.png =300x) #### 4.1.3. Circuit of De-emphasis (3-taps) ![](https://i.imgur.com/BeBuJTP.png =500x) ### 4.2. In the Rx #### 4.2.1. CTLE(Continuous Time Linear Equalization) * Basic concept of CTLE ![](https://i.imgur.com/b0GZF7u.png) * You could recognize as High-Pass Filter (with a little incorrect) * Bad equalized of CTLE * Correct-Equalized ![](https://i.imgur.com/w1tPiJg.png) * Under-Equalized ![](https://i.imgur.com/VCKnQM7.png) * Over-Equalized ![](https://i.imgur.com/p9hgaAS.png) * Transceiver of Xilinx's FPGA provide "Dynamic Auto Adaptation" for CTLE (additional power consump ~= 5%) * cons: noise could be amplify #### 4.2.2. DFE(Feed Forward Equalization) * Circuit of DFE (16 taps in ultrascle-series) ![](https://i.imgur.com/ge4Jn0l.png) * DFE works ![](https://i.imgur.com/8NKzvwQ.png) * DFE has good performance to reject noise * Data for DFE input *must be random (Low probability of repetition)*, CTLE is not. So UG578[4] recommand DFE coporate with 8B/10B(64B/66B) encoding * Lots of case (10GbE, PCI-E) default to use DFE ## 5. Summery * Problems: Signal decade of Long-Trace * Due to * Channel Insertion Loss (Dispersion) * Channel Discontinuity (Reflection) * Solutions * Emphasis HF and Supress LF * Tx * De-emphasis (FIR) * Rx * CTLE (High-Pass Filter) * DFE (Similer to FIR) * Manually select parameter of CTLE and DFE is critical * Xilinx's transceiver also support DFE+CTLE ## 6. Note: Regarding "Insertion loss at Nyquist" of ibertGTY IP PG196[5] said: ![](https://i.imgur.com/7ZbFWie.png) ## Reference [1] [Equalization for High-Speed Serial Interfaces in Xilinx 7 Series FPGA Transceivers](https://www.xilinx.com/support/documentation/white_papers/wp419-7Series-XCVR-Equalization.pdf) [2] [Finite impulse response (wiki)](https://en.wikipedia.org/wiki/Finite_impulse_response) [3] [Finite impulse response (video)](https://youtu.be/NvRKtdrssFA) [4] [p210, UG578, UltraScale Architecture GTY Transceivers](https://www.xilinx.com/support/documentation/user_guides/ug578-ultrascale-gty-transceivers.pdf) [5] [p14, PG196, IBERT for UltraScale GTY Transceivers v1.2](https://www.xilinx.com/support/documentation/ip_documentation/ibert_ultrascale_gty/v1_2/pg196-ibert-ultrascale-gty.pdf) ###### tags: `TechReport` `DeWei`