《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > RocketIO幾個關(guān)鍵問題的解決方案

RocketIO幾個關(guān)鍵問題的解決方案

2008-07-28
作者:趙崢嶸, 蘭巨龍

  摘 要: FPGA的內(nèi)嵌RocketIO模塊在實際應(yīng)用中需要解決時鐘不穩(wěn)及通道綁定" title="綁定">綁定同步等問題,。通過精心設(shè)計DCM單元保證了RocketIO內(nèi)部時鐘的精確。同時,,針對通道不同步的問題,,設(shè)計了一種彈性存儲器方案,很好地解決了通道同步接收問題,。該方案在863重大課題“可擴(kuò)展到T比特的高性能IPv4/v6路由器基礎(chǔ)平臺及實驗系統(tǒng)”中得到了驗證,。
  關(guān)鍵詞: 同步 彈性存儲器


  隨著線路傳輸技術(shù)的迅速發(fā)展,出現(xiàn)了10Gbps的鏈路接口類型,,如10Gbps的POS,、WAN、LAN等,。863重大課題“可擴(kuò)展到T比特的IPv4/v6路由器基礎(chǔ)平臺及實驗系統(tǒng)”要求T比特路由器支持10G的線卡,。
  傳統(tǒng)的單端互連方式在傳輸速率上(最高250Mbps)已無法滿足要求。而差分" title="差分">差分串行方式(如LVDS,、LVPECL等),,雖然采用源同步時鐘,但數(shù)據(jù)和時鐘分別發(fā)送,,受信號瞬時抖動的影響,,破壞了數(shù)據(jù)與時鐘的定時關(guān)系,傳輸速率也存在一定的瓶頸,。XILINX的Virtex-ⅡPRO 系列提供了內(nèi)嵌RocketIO模塊,,通過采用CDR,、8B/10B編碼,,預(yù)加重等可在線配置技術(shù),減少了信號衰減和線路噪聲的影響,,所提供的全雙工高速通道最高支持3.125Gbps,。
  但在高速環(huán)境下,RocketIO易出現(xiàn)時鐘漂移,同時,,在進(jìn)行通道綁定時,,也易出現(xiàn)通道間不同步的問題。針對時鐘不穩(wěn)的現(xiàn)象,,筆者利用FPGA 的數(shù)字時鐘管理器(DCM)對RocketIO的時鐘進(jìn)行精心設(shè)計; 對通道不同步問題,,設(shè)計了一種稱為“彈性存儲器”的改進(jìn)方案。經(jīng)工程驗證,,本設(shè)計方案有效地解決了以上兩個問題,。
1 RocketIO的特性
  如圖1,RocketIO(也稱MGT)由物理媒質(zhì)適配層(PMA)和物理編碼子層(PCS)兩部分組成,。PCS主要包括發(fā)送FIFO,、8B/10B編碼器、8B/10B解碼器,、CRC生成與校驗,,通路綁定與時鐘修正的Elastic Buffer等。PMA包括串/并轉(zhuǎn)換器,、差分接收器,、發(fā)送時鐘生成電路、接收時鐘恢復(fù)電路等,。


  以轉(zhuǎn)發(fā)引擎選取的XC2VP70 FF1704系列為例,,該芯片最多可提供40路高速收發(fā)器,每路可提供最高3.125Gbps的全雙工帶寬,,可支持FibreChannel,、Ethernet、Custom,、XAUI,、Infiniband等高速通信標(biāo)準(zhǔn)。其優(yōu)點有:(1)每個通道支持最高125Gbps的全雙工速率,; (2)支持直流和交流耦合方式,; (3)可編程差分終端電阻(50Ω、70Ω),;(4)輸出預(yù)加重處理,。
2 時鐘及復(fù)位
  考慮到RocketIO的設(shè)計傳輸帶寬是10Gbps,RocketIO的參考時鐘選用差分輸入時鐘,,這樣可極大地降低時鐘抖動,。同時,利用FPGA內(nèi)部的DCM(數(shù)字時鐘管理器)產(chǎn)生Rocket IO的主時鐘,,根據(jù)MGT設(shè)計的四通道綁定,,分別送給RXUSRCLK,、RXUSRCLK2、TXUSRCLK和TXUSRCLK2,。
  同時,,由于DCM的輸出時鐘在LOCKED指示信號無效之前處于非穩(wěn)態(tài),不適合直接作后級邏輯的參考時鐘,。所以,,選擇LOCKED作RocketIO的復(fù)位信號TX_RESET和RX_RESET,保證了DCM的輸出時鐘在RocketIO復(fù)位之后才送給下一級邏輯,。如再加一級緩沖,,保證RocketIO足夠的復(fù)位時間,效果更好,。
  DCM和MGT控制信號的對應(yīng)關(guān)系,,如圖2所示。


3 通道綁定
  理論上,,經(jīng)MGT內(nèi)部緩沖處理及時鐘修正,,各個例化模塊應(yīng)嚴(yán)格同步輸出。但由于硬件高頻時鐘電路" title="時鐘電路">時鐘電路的不穩(wěn)定及時鐘漂移等不確定因素,,在實際工程應(yīng)用" title="工程應(yīng)用">工程應(yīng)用中經(jīng)常發(fā)生格式錯位,、通道之間不同步的現(xiàn)象,導(dǎo)致無法進(jìn)行通道綁定,。
