FPGA實現(xiàn)中的SERDES接口設(shè)計和測試
圖1給出了在一個復(fù)雜FPGA實現(xiàn)中的各種可能的SERDES接口。這個例子展示了一個網(wǎng)絡(luò)處理器位于系統(tǒng)中心的高性能電路板。SERDES應(yīng)用用紫色標(biāo)明,可以用FPGA實現(xiàn)的芯片用黃色標(biāo)明。
圖1:典型的FPGA應(yīng)用。 |
SERDES的類型
有兩種基本類型的SERDES接口:源同步(SS)協(xié)議和時鐘數(shù)據(jù)恢復(fù)(CDR)協(xié)議。這兩種類型的主要差別是如何實現(xiàn)時鐘控制。源同步接口擁有一個伴隨傳送數(shù)據(jù)的時鐘信號;CDR沒有單獨的時鐘信號,而是把時鐘嵌入在數(shù)據(jù)中。即CDR接收器將相位鎖定在數(shù)據(jù)信號本身以獲取時鐘。表1概括了這兩種接口的基本差別。
表1:源同步和時鐘數(shù)據(jù)恢復(fù)SERDES接口的比較。 |
通常CDR協(xié)議運行在較高的數(shù)據(jù)速率和較長的傳送距離,因此帶來很大的設(shè)計挑戰(zhàn)。鑒于這個緣故,本文將主要討論CDR的相關(guān)問題。
時鐘數(shù)據(jù)恢復(fù)的基礎(chǔ)
顧名思義,CDR接收器必須從數(shù)據(jù)中恢復(fù)嵌入的時鐘。更準(zhǔn)確地說,是從數(shù)據(jù)信號的交換中獲取時鐘。
CDR發(fā)送器首先串行發(fā)送數(shù)據(jù),然后將數(shù)據(jù)轉(zhuǎn)換成8b/10b編碼方案。編碼處理獲得8位數(shù)據(jù)并將其轉(zhuǎn)換成10位符號。8b/10b編碼方式可以在數(shù)據(jù)線上傳送相等數(shù)目的0和1,從而減少碼間干擾,并提供足夠多的數(shù)據(jù)邊沿,以便接收器在收到的數(shù)據(jù)流上鎖定相位。發(fā)送器將系統(tǒng)時鐘倍頻至傳送比特率,并以該速率在TX差分對上發(fā)送8b/10b數(shù)據(jù)。
CDR接收器的任務(wù)首先是在RX差分位流上鎖定相位,然后接收器按照恢復(fù)的時鐘進行數(shù)據(jù)位對齊,接著用接收器的參考時鐘進行字對齊。最后,將數(shù)據(jù)進行8b/10b解碼,供系統(tǒng)使用。
在CDR系統(tǒng)中,發(fā)送和接收系統(tǒng)通常擁有完全獨立的系統(tǒng)時鐘。這兩個時鐘在一個特定的變化范圍內(nèi)非常關(guān)鍵,這個范圍大約是數(shù)百個PPM。
CDR電路與抖動
CDR接口的主要設(shè)計挑戰(zhàn)是抖動,即實際數(shù)據(jù)傳送位置相對于所期望位置的偏移??偠秳?TJ)由確定性抖動和隨機抖動組成。大多數(shù)抖動是確定的,其分量包括碼間干擾、串?dāng)_、占空失真和周期抖動(例如來自開關(guān)電源的干擾)。而通常隨機抖動是半導(dǎo)體發(fā)熱問題的副產(chǎn)品,且很難預(yù)測。
傳送參考時鐘、傳送PLL、串化器和高速輸出緩沖器都對會傳送抖動造成影響。對于給定的比特周期或者數(shù)據(jù)眼,傳送抖動通常用單位間隔的百分比或UI(單位間隔)來說明。例如,.2 UI的傳送抖動表示抖動由比特周期的20%組成。對于傳送抖動而言,UI數(shù)值越低越好,因為它們代表較少的抖動。
同樣地,CDR接收器將指定在給定比特率時所能容忍的最大抖動量。典型的比特誤碼率(BET)標(biāo)準(zhǔn)是1e-12。接收抖動仍然用UI來指定。較大的UI表明接收器可以容忍更多的抖動。典型的接收器規(guī)格是.8 UI,這意味著80%的比特周期可以是噪聲,此時接收器將仍然能夠可靠地接收數(shù)據(jù)。
抖動通常用統(tǒng)計鐘形分布來量化,該分布在其定點處有理想的邊沿位置。
SERDES測試與眼圖
由于抖動是SERDES系統(tǒng)中的一個主要挑戰(zhàn),因此它也是測試和測量的關(guān)鍵所在。通過把高性能的示波器連接到SERDES信號來測量抖動,并觀察“數(shù)據(jù)眼圖”(或眼圖)。對于一個給定的差分對,眼圖僅僅是由多個狀態(tài)轉(zhuǎn)換的波形圖疊加而成。采樣窗應(yīng)足夠?qū)?,能夠包含圖中的兩個交叉點。最終得到的畫面就象一個眼睛,它提供了信號質(zhì)量和抖動的直觀形象。通常眼睛張得越開,信號就越好。
圖2是一個在示波器上顯示的典型眼圖。圖中,用V度量眼睛張開的高度,該值與1.2V的總電壓擺幅(從邏輯0到邏輯1)相對。有三個寬度(或者時間)度量值:UI度量整個比特率周期,H度量在共模電壓下的張開度,T度量最小跳變電壓和最大跳變電壓下的寬度。較大的H、T和V值代表眼睛較寬,這說明信號較好、抖動較小。
圖2:一個數(shù)據(jù)眼圖示例。 |
抖動測量設(shè)置
為檢測傳送抖動,用誤碼率測試器(BERT)產(chǎn)生測試圖形,并送入評估板的SERDES接收端口。同樣地,將時鐘產(chǎn)生器連接到評估板的SERDES時鐘。在測試中,F(xiàn)PGA被配置成內(nèi)部環(huán)回這個通道,因此接收到的測試圖形通過TX引腳傳送。將示波器連接到TX SERDES連接器,這樣就可以對傳送抖動眼圖進行分析。所有的評估板SERDES連接都采用的是50歐姆SMA連接器。整體結(jié)構(gòu)如圖3所示。
圖3:抖動測試設(shè)備的配置。 |
通過在FPGA SERDES接收端口引入抖動,并監(jiān)控環(huán)回SERDES輸出的比特誤差來測量接收抖動容限。如圖3所示,首先將抖動發(fā)生器連接到BERT圖形產(chǎn)生器。然后BERT產(chǎn)生器將偽隨機圖形序列(PRBS)發(fā)送到評估板的SERDES SMA輸入。這種配置允許工程師以一種受控的方式將抖動引入到SERDES RX端口。FPGA被配置成環(huán)回,SERDES TX端口連接到BERT的比特誤差檢測端口。然后工程師就可以引入抖動并觀察由FPGA產(chǎn)生的比特誤碼率(BER)。當(dāng)BER超出規(guī)定時,工程師就知道已經(jīng)超過抖動容限域值。這個數(shù)值應(yīng)該等于或大于針對FPGA所指定的接收抖動容限。
高速背板性能測量
通過背板配置驅(qū)動FPGA的TX信號,工程師可以測量FPGA的背板SERDES鏈路傳輸特性,然后分析背板輸出的眼圖。首先使用BERT圖形產(chǎn)生器把PRBS位流饋送入FPGA評估板的SMA RX端口。通過把FPGA配置成環(huán)回,PRBS將出現(xiàn)在評估板的TX端口,并將被驅(qū)動至同軸電纜,饋入諸如XAUI Z-Pack HM-Zd的背板。然后背板將位流饋送入連接到示波器的另一長度的同軸電纜。系統(tǒng)要求規(guī)定了測試參數(shù),例如PRBS圖形選擇、背板和FPGA評估板的走線長度、同軸電纜的長度、預(yù)加重和均衡設(shè)置、工作電壓以及VCC。
圖4展示了采用LatticeSC FPGA的測試設(shè)備采樣到的9個眼圖。每個眼圖下的數(shù)值是測量到的眼睛高度(圖2中的V度量)。注意增加預(yù)加重在每個比特率上改善了眼圖。預(yù)加重是SERDES發(fā)送器針對電纜和背板中信號衰減的補償。LatticeSC要求的眼睛高度是85mV,因此在3.8Gbps下16%的預(yù)加重是唯一不滿足要求的采樣。
圖4:采用LatticeSC FPGA的測試設(shè)備采樣到的9個眼圖。 |
本文小結(jié)
值得一提的是,SERDES接口為FPGA產(chǎn)品的選擇過程增加了一個參數(shù)。當(dāng)選擇FPGA時工程師應(yīng)該考慮可能的信道數(shù)目、信道的配置靈活性、接口速度、SERDES IP(即PCS)、傳輸規(guī)范和電氣要求。
FPGA產(chǎn)品和SERDES接口的速度和市場規(guī)模都在增長。通過理解兩者功能和挑戰(zhàn),設(shè)計團隊可以提升產(chǎn)品的可靠性和功能,并加快產(chǎn)品上市時間。