張秀均,于 治,宋林峰,季振凱
(無錫中微億芯有限公司,江蘇無錫 214072)
隨著高速數據傳輸技術的快速發(fā)展,國際上高速串并收發(fā)器(SerDes)的傳輸速率可達56 Gbit/s 乃至112 Gbit/s,如何改善高速SerDes 的傳輸性能已成為研究的熱點問題[1]。由于測試條件的限制,目前國內高速SerDes 的傳輸測試速率大多在10.3125 Gbit/s。為了保證信號的傳輸質量,AC 耦合電容廣泛應用于高速SerDes 傳輸[2],因為AC 耦合電容能夠消除收發(fā)模塊間共模電壓的失配,實現不同電壓邏輯信號間的互連。耦合電容選取不當會造成碼型抖動、信號傳輸質量惡化、誤碼率增加等。因此AC 耦合電容的選取對高速SerDes 傳輸至關重要。
相較于國外V7 系列12.5 Gbit/s 的SerDes 芯片,本研究基于公司研發(fā)的集成16 Gbit/s 高速SerDes 的FPGA 芯片,測試了不同速率下的SerDes 性能?;诳蓽y性設計(DFT)[3]測試了不同速率下的眼圖、抖動等性能參數,并通過理論分析和實際測試比較出不同速率下性能最好的AC 耦合電容值。
高速SerDes 由發(fā)送單元和接收單元組成,發(fā)端和收端的功能彼此相互獨立且都包含物理媒介適配層(PMA)和物理編碼子層(PCS)[4],高速SerDes 電路結構如圖1 所示。
圖1 高速SerDes 電路結構
高速SerDes 的功能本質上是實現串并轉換,發(fā)送端將并行信號經過8 B/10 B 編碼轉化為串行信號后經過信道傳輸再解碼為并行信號處理[5]。為了保證數據在高速傳輸過程中的穩(wěn)定性,發(fā)送端和接收端還包含加重/預加重、時鐘驅動、均衡、時鐘恢復等模塊,每個模塊都有自己對應的參數配置。如何配置各模塊的參數在高速SerDes 調試過程中至關重要,經統計,SerDes 調試過程中需要修改的配置參數達上百個。
聯合測試工作組(JTAG)[6]是一種由國際統一標準認證的芯片內部DFT 測試協議。邊界掃描是JTAG的常見應用,通常情況下,高速SerDes 測試采用JTAG 進行配置。通過控制內部狀態(tài)機的TMS 輸入接口、控制時鐘的TCK 控制接口、控制傳輸數據的TDI輸入接口以及數據輸出的TDO 接口下載SerDes 信息。
除了JTAG 外,本研究在高速SerDes 調試過程中,還利用集成誤碼率測試儀(IBERT)協助測試。IBERT是Xilinx 提供的用于調試FPGA 芯片內高速串行接口比特誤碼率性能的工具,專用調試軟件Vivado進行協議和時鐘配置,生成用例后可以查看全部的配置參數。利用IBERT 進行高速SerDes 傳輸時,生成的二進制比特流通過光模塊(SFP)收發(fā)器通道的發(fā)送(TX)端發(fā)送到FPGA 測試板的接收(RX)端,經過FPGA 內部功能模塊后再由測試板TX 端返回輸出到SFP RX 端。此外,在數據傳輸過程中還可以動態(tài)配置碼型、擺幅、加重、環(huán)回模式等參數[7],給硬件調試帶來很大的便利。
為了在調試過程中動態(tài)配置SerDes 參數,設計了16 Gbit/s SerDes 參數調試工具對寄存器進行讀寫,調試軟件界面如圖2 所示。其不僅可以導入配置程序對所有SerDes 參數進行全局讀寫,還可以針對特定通道對單個SerDes 參數進行動態(tài)讀寫,避免了全局讀寫造成的基礎配置反復初始化,給調試帶來很大便利。
圖2 16 Gbit/s SerDes 參數調試軟件界面
在進行高速SerDes 傳輸時,經常要使用AC 耦合電容保證信號的傳輸質量,常見的電容選取值是100nF和10 nF。電容值過大或過小都會增加直流壓降并引起碼型相關抖動,增加誤碼率。
在高速SerDes 傳輸系統中,AC 耦合電容會引起阻抗變化,造成碼型相關抖動。發(fā)送的偽隨機碼(PRBS)出現連續(xù)的0 或1 時,會出現直流壓降,并且這個壓降與時間常數RC 有關。其理論表達式為:
式中,R、C 分別代表終端電阻與AC 耦合電容,電容值越大,直流壓降越小,VPP代表峰值電壓。由于安裝后的電容并不是理想的電容,除了等效串聯電感和等效串聯電阻外還安裝有電感,存在串聯諧振頻率。電容在串聯諧振頻率前呈容性,之后呈感性,并且電容取值越大,諧振頻率越小,造成高頻分量衰減增大,誤碼率增加。
AC 耦合電容引起的碼型相關抖動如圖3 所示。圖3 中,實線Diff(Pf)的P 端和N 端分別代表不歸零編碼(NRZ)的長“1”碼型和長“0”碼型的理想電壓波形。當NRZ 翻轉時,由于直流壓降的存在,長“1”碼型的實際電壓波形翻轉位置低于理想電壓波形,見圖中實線Diff(Ps)。因此,實際電壓波形比理想電壓更早達到共模電壓水平,圖中用Ts和Tf分別代表實際電壓波形和理想電壓波形到達共模電壓的時間,二者的差值即表示為碼型相關抖動(PDJ)[8],記為PDJ。
圖3 AC 耦合電容引起的碼型相關抖動
為了計算PDJ,需要測量信號電壓值從20%上升到80%所用的時間,上升時間或下降時間定義為數據信號由低電平到高電平或從高電平到低電平轉換的時間的平均值。假定上升沿斜率等于下降沿斜率,由圖3可知,上升沿斜率表示為0.6 VPP/tr,下降沿斜率表示為ΔV/PDJ,因此可以得到:
聯立式(1)(2)可以得到:
其中,tr≈0.26/BW,信號帶寬BW可以近似等價為NRZ速率,終端電阻R 的值為50 Ω,C 為AC 耦合電容值,t表示長0 或長1 碼保持的時間[9]。由式(3)可知,RC 時間常數越大,PDJ的值越大。
根據直流壓降和碼型相關抖動推導AC 耦合電容取值范圍,假定高速SerDes 直流壓降不超過電壓擺幅的6%,即
式中,t=NUM×Tc,其中Tc表示每比特位的數據周期,NUM為最大連續(xù)0 或連續(xù)1 的數目。對式(4)進行推導即可得到AC 耦合電容值的最小值[10]:
本設計中假定NUM=32,根據式(3)(5)可以得到高速SerDes 典型速率下AC 耦合電容的最小取值及PDJ,當速率為16 Gbit/s 時,AC 耦合電容的理論最小取值為0.32 nF,為實驗部分的耦合電容選取提供了理論依據。
為了驗證AC 耦合電容對高速SerDes 傳輸的影響,對本公司研發(fā)的16 Gbit/s 高速SerDes 的FPGA 芯片進行測試。測試內容包括高速SerDes 無源特性測試及SerDes 遠端PMA 測試,通過分析接收眼圖的眼高、眼寬及抖動來評估不同速率下AC 耦合電容的優(yōu)劣。
高速SerDes 的無源特性測試是將FPGA 測試板的TX 端傳輸到示波器進行眼圖分析,通過IBERT 加載并動態(tài)配置SerDes 參數,碼型選擇PRBS31,環(huán)回模式設置為近端PMA 模式。分別使用100nF、220nF、470nF的電容作為AC 耦合電容,由于傳輸過程未注入抖動,接收端誤碼率為零,通過觀測眼圖的眼高和眼寬來選取合適的AC 耦合電容。表1 列出了高速SerDes 常見速率下測得的眼高和眼寬。從表1 可以發(fā)現,在速率小于10.3125 Gbit/s 時,使用100 nF 的耦合電容有更大的眼高和眼寬;而當速率大于10.3125 Gbit/s 時,使用470 nF 的耦合電容效果更好。根據第3 節(jié)的推論,選取100 nF 和470 nF 的耦合電容是完全可行的。
表1 高速SerDes 無源特性測試結果
高速SerDes 遠端PMA 測試通過Keysight N4903B 誤碼儀和Xilinx ZCU111 開發(fā)板發(fā)送PRBS碼到高速SerDes 驗證板的RX 端。PC 端通過寄存器讀寫軟件對指令列表中的參數進行配置,SerDes 結構與2.1 節(jié)給出的一致。動態(tài)配置的主要參數包括時鐘選擇、分頻設置、環(huán)回模式、TX 擺幅、均衡模式、RX 共模電壓選擇等。使用JTAG 下載器加載配置到FPGA芯片,芯片發(fā)出的數據經過驗證板的TX 端連接到示波器。
分別使用470 pF、10 nF、100 nF、470 nF 和680 nF的電容作為AC 耦合電容,發(fā)送碼型設置為PRBS31,誤碼儀注入0.5 UI 的抖動產生誤碼,通過觀測接收眼圖的眼高和眼寬來評估耦合電容對傳輸的影響,誤碼率通過TJ 抖動呈現,抖動越大,誤碼率越高。試驗結果見表2~4。
表2 高速SerDes 接收眼圖眼高
表3 高速SerDes 接收眼圖眼寬
表4 高速SerDes 傳輸TJ 抖動
對比表2 的結果可以發(fā)現,高速SerDes 遠端PMA 測試結果與無源特性測試有相同的特點,都是在速率為10.3125 Gbit/s 以下時100 nF 的耦合電容有更大的眼高,10.3125 Gbit/s 以上時470 nF 的耦合電容有更大的眼高。結合表3 和4 分析發(fā)現,100 nF、470 nF的耦合電容在不同速率下接收眼寬和TJ 抖動差別不大,在速率為6.25 Gbit/s 時100 nF 的耦合電容比起470 nF 的耦合電容眼寬和抖動幾乎都有微小的改善,原因是遠端PMA 測試時傳輸鏈路增加帶來了更多的傳輸損耗且注入了抖動,耦合電容的影響被部分削弱,結果表現為100 nF 和470 nF 的耦合電容在眼寬和抖動上有最優(yōu)的參數。
圖4 12.5 Gbit/s 和8 Gbit/s 耦合電容性能仿真
綜合本文的試驗結果,表明在16 Gbit/s 以下的高速SerDes 傳輸中,使用100 nF 和470 nF 的AC 耦合電容滿足理論分析的耦合電容選取標準,在不注入抖動時PDJ處于可接受范圍,不會產生誤碼。以10.3125 Gbit/s 為界,100 nF 和470 nF 分別是最佳的選取方案。
以10.3125 Gbit/s 為界,分別對16 Gbit/s SerDes下經典的12.5 Gbit/s 和8 Gbit/s 速率的試驗結果進行仿真,生成的仿真圖如圖4 所示。可以直觀地看出,在12.5 Gbit/s 和8 Gbit/s 下,470 nF 和100 nF 的耦合電容均擁有最大的眼高、眼寬和最低的抖動,印證了之前的結論。
本文基于公司自研的16 Gbit/s FPGA 芯片進行了研究,測試了16 Gbit/s 以下典型速率的SerDes 傳輸性能,并且考慮到SerDes 傳輸中AC 耦合電容的影響,通過理論分析和試驗驗證發(fā)現,在10.3125 Gbit/s 速率以下100 nF 的耦合電容具有更好的性能,而在10.3125 Gbit/s 速率以上時,選取470 nF 的耦合電容效果最好。相比于目前國外Xilinx 公司7 系列12.5 Gbit/s的SerDes 芯片,本文研究的16 Gbit/s FPGA 芯片在速率上有一定提升,且通過AC 耦合電容的選取保證了SerDes 信號的傳輸質量,為后續(xù)32 Gbit/s FPGA 芯片的SerDes 調試提供了參考。