版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 EMD 10G線路接口卡的硬件設(shè)計(jì)與實(shí)現(xiàn) 楊 琴, 蘭巨龍, 王 雨 時(shí)間:2009年01月13日 字 體: 大 中 小 關(guān)鍵詞:<"cblue" " target='_blank'>查表<"cblue" " target
2、='_blank'>組播<"cblue" " target='_blank'>10G<"cblue" " target='_blank'>輪詢<"cblue" " target='_blank'>權(quán)值 ? 摘? 要: 針對(duì)現(xiàn)有網(wǎng)絡(luò)接入設(shè)備難以滿足流媒體等新業(yè)務(wù)要
3、求的問(wèn)題,深入研究了EMD(擴(kuò)展用分復(fù)用單元)<"cblue" " title="10G">10G線路接口卡的功能與結(jié)構(gòu),并針對(duì)上行數(shù)據(jù)流的合路問(wèn)題提出了基于FPGA的WDRR(加權(quán)欠賬<"cblue" " title="輪詢">輪詢)算法,該算法在不過(guò)度改變計(jì)算復(fù)雜度的情況下,使得時(shí)延性能得到改善;針對(duì)超寬表項(xiàng)的1 920位<"cblue" " title="組播">組播<"cblue&quo
4、t; " title="查表">查表問(wèn)題,提出了FPGA+TCAM+2*SRAM的組播流水線查表,與傳統(tǒng)的查表方案相比,其效率提高了67%。最后通過(guò)仿真,測(cè)試表明該硬件設(shè)計(jì)方案能夠滿足ACR路由器對(duì)EMD 10G線路接口卡的要求。? 關(guān)鍵詞: 大規(guī)模接入?yún)R聚路由器; EMD 10G線路接口卡; FPGA; WDRR算法; TCAM? 隨著互聯(lián)網(wǎng)的日趨成熟,新的業(yè)務(wù)流量不斷涌現(xiàn),語(yǔ)音、VOD、網(wǎng)絡(luò)電視、虛擬個(gè)人網(wǎng)絡(luò)等以視頻信息為代表的寬帶流媒體業(yè)務(wù),對(duì)邊緣網(wǎng)的交換設(shè)備提出了越來(lái)越高的要求,而現(xiàn)有的邊緣網(wǎng)絡(luò)級(jí)數(shù)多,端口密度低,帶寬不可控,這些特點(diǎn)使得現(xiàn)有網(wǎng)絡(luò)很難
5、滿足新業(yè)務(wù)流的要求,當(dāng)有大量數(shù)據(jù)流到來(lái)時(shí),無(wú)法實(shí)現(xiàn)用戶層面的數(shù)據(jù)接入管理與控制。? 國(guó)家“863”計(jì)劃中大規(guī)模接入?yún)R聚路由器(ACR)的研發(fā)就是為了從根本上解決邊緣網(wǎng)的大容量交換需求,以及用戶的大規(guī)模接入問(wèn)題。ACR不僅具有常規(guī)大容量高性能雙棧核心路由器的寬帶IPv4/v6組網(wǎng)功能,而且具有大規(guī)模用戶接入?yún)R聚功能1。ACR的大規(guī)模用戶接入?yún)R聚功能主要體現(xiàn)在對(duì)用戶接口和用戶業(yè)務(wù)的管理與控制,以及支持寬帶網(wǎng)絡(luò)業(yè)務(wù)運(yùn)營(yíng)環(huán)境。ACR中負(fù)責(zé)用戶端接入的模塊是遠(yuǎn)端模塊,它又包括擴(kuò)展用分復(fù)用單元EMD(Ethernet Multiplexer-Demultiplexer)和遠(yuǎn)端接口單元RIU(Remote
6、Interface Unit)。其中,EMD主要完成上下行數(shù)據(jù)的合路與分發(fā),以及用戶業(yè)務(wù)控制功能,是ACR實(shí)施用戶管理與控制的主要設(shè)備。EMD包括二種線路接口,分別為EMD 10G線路接口和EMD 1000M線路接口。? 本文主要介紹EMD 10G線路接口卡的設(shè)計(jì)與實(shí)現(xiàn)。圖1為EMD 10G線路接口在整個(gè)ACR中所處的位置。從圖1可以看出,一個(gè)10G線路接口卡通過(guò)ATCA背板下連4個(gè)千兆接口模塊,每個(gè)千兆接口模塊通過(guò)千兆接口下行支持10個(gè)RIU,每個(gè)RIU再下接48個(gè)BMG。于是,一個(gè)EMD設(shè)備最多可以接入1 920個(gè)用戶,在確保用戶服務(wù)質(zhì)量的條件下,每用戶不僅可同時(shí)觀看1路HDTV和1路SD
7、TV節(jié)目,還可以獨(dú)享9M端到端帶寬用于VOD,或者PC上網(wǎng)業(yè)務(wù)。? 10G線路接口模塊的功能主要包括:? (1)下行數(shù)據(jù)流方向:將外部物理信號(hào)通過(guò)光電、串并轉(zhuǎn)換恢復(fù)成比特流。提取數(shù)據(jù)鏈路層幀并作相應(yīng)處理,將IP報(bào)文根據(jù)單、組播以及IPTV組播查表結(jié)果封裝成內(nèi)部自定義格式,將數(shù)據(jù)報(bào)文復(fù)制送往4個(gè)千兆接口模塊,實(shí)現(xiàn)組播復(fù)制。? (2)上行數(shù)據(jù)流方向:對(duì)4個(gè)千兆接口模塊送來(lái)的四路數(shù)據(jù)調(diào)度合路輸出,再根據(jù)單、組播以及IPTV組播查表結(jié)果進(jìn)行上行的數(shù)據(jù)封裝,封裝成數(shù)據(jù)鏈路幀后,將比特流以光信號(hào)的形式發(fā)送到物理鏈路。?1 EMD 10G線路接口卡的設(shè)計(jì)? 根據(jù)10G線路接口卡的功能需求分析,采用單片的多路
8、鏈路層處理芯片完成數(shù)據(jù)鏈路層的處理,然后用FPAG+TCAM+SRAM完成數(shù)據(jù)報(bào)文的后續(xù)分類、查表以及封裝處理。基于這種設(shè)計(jì)思想,給出EMD 10G線路接口卡的總體結(jié)構(gòu)如圖2所示。其工作流程仍分為上行和下行處理??梢钥闯觯岸颂幚碇饕缮逃眯酒?fù)責(zé),報(bào)文的提取以及查表封裝由FPGA完成。? 在實(shí)際實(shí)現(xiàn)中,光電轉(zhuǎn)換器件選用住友(SEI)公司的SXP3101EX,串并轉(zhuǎn)換器件選擇AMCC公司的S19237芯片,鏈路層處理芯片選用AMCC公司的S19205,TCAM選用IDT公司的75K75100,SRAM選用71T75602,F(xiàn)PGA選用Xilinx公司Virtex4系列的XC4VLX160和XC
9、4VFX60,兩塊芯片間通過(guò)SPI接口進(jìn)行數(shù)據(jù)交互,共同完成上下行的數(shù)據(jù)處理。?2 FPGA設(shè)計(jì)分析? 根據(jù)上一節(jié)的介紹可知,F(xiàn)PGA主要完成IP報(bào)文的預(yù)處理,查表封裝以及與4個(gè)千兆線路接口板數(shù)據(jù)的分合路。本節(jié)將詳細(xì)介紹FPGA的設(shè)計(jì)方案。? 下行數(shù)據(jù)進(jìn)入FPGA中首先緩存,判斷是協(xié)議報(bào)文還是數(shù)據(jù)報(bào)文,如果是協(xié)議報(bào)文則上交板級(jí)處理機(jī),如是數(shù)據(jù)報(bào)文則進(jìn)行單組播和IPTV組播查表,再將數(shù)據(jù)報(bào)文和查表結(jié)果格式封裝下發(fā)分路到4個(gè)千兆接口板。上行方向,將從千兆接口收到的四路數(shù)據(jù)調(diào)度合路輸出,對(duì)數(shù)據(jù)和協(xié)議報(bào)文分路處理,協(xié)議報(bào)文仍上交板級(jí)處理機(jī),數(shù)據(jù)報(bào)文根據(jù)查表結(jié)果封裝輸出。根據(jù)該FPGA的功能分析,得到其
10、內(nèi)部功能模塊劃分如圖3。圖中虛線左側(cè)為XC4VLX160芯片所完成的功能,虛線右側(cè)為XC4VFX60芯片完成的功能,XC4VFX60帶有兩個(gè)Power PC 405硬核,16路高速通道,每路高速通道的速率為3.11Gb/s,可以滿足4個(gè)千兆線路板的接口要求。? 由于下行和上行數(shù)據(jù)在FPGA中的處理是一個(gè)相對(duì)的過(guò)程,現(xiàn)以上行數(shù)據(jù)流為例介紹FPGA的設(shè)計(jì)分析。在對(duì)上行數(shù)據(jù)流進(jìn)行處理時(shí),有三個(gè)關(guān)鍵環(huán)節(jié),分別是:4路千兆線路接口板數(shù)據(jù)的合路調(diào)度輸出,上行報(bào)文分路,數(shù)據(jù)報(bào)文的單組播查表以及IPTV組播查表。下面將詳細(xì)介紹這三個(gè)功能模塊的FPGA設(shè)計(jì)。?2.1 上行合路調(diào)度輸出模塊設(shè)計(jì)方案? 千兆線路接口
11、送來(lái)的四路數(shù)據(jù)先放在4個(gè)整包緩存隊(duì)列中,等待合路調(diào)度輸出。由于IP報(bào)文是變長(zhǎng)數(shù)據(jù)包,同時(shí)兼顧到硬件實(shí)現(xiàn)的復(fù)雜度,因此,本文采用差額輪詢DRR(Deficit Round Robin)調(diào)度算法。DRR為每個(gè)隊(duì)列賦予了一個(gè)計(jì)數(shù)器,在每次輪循時(shí),只有待發(fā)分組長(zhǎng)度小于計(jì)數(shù)器值才允許發(fā)送分組。計(jì)數(shù)器的計(jì)算方法為:初值為定額值,每發(fā)送一個(gè)分組就減去此分組長(zhǎng)度值,每經(jīng)過(guò)一次輪循就加上定額值。但是由于DRR在輪詢隊(duì)列時(shí)是順序訪問(wèn)下一個(gè)隊(duì)列,沒(méi)有考慮隊(duì)列間的優(yōu)先級(jí)問(wèn)題,故易造成輸出報(bào)文的時(shí)延性較差2。? 于是,在DRR算法的基礎(chǔ)上,本文采用一種改進(jìn)的加權(quán)DRR算法WDRR(Weighted Deficit Ro
12、und Robin)。該算法的基本思想是:給每個(gè)隊(duì)列賦予一個(gè)<"cblue" " title="權(quán)值">權(quán)值Wi,是該隊(duì)列的長(zhǎng)度和包到達(dá)速率的比值,表示該隊(duì)列的優(yōu)先級(jí)。在每一輪輪詢開(kāi)始之前,先計(jì)算各隊(duì)列的權(quán)值,并按降序排列,服務(wù)順序從大到小。設(shè)置隊(duì)列i的計(jì)數(shù)器Ci的初值為N字節(jié),每輪輪詢前各隊(duì)列的計(jì)數(shù)器Ci=Ci+N。開(kāi)始輪詢時(shí),如果權(quán)值最大隊(duì)列中有整包,且Ci>Lmin(Lmin表示網(wǎng)絡(luò)中最短包的字節(jié)數(shù)),則輸出該隊(duì)列中一個(gè)長(zhǎng)度為整包,同時(shí)使Ci=Ci-,再判斷是否滿足前述條件,重復(fù)此過(guò)程,直到CiLmin;如果該隊(duì)列中沒(méi)有
13、整包,則將此輪分配的N字節(jié)積累到下輪使用。此隊(duì)列服務(wù)完成后轉(zhuǎn)到權(quán)值次小的隊(duì)列。在調(diào)度過(guò)程中,為了避免Ci無(wú)限增大,為其設(shè)置一個(gè)上限值Lmax。? 在算法實(shí)現(xiàn)中,由于IPv6的最短包長(zhǎng)度為40B,于是取N和Lmin均為40;設(shè)網(wǎng)絡(luò)中IPv6的最長(zhǎng)包為1 500B,故取Lmax為1 500;設(shè)隊(duì)列的計(jì)數(shù)器Ci的寬度為11bit,故最大計(jì)數(shù)值為2 048。具體的算法流程見(jiàn)圖4。? WDRR算法在傳統(tǒng)DRR算法的基礎(chǔ)上,允許在計(jì)數(shù)器小于整包長(zhǎng)度時(shí)仍可以輸出一個(gè)整包,避免了隊(duì)列中有包但無(wú)法傳輸?shù)那闆r。同時(shí),在不過(guò)度改變算法復(fù)雜度的情況下,對(duì)每個(gè)隊(duì)列賦予權(quán)值,每一輪按照權(quán)值大小依次調(diào)度,使得輸出結(jié)果更加平
14、滑,時(shí)延性能得到改善,該算法由于其復(fù)雜度低也便于硬件實(shí)現(xiàn)與管理。?2.2 上行報(bào)文分路模塊設(shè)計(jì)方案? 對(duì)4路千兆線路接口卡送來(lái)的數(shù)據(jù)進(jìn)行合路后,形成一路數(shù)據(jù)輸出。為了便于后續(xù)查表和報(bào)文封裝操作,需要將報(bào)文分類,以判斷該報(bào)文是否需要查表,如果需要查表,確定是查單播表、組播表還是IPTV組播表。? 首先提取協(xié)議類型字段,判斷其是否是自定義控制幀,如是,則直接上交10G板級(jí)處理機(jī);然后根據(jù)目的MAC判斷單組播,對(duì)于組播報(bào)文,再根據(jù)協(xié)議類型域區(qū)分IPv4和IPv6報(bào)文,提取目的IP作為查表關(guān)鍵字,查上網(wǎng)組播表,或者IPTV組播表;對(duì)于單播報(bào)文,則將目的MAC地址作為查表關(guān)鍵字,查單播表。對(duì)于不需要查表
15、的報(bào)文,則直接進(jìn)行格式封裝后,上交ACR-S。具體的報(bào)文處理流程見(jiàn)圖5。?2.3 查表模塊設(shè)計(jì)方案? 報(bào)文進(jìn)入查表模塊后,根據(jù)報(bào)文類型不同可能需要查三個(gè)表,分別是:?jiǎn)尾ケ怼⑸暇W(wǎng)組播表和IPTV組播表。根據(jù)ACR的總體設(shè)計(jì)方案,要求最多支持100個(gè)IPTV組播臺(tái),順序編號(hào)為099;最多支持1 920個(gè)用戶,順序編號(hào)為01? 919。再結(jié)合ACR路由器的體系結(jié)構(gòu),設(shè)計(jì)三種表項(xiàng)結(jié)構(gòu)見(jiàn)圖6。其中,單播MAC表是48bitMAC地址到EMD和RIU出接口的映射,組播IP表是128bitIP地址到1 920個(gè)用戶接口映射,IPTV組播表是128bitIPTV組播地址到1 920個(gè)用戶的映射。? 由表項(xiàng)結(jié)構(gòu)
16、可以看出,單播MAC查表采用傳統(tǒng)的FPGA->TCAM->SRAM->FPGA查表方式即可實(shí)現(xiàn)。但是對(duì)于組播IP查表和IPTV組播查表,由于表項(xiàng)寬度過(guò)寬,達(dá)到1 920位,如果仍采用這種方式,難免會(huì)影響查表效率。為了提高查IP組播表和IPTV組播表的效率,本文從以下兩個(gè)方面作了改進(jìn)。? (1)傳統(tǒng)的FPGA->CAM->SRAM->FPGA流水線查表,TCAM送出的控制SRAM連續(xù)讀寫(xiě)的burst信號(hào)僅能維持5個(gè)周期,而對(duì)于數(shù)據(jù)位寬為32位的SRAM,需要最少60個(gè)周期才能完成IP組播表或是IPTV組播表的讀寫(xiě)操作,也就是最少進(jìn)行12次TCAM查表。TCAM
17、從查表關(guān)鍵字送入到結(jié)果送出需要約10個(gè)周期,讀SRAM需要5個(gè)周期,因此多一次查T(mén)CAM就會(huì)浪費(fèi)5個(gè)周期,這樣,進(jìn)行一次組播查表需要120個(gè)周期,但其中有55個(gè)周期被浪費(fèi)。由此可以看出,在表項(xiàng)寬度較窄時(shí)此方式效率較高,但是表項(xiàng)寬度較寬時(shí),效率明顯降低34。?因此本文采用FPGA->CAM->FPGA->SRAM->FPGA的流水線操作,這種方式只需查一次TCAM,再根據(jù)TCAM返回的讀SRAM的索引地址,讀60個(gè)周期的SRAM,在70個(gè)周期內(nèi)就能完成組播查表。與前一種方法相比,節(jié)省了50個(gè)周期。? (2)由于在SRAM中存放的查表結(jié)果有1 920位,即使采用FPGA-&
18、gt;CAM->FPGA->SRAM->FPGA的流水線操作,讀SRAM的周期也太長(zhǎng),總共需要60個(gè)周期才能讀完一次查表結(jié)果。如果用兩片SRAM共同存放1 920位的組播結(jié)果,一片SRAM存放前960位結(jié)果,另一片SRAM存放后960位結(jié)果,前后兩個(gè)960位結(jié)果在兩片SRAM中所處的物理地址是對(duì)應(yīng)一致的。這樣查一次TCAM得到的索引SRAM的地址同時(shí)送到兩片SRAM,用30個(gè)周期即可讀完一個(gè)組播結(jié)果。在表項(xiàng)維護(hù)和表項(xiàng)更新時(shí),兩片SRAM也是同步進(jìn)行的。值得注意的是如果是查單播表,由于查表結(jié)果只需讀一個(gè)周期32位的數(shù)據(jù),因此在兩片SRAM的對(duì)應(yīng)地址中所存放的內(nèi)容應(yīng)該是一樣的,最
19、后選擇其中一片SRAM的結(jié)果輸出即可。? 綜上,采用FPGA+TCAM+2*SRAM的流水線查表操作后,進(jìn)行一次組播查表總共需要40個(gè)周期就能完成,與傳統(tǒng)的查表方式相比,完成一次組播查表減少80個(gè)周期,效率提高67%。?3 FPGA實(shí)現(xiàn)及仿真? 在仿真實(shí)現(xiàn)時(shí),上行合路模塊在XC4VFX60中完成,報(bào)文分類和查表模塊在XC4VLX160中完成,從芯片資源的角度來(lái)看,兩片芯片的性能均能滿足需求。仿真時(shí),用ROM生成一個(gè)數(shù)據(jù)源,通過(guò)Xilinx 9.1集成開(kāi)發(fā)環(huán)境,得到的上行報(bào)文合路模塊和查表模塊的關(guān)鍵信號(hào)仿真結(jié)果如圖7和圖8。? 圖7為用ModelSim得到的上行合路模塊的仿真波形圖,其中g(shù)e0ge3分別表示4路1000M接口卡送來(lái)的數(shù)據(jù),第129和128bit表示對(duì)應(yīng)報(bào)文的包頭和包尾指示,用來(lái)表示報(bào)文的開(kāi)始和結(jié)束。dout表示合路輸出數(shù)據(jù),結(jié)果表明WDRR算法實(shí)現(xiàn)了4路報(bào)文的調(diào)度合路輸出。? 圖8為查表模塊一次IPTV組播查表的仿真波形圖。由于查表模塊需要片外TCAM和SRAM配合,才能得到輸出結(jié)果,故在仿真時(shí)通過(guò)在該功能模塊中插入chipscope核,測(cè)試查表效率。由圖可以看出,查表關(guān)鍵字cam_key送入后,10個(gè)周期左右得到查表命中match指示,3個(gè)周期后得到查T(mén)CAM的結(jié)果cam_rbus
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度專業(yè)職業(yè)測(cè)評(píng)與居間合同3篇
- 二零二五年度P2P出借平臺(tái)投資者教育與服務(wù)合同3篇
- 二零二五年度企業(yè)破產(chǎn)財(cái)產(chǎn)清算協(xié)議2篇
- 個(gè)性化條款:20249A文離婚合同案例分析版
- 二零二五版房屋征收拆遷補(bǔ)償協(xié)議書(shū)3篇
- 二零二五年度建筑工程招投標(biāo)與合同質(zhì)量保證金管理協(xié)議書(shū)3篇
- 物業(yè)管理處與2025年度收費(fèi)員服務(wù)協(xié)議3篇
- 2025年度門(mén)衛(wèi)人員崗位職責(zé)優(yōu)化聘用協(xié)議3篇
- 2025年度內(nèi)蒙古自治區(qū)農(nóng)業(yè)廢棄物資源化利用承包合同3篇
- 二零二五年度城鄉(xiāng)汽車(chē)租賃及售后服務(wù)合同4篇
- 2025年山東華魯海運(yùn)有限公司招聘筆試參考題庫(kù)含答案解析
- 人教版物理八年級(jí)下冊(cè) 專項(xiàng)訓(xùn)練卷 (一)力、運(yùn)動(dòng)和力(含答案)
- 山東省房屋市政工程安全監(jiān)督機(jī)構(gòu)人員業(yè)務(wù)能力考試題庫(kù)-中(多選題)
- 《七律二首 送瘟神》教案- 2023-2024學(xué)年高教版(2023)中職語(yǔ)文職業(yè)模塊
- 2024年中考語(yǔ)文滿分作文6篇(含題目)
- 北師大版 2024-2025學(xué)年四年級(jí)數(shù)學(xué)上冊(cè)典型例題系列第三單元:行程問(wèn)題“拓展型”專項(xiàng)練習(xí)(原卷版+解析)
- 2023年譯林版英語(yǔ)五年級(jí)下冊(cè)Units-1-2單元測(cè)試卷-含答案
- 施工管理中的文檔管理方法與要求
- DL∕T 547-2020 電力系統(tǒng)光纖通信運(yùn)行管理規(guī)程
- 種子輪投資協(xié)議
- 執(zhí)行依據(jù)主文范文(通用4篇)
評(píng)論
0/150
提交評(píng)論