前言
隨著SERDES應(yīng)用越來越多,速率也越來越高,SI的問題漸漸變得越來越重要,它對PCB設(shè)計,SERDES參數(shù)優(yōu)化都有著非常重要的指導(dǎo)作用。而器件選型也往往以SI仿真開始。
但是在仿真時,工具會讓用戶自己設(shè)置一些信息,比如抖動,擺幅,預(yù)加重等等。擺幅和預(yù)加重之類都可以在手冊里找到。但抖動的設(shè)置卻沒有一個明確的指導(dǎo)。而且不同抖動設(shè)置的會得到完全不同的結(jié)果。所以錯誤的設(shè)置往往會誤導(dǎo)我們的設(shè)計和優(yōu)化。特別在器件評估階段還會決定器件選型的成敗。
這篇短文就是給大家仿真中設(shè)置抖動一個簡單的指導(dǎo)。
抖動
簡單而言,抖動就是信號的沿對理想位置偏移。在示波器上,如果沒有抖動,我們可以看到信號沿應(yīng)該是一條清晰的線。但是由于抖動的存在,我們在沿上看到的是模糊的一片。

根據(jù)抖動的特性及其形成原因,抖動可以分成2種:隨機(jī)抖動(RJ: Random Jitter)和確定抖動(DJ: Deterministic Jitter)。
隨機(jī)抖動RJ
隨機(jī)抖動是由熱噪聲、散粒噪聲等隨機(jī)噪聲引起。它的分布符合高斯分布。由于高斯分布的尾部擴(kuò)展到無窮大,RJ的峰峰值沒有邊界。而RJ的均方根(RMS: Root Mean Square)收斂到高斯分布的寬度上。所以 隨機(jī)抖動一般測量的都是其均方根值,以ps RMS或UI RMS為單位。
當(dāng)我們要在RMS和峰峰值間近似轉(zhuǎn)換時,就需要有一個轉(zhuǎn)換系數(shù),它根據(jù)不同的誤碼率有對應(yīng)的值,如下表所示:

確定性抖動DJ
確定性抖動有3個基本的分類
數(shù)據(jù)相關(guān)抖動(DDJ: Data Dependent Jitter)
1. 占空比失真 (DDC:Duty Cycle Distortion)
2. 碼間干擾(ISI: Inter-Symbol Interference)
周期性抖動 (PJ: Periodic Jitter)
有界不相關(guān)抖動 (BUJ: Bounded Uncorrelated Jitter)
周期性抖動PJ是在某個周期或頻率上重復(fù)出現(xiàn)的抖動信號,相當(dāng)于對信號有一個調(diào)頻。所以會看到周期性地出現(xiàn)信號周期的變大和變小。
有界不相關(guān)抖動BUJ主要是由電磁干擾(EMI)、串?dāng)_引起。其中串?dāng)_是BUJ的主要成因。由于串?dāng)_形成的隨機(jī)性,BUJ是有界的,但他和數(shù)據(jù)模式無關(guān)。順便說一下,這個抖動在接收側(cè)是無法補(bǔ)償?shù)?,在測試接收抖動容忍度時,插入的就是BUJ。
數(shù)據(jù)相關(guān)抖動DDJ由于電或光系統(tǒng)的“記憶”效應(yīng),當(dāng)前bit的跳變時刻會受到前面bit跳變時刻的影響而引入的。它和數(shù)據(jù)的模式(pattern)相關(guān),其中和游程(Run Length)密切相關(guān),另外一個是占空比失真。同時DDJ還和信號經(jīng)過的信道或媒質(zhì)的沖擊/階躍響應(yīng)有關(guān)。由于不同數(shù)據(jù)模式所帶不同的游程使得脈沖跳變沿不均勻,使得出現(xiàn)了ISI。最大的干擾來自于短脈沖和與其極性相反的長脈沖之間的干擾,反之亦然。
確定性抖動測量的是峰峰值,以ps或UI為單位。
為了方便理解,下面是抖動的整個分類圖:

對于抖動的詳細(xì)說明,有很多資料可查,所以這里只是簡單說明一下,以方便理解后面的正題。
在XILINX的IBIS-AMI模型里對抖動的處理如下:
1. PJ、DCD等DJ這些SERDES固有的抖動元素在建模時都已經(jīng)包含在內(nèi),所以在EDA/仿真工具里,所以相應(yīng)的值可以放心地設(shè)成0;
2. RJ是需要用戶自己設(shè)置的;
3. ISI和線路相關(guān),所以在這個DJ元素會在仿真中體現(xiàn),不需要在TX側(cè)設(shè)置(否則會重復(fù)計入)。
仿真中抖動的設(shè)置
抖動設(shè)置
在XILINX的每款芯片出來后,都會有特性報告。在仿真里,我們需要用的是Generic Characterization Report,因為這是大批量測試的結(jié)果。
在這里我們以ADS上仿真GTX為例做說明,線速率是9.8304Gbps。

在仿真中,我們需要看TX信號經(jīng)過一段PCB走線后的眼圖。需要說明一點(diǎn)的是,在ADS中,用bit-by-bit模式是符合仿真結(jié)果的。特別當(dāng)我們在線路中間加上EYE_PROBE_DIFF時,STATISTIC模式的結(jié)果是不可用的。
接收側(cè)的模型是一個IDLE_RX。它沒有均衡設(shè)置,只相當(dāng)于是一個終端匹配。這樣是為了能夠客觀顯示遠(yuǎn)端眼圖,而不是經(jīng)過RX均衡后的眼圖。

從通道(包括FPGA封裝和PCB走線)的S參數(shù)看,在4.9152GHz上的插損是
1. 單端(紅色): -6.5dB
2. 差分(黃色): -5.1dB
從K7 GTX的Generic Characterization Report,我們可以看到發(fā)送側(cè)在9.8304Gbps速率下的發(fā)送抖動。

表格中的RJ是峰峰值。
不管是TJ還是DJ, RJ, 都有MIN和MAX值。但不是簡單的把DJMAX 和RJMAX簡單相加就是TJMAX。這些都是各自的最大值,但不是最大DJ的通道有最大RJ。從表格里值簡單相加也說明不是這樣的。
所以我們在選擇參數(shù)是,就選最大值MAX, 0.114 UI。
在ADS的設(shè)置里,RJ是RMS值。由于我們設(shè)置的誤碼率是1E-12, RJ需要除以系數(shù)14.069:
0.114/14.069 = 0.0081 UI

前面說到,ISI的的原因是不均勻的脈沖沿經(jīng)過PCB走線后由于其“記憶”效應(yīng)導(dǎo)致。這是信號經(jīng)過傳輸線后的必然效應(yīng)。所以這個不能設(shè)置在發(fā)送側(cè)的DJ里,否則會重復(fù)計算ISI的值。
仿真結(jié)果
由于信號需要走一段PCB,我們在發(fā)送側(cè)還設(shè)置了預(yù)加重。
TXPRECURSOR = 3 (0.68dB)
TXPOSTCURSOR = 8 (1.94dB)
下面是擺幅為677mV時的結(jié)果。

由于PCB板子的原因,遠(yuǎn)端眼圖的抖動大于特性報告的值。這是可以理解的。
總結(jié)
在SERDES的仿真里,抖動的正確設(shè)置至關(guān)重要。
在XILINX SERDES的IBIS-AMI模型里,已經(jīng)包括的DJ的主要要素,而ISI是信號經(jīng)過傳輸線引入的。所以在仿真時,DJ設(shè)成0, RJ則是SERDES的Generic Characterization Report的最大值以得最壞結(jié)果。
電子發(fā)燒友App






















評論