專利名稱:一種萬兆以太網(wǎng)變速箱Fifo讀寫控制及容錯系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信領(lǐng)域,具體講涉及一種IOGEthernet GearboxFifo讀寫控制及各錯系統(tǒng)。
背景技術(shù):
IOGEthernet PCS (物理編碼)子層位于協(xié)調(diào)子層(通過GMII)和物理介質(zhì)接入層(PMA)子層之間,它將經(jīng)過完善定 義的以太網(wǎng)MAC功能映射到現(xiàn)存的編碼和物理層信號系統(tǒng)的功能上并和上層RS/MAC層的接口 XGMII連接,與下層PMA接口使用的是PMA服務(wù)接□。一般來說,可以通過上層配置寄存器選擇10GBASE的類型IOGBASE-X,10GBASE-R、10GBASE-W。10GBASE-X使用一種特緊湊包裝,4個接收器和4個在1300nm波長附近以大約25nm為間隔工作的激光器,每一對發(fā)送器/接收器在3. 125Gbit/s速度(數(shù)據(jù)流速度為2. 5Gbit/s) ;10GBASE-R是一種使用64B/66B編碼的串行接口,數(shù)據(jù)流為10.000Gbit/s (開銷體現(xiàn)在2bit同步頭上),因而產(chǎn)生的時鐘速率為10. 3125Gbit/s ;IOGBASE-W是廣域網(wǎng)接口,與SONET 0C-192兼容,其時鐘為9. 953Gbit/s數(shù)據(jù)流為9.585Gbit/s。在復(fù)雜的網(wǎng)絡(luò)設(shè)備中,很多因素會導(dǎo)致PCS層接收到的碼流失真,也就是線路信號質(zhì)量衰減引起的數(shù)據(jù)跳變錯誤,這些因素包括光模塊波長類型不匹配、光纖長度過長、多次使用分光設(shè)備、網(wǎng)絡(luò)設(shè)備過熱引起的信號質(zhì)量問題等等。若PCS層不采取任何容錯方法進行處理,那么會導(dǎo)致PCS層功能異常,而絕大部分問題出現(xiàn)在PCS層的Gearbox Fifo變速模塊中,因為其它幾個模塊為流水操作,而Gearbox Fifo變速模塊包括一個跨時鐘域fifo,容易出現(xiàn)模塊死鎖現(xiàn)象,所以Gearbox Fifo的操作就顯得十分重要。
發(fā)明內(nèi)容
為克服上述缺陷,本發(fā)明提供了一種IOGEthernet Gearbox Fifo讀寫控制及容錯系統(tǒng),避免因為線路信號質(zhì)量問題帶來的誤讀寫或控制出錯的問題。為實現(xiàn)上述目的,本發(fā)明提供一種IOGEthernet Gearbox Fifo讀寫控制及容錯系統(tǒng),其包括PCS接收設(shè)備和與其通過接口總線XSBI連接的收發(fā)器;所述PCS接收設(shè)備包括Demux模塊、同步頭查找模塊、解擾模塊、Gearbox Fifo變速模塊和64B/66B解碼模塊;所述Demux模塊、所述同步頭查找模塊、所述解擾模塊、所述Gearbox Fifo變速單元和所述64B/66B解碼模塊依次連接;其改進之處在于,所述Gearbox Fifo變速單元包括數(shù)據(jù)fifo、控制fifo、超短幀處理模塊、超長幀處理模塊、丟幀頭處理模塊、丟幀尾處理模塊、讀寫選擇模塊和監(jiān)控數(shù)據(jù)模塊;所述超長幀處理模塊和所述丟幀尾處理模塊都分別與所述數(shù)據(jù)fifo和所述控制fifo連接;所述控制fifo分別對所述讀寫選擇模塊和所述監(jiān)控數(shù)據(jù)模塊進行控制;所述數(shù)據(jù)fifo與所述讀寫選擇模塊連接;所述數(shù)據(jù)fifo向所述監(jiān)控數(shù)據(jù)模塊傳輸fifo empty/almost full信號以及監(jiān)控寫數(shù)據(jù)fifo的sof信號。
本發(fā)明提供的優(yōu)選技術(shù)方案中,所述同步頭查找模塊找到64B/66B編碼后形成2bit同步頭。本發(fā)明提供的第二優(yōu)選技術(shù)方案中,所述超短幀處理模塊,若幀長小于64bytes并大于8bytes時,則寫入Gearbox Fifo ;若巾貞長小于等于8bytes時,丟棄中貞。本發(fā)明提供的第三優(yōu)選技術(shù)方案中,所述超長幀處理模塊,設(shè)置計數(shù)器,所述計數(shù)器記錄幀周期數(shù),若幀周期數(shù)超過256周期,則對幀做截斷處理。本發(fā)明提供的第四優(yōu)選技術(shù)方案中,所述丟幀頭處理模塊,對幀的SFD進行檢測,若檢測不到SFD,則不進行寫數(shù)據(jù)操作;所述SFD為幀定界byte。本發(fā)明提供的第五優(yōu)選技術(shù)方案中,所述丟幀尾處理模塊,當幀沒有幀結(jié)束標記時,如果此時fifo almost full信號拉高,則強制此幀寫操作完成。本發(fā)明提供的第六優(yōu)選技術(shù)方案中,所述讀寫選擇模塊采用數(shù)據(jù)fifo信號和與其異步的控制fifo信號對所述Gearbox Fifo變速單元的讀寫進行操作。本發(fā)明提供的第七優(yōu)選技術(shù)方案中,所述監(jiān)控數(shù)據(jù)模塊產(chǎn)生fifoempty信號,對所述Gearbox Fifo變速單元進行復(fù)位。
本發(fā)明提供的第八優(yōu)選技術(shù)方案中,所述系統(tǒng)使用型號為lxl30t的fpga芯片。與現(xiàn)有技術(shù)比,本發(fā)明提供的一種IOGEthernet Gearbox Fifo讀寫控制及容錯系統(tǒng),解決了異常幀帶來的死鎖情況的問題,避免因為線路信號質(zhì)量問題帶來的誤讀寫或控制出錯的問題,保證在線路信號質(zhì)量惡劣的情況下不至于鎖死的現(xiàn)象,最大程度保證有效數(shù)據(jù)能夠傳遞給MAC層,無需系統(tǒng)提供大的緩沖區(qū),節(jié)省了大量的系統(tǒng)ram資源。
圖I為IOGEthernet Gearbox Fifo讀寫控制及容錯系統(tǒng)的結(jié)構(gòu)示意圖。圖2為Gearbox Fifo變速單元的結(jié)構(gòu)示意圖。圖3為數(shù)據(jù)fifo的數(shù)據(jù)結(jié)構(gòu)和空、滿信號使能閥值。圖4為丟巾貞尾處理中遇qjumbo信號的處理方式。圖5為丟巾貞尾處理中遇almost_full信號的處理方式。圖6為現(xiàn)有技術(shù)中第一種讀寫策略的一種弊端舉例。圖7為復(fù)位狀態(tài)機的跳轉(zhuǎn)過程。
具體實施例方式如圖1、2所示,一種IOGEthernet Gearbox Fifo讀寫控制及容錯系統(tǒng),其包括PCS接收設(shè)備和與其通過接口總線XSBI連接的收發(fā)器;所述PCS接收設(shè)備包括Demux模塊、同步頭查找模塊、解擾模塊、Gearbox Fifo變速模塊和64B/66B解碼模塊;所述Demux模塊、所述同步頭查找模塊、所述解擾模塊、所述Gearbox Fifo變速單元和所述64B/66B解碼模塊依次連接;其特征在于,所述Gearbox Fifo變速單元包括數(shù)據(jù)fifo、控制fifo、超短幀處理模塊、超長幀處理模塊、丟幀頭處理模塊、丟幀尾處理模塊、讀寫選擇模塊和監(jiān)控數(shù)據(jù)模塊;所述超長幀處理模塊和所述丟幀尾處理模塊都分別與所述數(shù)據(jù)fifo和所述控制fifo連接;所述控制fifo分別對所述讀寫選擇模塊和所述監(jiān)控數(shù)據(jù)模塊進行控制;所述數(shù)據(jù)fifo與所述讀寫選擇模塊連接;所述數(shù)據(jù)fifo向所述監(jiān)控數(shù)據(jù)模塊傳輸fifo empty/almostfull信號以及監(jiān)控寫數(shù)據(jù)fifo的sof信號。IOGEthernet Gearbox Fifo讀寫控制及容錯系統(tǒng)基于fpga實現(xiàn),fpga的優(yōu)點在于其靈活的在線可編程特性。本電路還包含一個外圍芯片10Gbps的16:1 demultiplexertransceiver,其作用是實現(xiàn)PMA、PMD兩層的功能,將光信號處理后形成16bit差分的并行電信號輸入給fpga,接口總線為XSBI。XSBI總線數(shù)據(jù)是未經(jīng)同步的數(shù)據(jù),也就是同步頭查找模塊的目的找到64B/66B編碼后形成的2bit同步頭,因為Ibit信號轉(zhuǎn)換成并行數(shù)據(jù)后,2bit同步頭已經(jīng)不在最初66bit數(shù)據(jù)的最低兩位,而可能在64bit的任何位置0_1、1_2、. . . 62_63、63_0*(0*代表下一周期第Obit);同步后的數(shù)據(jù)進入解擾模塊,解擾后的數(shù)據(jù)進入Gearbox Fifo變速模塊。之所以稱為變速模塊,是因為前面的同步模塊找到2bit同步頭后,采用“借一周期”的策略,在Gearbox Fifo變速模塊實現(xiàn)變速功能, 也就是寫33周期數(shù)據(jù)過程中只讀32周期,這樣才會使得兩端數(shù)據(jù)總量匹配,也就是64B/66B的精髓所在。Gearbox Fifo變速模塊主要包括以下幾種異常情況的處理I)、超短巾貞處理以太網(wǎng)規(guī)范規(guī)定,若發(fā)送端巾貞長小于64bytes,必須填充padding處理到64bytes長度,Gearbox Fifo變速模塊若收到小于64bytes的以太巾貞都認為是錯誤幀;但當線路質(zhì)量出現(xiàn)問題時,會出現(xiàn)甚至小于16bytes的數(shù)據(jù)(64bit系統(tǒng)中為2個時鐘周期),更甚會出現(xiàn)小于Sbytes的現(xiàn)象;本發(fā)明采取的策略為若小于64bytes并大于8bytes時,也就是巾貞長為至少為2周期,則寫入Gearbox Fifo ;若小于等于8bytes時,也就是等于I周期的幀,則進行丟棄處理,丟棄策略依賴流水操作;之所以進行丟棄操作,是因為這種短的以太幀會引起后續(xù)模塊操作時序上的困難;2)、超長幀處理超長幀也就是jumbo幀的處理不同的系統(tǒng)有不同的規(guī)定,本發(fā)明嚴格依賴于以太網(wǎng)規(guī)范,認為大于1518bytes的幀都為超長幀,但發(fā)明設(shè)計上可接收2Kbytes的巾貞。本發(fā)明設(shè)計一個計數(shù)器,記錄巾貞周期數(shù),若周期數(shù)超過256周期(256x8bytes=2046bytes),則認為是超長報文,做截斷處理,并通知后續(xù)模塊此幀為截斷的幀,標記為錯誤;之所以做截斷,是因為系統(tǒng)若提供大的緩沖區(qū),例如有些網(wǎng)絡(luò)設(shè)備支持9Kbytes的超長幀接收,則會浪費大量的系統(tǒng)ram資源,而網(wǎng)絡(luò)上這種幀往往是錯誤的。3)、丟幀頭處理此種情況處理相對比較簡單,若檢測不到64B/66B解碼前的SFD (幀定界byte),則不進行寫數(shù)據(jù)操作,不管之后的數(shù)據(jù)流是否攜帶幀結(jié)束標記。4)、丟幀尾處理此種情景為幀傳輸過程中由于信號質(zhì)量問題或發(fā)送端幀尾部處理出現(xiàn)問題時,某種巾貞是沒有巾貞結(jié)束標記的;本發(fā)明的處理過程利用fifo almost_full的處理,也就是當Gearbox Fifoalmost_full信號拉高時,強制此巾貞寫操作完成,并通知64B/66B解碼模塊此幀為主動截斷幀,解碼模塊再通知MAC層打上錯誤標記,待用戶處理。Gearbox Fifo的讀寫策略選擇I)、因為Gearbox Fifo為異步fifo,也就是讀寫時鐘不一致,所以必須進行一個完整幀寫入后通知讀模塊進行讀操作,若違反此策略,將會出現(xiàn)fifo讀空或讀溢出的情況;此策略為當寫完一個完整幀后產(chǎn)生一個qRdy信號,此信號拉高一周,進行異步處理后到讀時鐘域,讀時鐘域的計數(shù)器進行“加一 “操作,讀側(cè)若發(fā)現(xiàn)此計數(shù)器大于0,則進行讀操作,直到讀到fifo帶內(nèi)控制的結(jié)束標記為止,讀后計數(shù)器進行“減一”操作。2)、此策略采用一個數(shù)據(jù)fifo和一個控制fifo的策略;兩個fifo都為異步的,當寫端寫完一個完整幀后,向控制fifo內(nèi)寫入Ibit信息,讀側(cè)發(fā)現(xiàn)控制fifo非空,則進行一次控制fifo的讀操作,達到數(shù)據(jù)和控制的流水匹配操作。Gearbox Fifo的復(fù)位操作此操作是處理其他本發(fā)明未發(fā)現(xiàn)的異常而設(shè)置的;因為此fifo為IOGEthernet的第一級緩存,若這里出現(xiàn)死鎖或讀寫失誤,則會影響整個系統(tǒng)的數(shù)據(jù)流,所以此處的功能完整性是十分必要的。Gearbox Fifo變速模塊發(fā)明了一個監(jiān)控數(shù)據(jù)fifo empty信號的功能,也就是當讀端正在讀數(shù)據(jù)的同時,發(fā)現(xiàn)empty拉高,也就是讀取數(shù)據(jù)的同時已經(jīng)把數(shù)據(jù)fifo讀空了,這樣的動作結(jié)果是不允許的,但之前的所有異常操作中又無此種情況的處理,所以我們進行一次fifo復(fù)位的處理,復(fù)位操作有效時是把當前讀取的報文讀取結(jié)束后且不進行下次fifo的讀取動作之前,復(fù)位整個Gearbox Fifo變速模塊,達到初始化的目的;此狀態(tài)機還監(jiān)控almost_full信號,若巾貞sof連續(xù)出現(xiàn)16個,并且寫使能是無效的,說明此時fifo的讀寫機 制已經(jīng)失效,因為讀端是流水操作,有fifo內(nèi)有幀必然進行讀取,但數(shù)據(jù)格式不對或錯亂的情況下就不會進行讀操作,所以導(dǎo)致fifo兩端鎖死的現(xiàn)象,此時就用復(fù)位機制初始化fifo。圖I的Demux模塊功能是把16路XSBI總線數(shù)據(jù)轉(zhuǎn)換成64bit并行數(shù)據(jù),目的是降低數(shù)據(jù)伴隨時鐘的頻率,達到fpga內(nèi)部容易實現(xiàn)的局部時鐘;之后數(shù)據(jù)進入找同步頭模塊進行同步處理、進入解擾模塊進行數(shù)據(jù)解擾操作,后形成66bit數(shù)據(jù)給Gearbox Fifo變速模塊,此模塊通過數(shù)據(jù)的低IObit翻譯出10GBASE-R中的幀開始、結(jié)束、PAUSE操作等命令進行流水寫入fifo的操作。若計數(shù)器記錄超過2Kbytes的限制,則拉起,并在下一個sof出現(xiàn)時拉低,拉起的下周期進行fifo eof和bad信號的寫入,結(jié)束此幀的操作,等待下幀的出現(xiàn),也就是圖3的操作時序,具體的sof、eof等信號見圖2 ;若寫fifo的過程中出現(xiàn)almost_full拉高現(xiàn)象,操作和圖3操作類似,寫fifo在almost_full拉高的下一周期拉低,并同時把eof和bad寫入fifo的控制域,時序圖見圖4 ;圖5的時序圖為第一種讀寫策略的弊端;因為fifo為異步fifo,寫端完成一個中貞的寫操作后拉起qRdy信號,見圖5,同時下周期做異步處理,寄存qRdy_delayO、qRdy_delayl兩個周期后形成qRdy_Sync信號給讀端做踩異步信號沿的操作,但這時在幀結(jié)束后的第一周期出現(xiàn)了一個兩周期長的無效幀,此幀也做拉起qRdy信號的操作,從圖5的時序上明顯可見,兩巾貞的qRdy信號因為巾貞結(jié)束間隙小于5周期,導(dǎo)致兩巾貞的qRdy_sync和為一個信號,從而導(dǎo)致讀端出現(xiàn)fifo讀“空”的現(xiàn)象;所以我們采用了讀寫策略的第二種,也就是添加一個位寬Ibit的異步控制fifo,也就避免了同步信號疊加的現(xiàn)象。圖6為復(fù)位機制的監(jiān)控狀態(tài)機;全局復(fù)位信號失效后,進入INIT狀態(tài),此狀態(tài)監(jiān)控fifo的almost_full信號和讀fifo端產(chǎn)生的q ReadFifoEmpty信號,后者為讀數(shù)據(jù)的同時fifo的Empty同時有效產(chǎn)生的信號,若兩者其一有效則跳到ErrorPktAdd狀態(tài),此狀態(tài)為監(jiān)控是否連續(xù)出現(xiàn)以上兩種現(xiàn)象,若連續(xù)出現(xiàn)16幀同樣的現(xiàn)象則跳到產(chǎn)生局部復(fù)位信號的GenReset狀態(tài),此狀態(tài)有有ResetCnt計數(shù)器控制,若計數(shù)器到4則產(chǎn)生復(fù)位有效信號復(fù)位整個異步fifo,避免fifo鎖死。需要聲明的是,本發(fā)明內(nèi)容及具體實施方式
意在證明本發(fā)明所提供技術(shù)方案的實際應(yīng)用,不應(yīng)解釋為對本發(fā)明保護范圍的限定。本領(lǐng)域技術(shù)人員在本發(fā)明的精神和原理啟發(fā)下,可作各種修改、等同替換、或改進。但這些 變更或修改均在申請待批的保護范圍內(nèi)。
權(quán)利要求
1.ー種IOGEthernet Gearbox Fifo讀寫控制及容錯系統(tǒng),其包括PCS接收設(shè)備和與其通過接ロ總線XSBI連接的收發(fā)器;所述PCS接收設(shè)備包括Demux模塊、同步頭查找模塊、解擾模塊、Gearbox Fifo變速模塊和64B/66B解碼模塊;所述Demux模塊、所述同步頭查找模塊、所述解擾模塊、所述Gearbox Fifo變速單元和所述64B/66B解碼模塊依次連接;其特征在于,所述Gearbox Fifo變速單元包括數(shù)據(jù)fifo、控制fifo、超短巾貞處理模塊、超長中貞處理模塊、丟幀頭處理模塊、丟幀尾處理模塊、讀寫選擇模塊和監(jiān)控數(shù)據(jù)模塊;所述超長幀處理模塊和所述丟幀尾處理模塊都分別與所述數(shù)據(jù)fifo和所述控制fifo連接;所述控制fifo分別對所述讀寫選擇模塊和所述監(jiān)控數(shù)據(jù)模塊進行控制;所述數(shù)據(jù)fifo與所述讀寫選擇模塊連接;所述數(shù)據(jù)fifo向所述監(jiān)控數(shù)據(jù)模塊傳輸fifo empty/almost full信號以及監(jiān)控寫數(shù)據(jù)fifo的sof信號。
2.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述同步頭查找模塊找到64B/66B編碼后形成2bit同步頭。
3.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述超短幀處理模塊,若幀長小于64bytes并大于8bytes時,則寫入Gearbox Fifo ;若巾貞長小于等于8bytes時,丟棄中貞。
4.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述超長幀處理模塊,設(shè)置計數(shù)器,所述計數(shù)器記錄幀周期數(shù),若幀周期數(shù)超過256周期,則對幀做截斷處理。
5.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述丟幀頭處理模塊,對幀的SFD進行檢測,若檢測不到SFD,則不進行寫數(shù)據(jù)操作;所述SFD為幀定界byte。
6.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述丟幀尾處理模塊,當幀沒有幀結(jié)束標記時,如果此時fifo almost full信號拉高,則強制此幀寫操作完成。
7.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述讀寫選擇模塊采用數(shù)據(jù)fifo信號和與其異步的控制fifo信號對所述Gearbox Fifo變速單元的讀寫進行操作。
8.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述監(jiān)控數(shù)據(jù)模塊產(chǎn)生fifoempty信號,對所述Gearbox Fifo變速單元進行復(fù)位。
9.根據(jù)權(quán)利要求1-8所述的系統(tǒng),其特征在于,所述系統(tǒng)使用型號為lxl30t的fpga芯片。
全文摘要
本發(fā)明提供了一種萬兆以太網(wǎng)變速箱Fifo讀寫控制及容錯系統(tǒng),其包括PCS接收設(shè)備和與其通過接口總線XSBI連接的收發(fā)器;所述PCS接收設(shè)備包括Demux模塊、同步頭查找模塊、解擾模塊、Gearbox Fifo變速模塊和64B/66B解碼模塊;所述Demux模塊、所述同步頭查找模塊、所述解擾模塊、所述Gearbox Fifo變速單元和所述64B/66B解碼模塊依次連接;所述Gearbox Fifo變速單元包括超短幀處理模塊、超長幀處理模塊、丟幀頭處理模塊、丟幀尾處理模塊、讀寫選擇模塊和監(jiān)控數(shù)據(jù)模塊。本發(fā)明提供的一種萬兆以太網(wǎng)變速箱Fifo讀寫控制及容錯系統(tǒng),避免了因為線路信號質(zhì)量問題帶來的誤讀寫或控制出錯的問題。
文檔編號H04L12/24GK102685091SQ201110383678
公開日2012年9月19日 申請日期2011年11月28日 優(yōu)先權(quán)日2011年11月28日
發(fā)明者張磊, 張英文, 李靜, 白宗元, 竇曉光, 紀奎 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司