3.1 錯誤情況分析
  圖3給出了高速通道的幾種錯誤情況,。


  K碼指示規(guī)則是:當(dāng)K碼依次為“10”、“00”,、“01”時,,對應(yīng)數(shù)據(jù)包的包頭(數(shù)據(jù)為“BC95”)、正常數(shù)據(jù)報文,、包尾(數(shù)據(jù)為“3CFB”),; K碼為“11”時,表示通道空閑(數(shù)據(jù)為“95FB”),。
  圖3(a)中,,序列DATA1為正確的接收序列,DATA2,、DATA3均為錯誤序列,。
  (1)DATA2:發(fā)生了前后兩字節(jié)錯位的現(xiàn)象,數(shù)據(jù)格式不正確,;
  (2)DATA3:在時序上與DATA1不同步,,但數(shù)據(jù)格式是正確的。
  對于錯位接收的原因分析,,也可以從圖3(b)看出,。對串行輸入的數(shù)據(jù),,串并轉(zhuǎn)換之前的正確接收采樣操作應(yīng)該是采樣時鐘(RxClock)一次性采集到數(shù)據(jù)“b1b2b3b4”,。但實際上,,由于采用時鐘的不穩(wěn)定及高頻環(huán)境的影響,一次采樣操作卻采集到了數(shù)據(jù)“b1c2b3c4”,。
3.2 彈性存儲器方案
  基于以上分析,,在進(jìn)行通道綁定之前,筆者引入了一種彈性存儲器的方案(以四通道綁定為例),,按照先緩存,、后控制輸出的思路,實現(xiàn)對高速通道的糾錯,。彈性存儲器由異步FIFO(4個),、時鐘電路(寫FIFO 時鐘電路,讀FIFO時鐘電路),、內(nèi)部控制邏輯" title="控制邏輯">控制邏輯三部分組成,,如圖4所示。


  (1)寫FIFO 時鐘電路
  異步FIFO的寫時鐘產(chǎn)生電路,。與內(nèi)部控制邏輯模塊配合,,控制異步FIFO的數(shù)據(jù)接收及K碼序列的緩存。
  對于此時的輸入數(shù)據(jù),,不必考慮格式和數(shù)據(jù)的同步問題,。
  (2)讀FIFO 時鐘電路
  4個異步FIFO及K碼FIFO的讀時鐘產(chǎn)生電路。與內(nèi)部控制邏輯模塊配合,,控制4個異步FIFO及K碼序列的同步輸出,。
  (3)內(nèi)部控制邏輯
  除了配合讀/寫時鐘電路來控制異步FIFO的讀寫,依據(jù)K碼序列對每個數(shù)據(jù)FIFO的接收數(shù)據(jù)進(jìn)行整包檢測,。
  具體判斷依據(jù)是根據(jù)K碼“01”表示的包尾,,判定FIFO接收到了一個整包。
  4個FIFO都有一個完整包時,,通過讀FIFO時鐘電路控制4個異步FIFO 的同步輸出,,完成隨后的通道綁定。
  可以看出,,整個設(shè)計的關(guān)鍵在于對同步輸出時刻的把握,。實現(xiàn)的重點在于內(nèi)部控制邏輯的整包檢測操作上。由于4個FIFO的整包檢測獨立進(jìn)行,,這需要在實際編程實現(xiàn)時精心設(shè)計時序及對容錯情況的考慮,。
4 工程實現(xiàn)
  圖5給出了在863課題“T比特路由器”中,基于XILINX的VIRTEXⅡPRO系列的XC2VP70芯片,,采用彈性存儲器方案得到的MGT測試數(shù)據(jù),。


4.1軟件仿真
  根據(jù)K碼序列指示,,方案在時序上準(zhǔn)確實現(xiàn)了4個通道的數(shù)據(jù)對齊輸出,無通道錯位或不同步現(xiàn)象,。
4.2 工程應(yīng)用
  (1)測試環(huán)境
  利用光電轉(zhuǎn)換小板構(gòu)成環(huán)路,,測試報文的處理流程為:CPU→FPGA→光模塊→光電轉(zhuǎn)換小板→GIGA→FPGA→CPU。如圖6所示,。


  (2)測試結(jié)果
  圖7為Virtex ⅡPRO-XC2VP70上實現(xiàn)兩平面接收,、四通道綁定的ChipScope采樣波形。
  rxk0,、rxk1表示兩個平面的K碼序列,。由K碼與通道的對應(yīng)關(guān)系得知,K碼為“AA”(即二進(jìn)制“10101010”),,對應(yīng)數(shù)據(jù)包頭(BC95),;K碼為“FF”(即二進(jìn)制“11111111”),對應(yīng)包尾(3CFB),。
  由圖7知,,彈性存儲器方案有效解決了MGT的數(shù)據(jù)同步問題。


  RocketIO的難點在于它的鏈路層本質(zhì)及高速傳輸環(huán)境,。其靈活的配置方式同時也增加了工程應(yīng)用上的難點,。本文針對時鐘部分及通道綁定問題,提出了一種切實可行的解決方案,,并得到了工程驗證,。


參考文獻(xiàn)
1 Howard Johnson, Martin Graham.High-Speed Digital Design. A Handbook of Black Magic.北京:電子工業(yè)出版社,2004.5
3 Xilinx Corporation. RocketIO Transceiver User Guide.2004.6

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。