當(dāng)電信運(yùn)營(yíng)商和有線電視業(yè)務(wù)提供商開(kāi)始向客戶推出決定性的舉措和VoD服務(wù)時(shí),,原始設(shè)備制造商正全力開(kāi)發(fā)基于IP(Internet協(xié)議)的系統(tǒng),包括PON、CMTS,、IP DSLAM以及其他的接入和最后一英里設(shè)備,。普通的基礎(chǔ)物理層對(duì)此使用的是無(wú)處不在的以太網(wǎng)技術(shù),目前與高級(jí)的QoS覆蓋結(jié)合在一起,。工程師正投入更多的努力把交換以太網(wǎng)背板連接到系統(tǒng)線卡,,特別是網(wǎng)絡(luò)處理器。系統(tǒng)設(shè)計(jì)師常選擇以太網(wǎng)交換機(jī)和有獨(dú)立特性的網(wǎng)絡(luò)處理器,,而很少考慮把這兩者互聯(lián)所帶來(lái)的挑戰(zhàn),。工程師僅需要面臨開(kāi)發(fā)橋、整合解決方案和節(jié)約成本實(shí)現(xiàn)設(shè)計(jì)的挑戰(zhàn),。由于接口以很高的速率運(yùn)行,,所以還必須關(guān)注功耗。
典型的基于以太網(wǎng)的系統(tǒng)結(jié)構(gòu)由以太網(wǎng)交換機(jī)所組成,,依次由幾個(gè)連接到一連串的基于網(wǎng)絡(luò)處理器的線卡的10Gbps鏈路組成,。參見(jiàn)圖1。
在交換10Gpbs系統(tǒng),,以太網(wǎng)交換機(jī)結(jié)構(gòu)提供一系列XAUI端口,。每個(gè)XAUI端口有4個(gè)3.125Gbps的SERDES。這些串行端口通過(guò)背板或者中間結(jié)構(gòu)完美地連接到線卡,。
有些以太網(wǎng)交換機(jī)包括端??換,、流量控制或者用于服務(wù)質(zhì)量要求的地址信息,在原來(lái)的以太網(wǎng)標(biāo)準(zhǔn)中沒(méi)有服務(wù)質(zhì)量要求的內(nèi)容,。為了保持10G線速,,這些XAUI端口的運(yùn)行速率要高于指定的每個(gè)通道3.125Gbps的速率。運(yùn)行在3.75Gbps的BROADCOM HiGig+協(xié)議就是一個(gè)例子,。運(yùn)行這些所有權(quán)協(xié)議時(shí),,額外的開(kāi)銷允許客戶開(kāi)發(fā)自定義的應(yīng)用交換,通過(guò)網(wǎng)絡(luò)智能地傳遞通信量,。此外,,針對(duì)基于IP的應(yīng)用,這些交換堆棧協(xié)議具有無(wú)約束的可量測(cè)性,。
擁有網(wǎng)絡(luò)處理器的線卡常用SPI4.2接口,。SPI4.2是流行的運(yùn)行速率可以超過(guò)10Gbps的高速并行接口,用于網(wǎng)絡(luò)處理器,、通信流量管理器,、媒體接入控制(MAC)等。SPI4.2使用并行的16位寬的LVDS發(fā)送和接收源同步接口,。為了處理流量控制,,在狀態(tài)通道有額外的電路。在SPI4.2鏈路上發(fā)送的數(shù)據(jù)作為一個(gè)包,或者猝發(fā)的多個(gè)包,,并擁有控制頭描述每個(gè)猝發(fā),。每個(gè)包控制頭還識(shí)別與猝發(fā)數(shù)據(jù)相關(guān)的SPI4.2通道。這些位可用來(lái)把整個(gè)鏈路分割成各種通道,。SPI4.2規(guī)范支持每個(gè)鏈路多達(dá)256個(gè)通道。很明顯在SPI4.2和XAUI之間存在著很大的物理和協(xié)議差異,。由于這個(gè)原因,,SPI4.2接口必須橋接到XAUI鏈路。

為了將XAUI(或者更快時(shí)鐘的XUAI)鏈路連接到SPI4.2接口,,要構(gòu)建一個(gè)能夠引導(dǎo)數(shù)據(jù)通過(guò)4個(gè)主要單元的橋。針對(duì)XAUI至SPI4.2橋,,主要單元為:(1)XAUI SERDES終端,;(2)10G MAC;(3)協(xié)議轉(zhuǎn)換邏輯,;(4)SPI4.2接口,。此外還要有微處理器接口,用來(lái)配置每個(gè)橋的單元,。參見(jiàn)圖2,。

MAC的10Gbps數(shù)據(jù)。利用含有SERDES后緊跟PCS塊的FPGA是理想的,采用這種結(jié)構(gòu)可以直接格式化XAUI數(shù)據(jù)至XGMII,。這樣節(jié)省了邏輯并減少了功耗,。
低功耗、工程預(yù)制的10GbE MAC10G MAC邏輯接收XGMII數(shù)據(jù)并提取以太網(wǎng)的幀,。首先由10G MAC識(shí)別Packet SOP的起始和Packet EOP頭的結(jié)束,。由于以太網(wǎng)的數(shù)據(jù)以可變大小的包發(fā)送,MAC必須能夠處理各種大小的包,,包括8K長(zhǎng)度的超長(zhǎng)包,。一旦恢復(fù)了數(shù)據(jù),進(jìn)行CRC校驗(yàn)保證數(shù)據(jù)的完整性,。數(shù)據(jù)進(jìn)入MAC時(shí),,在接收端做這項(xiàng)工作。如果CRC校驗(yàn)失敗,,丟棄壞的幀并建立錯(cuò)誤標(biāo)志,。在發(fā)送端MAC必須產(chǎn)生CRC碼。MAC還需要保持對(duì)數(shù)據(jù)的統(tǒng)計(jì),,支持管理信息數(shù)據(jù)庫(kù),。此外,10G MAC還有對(duì)接收到的包進(jìn)行地址過(guò)濾的功能,??梢杂袔讉€(gè)過(guò)濾選擇,取決于終端用戶的應(yīng)用,。允許通過(guò)橋的數(shù)據(jù)包,,從MAC流出,不經(jīng)過(guò)濾,,寫(xiě)入6?位寬的FIFO,,再送至協(xié)議轉(zhuǎn)換邏輯。
盡管在FPGA中可以實(shí)現(xiàn)10G MAC,,它們要消耗4千多個(gè)LUT,,因此消耗許多功率。作為選擇的方法,,相對(duì)基于FPGA的實(shí)現(xiàn),,用ASIC工藝的嵌入式10G MAC功率減少50%,這樣就有充裕的FPGA門實(shí)現(xiàn)用戶邏輯,。
通過(guò)SPI4.2橋接到網(wǎng)絡(luò)處理器以太網(wǎng)包通過(guò)10G MAC的地址過(guò)濾標(biāo)準(zhǔn),,進(jìn)入6?位FIFO之后,協(xié)議邏輯轉(zhuǎn)換6?位寬的FIFO邏輯并在通過(guò)它到達(dá)SPI4.2接口前把它轉(zhuǎn)換為128位字,。在協(xié)議邏輯中的這些FIFO用來(lái)控制接收和發(fā)送方向的數(shù)據(jù)流,。如果通信發(fā)生擁堵,,10G MAC與協(xié)議邏輯一起保證數(shù)據(jù)幀停止。還有一個(gè)微處理器接口,,可通過(guò)各種控制寄存器調(diào)整流量控制,。經(jīng)過(guò)標(biāo)準(zhǔn)的Ethernet X_ON和X_OFF流控制命令,協(xié)議邏輯控制至10G MAC的流量,。于是協(xié)議邏輯間接地轉(zhuǎn)換流量控制到基于SPI4.2的狀態(tài)命令,。
SPI4.2有兩個(gè)方案在一個(gè)鏈路里實(shí)現(xiàn)流量控制。第一個(gè)是基于credit的流程,。對(duì)每個(gè)通道,,credit在鏈路的每一方進(jìn)行交換。如果接收方信道很擁堵的話,,它將不再給予發(fā)送方credit,直到擁堵被清除,。第二個(gè)流量控制方案是基于狀態(tài),。在此模式,報(bào)告排隊(duì)的狀態(tài),,比如starved或者satisfied,,隊(duì)列中充滿數(shù)據(jù)時(shí)停止傳送?;跔顟B(tài)的流量控制用得較多,,因?yàn)樗子趯?shí)現(xiàn)。例如萊迪思的SPI4.2至XAUI橋的IP使用基于狀態(tài)的流量控制,。
這里是一個(gè)流量控制的例子,,進(jìn)入方向是從網(wǎng)絡(luò)處理器到以太網(wǎng)交換機(jī)。網(wǎng)絡(luò)處理器完成它的包時(shí),,它詢問(wèn)其狀態(tài)通道的狀態(tài),。可能的狀態(tài)是starved/hungry,,或者satisfied,,這是由橋內(nèi)的入口FIFO的級(jí)和電路板上微處理器接口的流量控制寄存器來(lái)決定。倘若不要求流量控制,,網(wǎng)絡(luò)處理器初始化傳輸,,并傳送包到橋的SPI4.2接收接口。當(dāng)包進(jìn)入橋時(shí),,進(jìn)行128到6?位數(shù)據(jù)寬度轉(zhuǎn)換,,數(shù)據(jù)寫(xiě)入入口FIFO,具有用戶可編程閾值支持存儲(chǔ),、發(fā)送和切入操作,。一旦超過(guò)了用戶可編程傳送閾值,,將會(huì)告知10G MAC一個(gè)包有效。于是10G MAC校驗(yàn)XAUI接口流量控制的狀態(tài),,如果無(wú)效的話,,傳送這個(gè)包。在出口方向的流量控制有相似的數(shù)據(jù)流,,但是需要將出口FIFO閾值設(shè)置到較高,,以便提供SPI4.2通過(guò)XAUI的較高帶寬。例如運(yùn)行HiGig+產(chǎn)生12Gbps的帶寬,。然而SPI4.2接口經(jīng)常運(yùn)行400-500MHz DDR,,提供12.8–16Gbps。因?yàn)榱髁靠刂七壿嬍怯肍PGA門,,以及內(nèi)置存儲(chǔ)器塊來(lái)實(shí)現(xiàn)的,,因此可以提供更加復(fù)雜的方案。
*多個(gè)以太網(wǎng)通道上面討論了協(xié)議轉(zhuǎn)換邏輯,,其中假設(shè)10Gbps源于單個(gè)10G管道,。這對(duì)于許多到以太網(wǎng)交換機(jī)的網(wǎng)絡(luò)處理器來(lái)說(shuō)是足夠了。然而某些設(shè)計(jì)中,,10Gbps或者12Gbps管道需要分成多個(gè)通道,。例如如果一個(gè)以太網(wǎng)交換聚合12個(gè)1Gbps以太網(wǎng)線,也許要求協(xié)議轉(zhuǎn)換邏輯將12Gbps管道分割成12個(gè)通道,。另外一個(gè)例子是線速率超負(fù)荷,。如果24個(gè)鏈路的總帶寬小于12Gbps聚合帶寬,那么或許要分割24個(gè)通道,。這些額外的通道需要更多的FIFO和邏輯來(lái)管理它們,。橋的設(shè)計(jì)需要考慮配置的類型。無(wú)論用一個(gè)或者多個(gè)通道,,數(shù)據(jù)必須通過(guò)協(xié)議邏輯先到SPI4.2接口,,然后再到網(wǎng)絡(luò)處理器。
SPI4.2功耗與動(dòng)態(tài)對(duì)齊SPI4.2從FIFO讀數(shù)據(jù)或者寫(xiě)數(shù)據(jù)至FIFO,,于是經(jīng)16位源同步SPI4.2線猝發(fā)數(shù)據(jù),。為了達(dá)到很高的可靠的SPI4.2速度,大多數(shù)高性能網(wǎng)絡(luò)處理器進(jìn)行動(dòng)態(tài)對(duì)齊,。動(dòng)態(tài)對(duì)齊接口是數(shù)據(jù)位可以依據(jù)時(shí)鐘進(jìn)行移入,。使用動(dòng)態(tài)對(duì)齊時(shí),16個(gè)LVDS I/O的每個(gè)可以運(yùn)行達(dá)1Gbps,,總的最大吞吐量為16Gbps(16x1Gbps),。因?yàn)檫@個(gè)接口以這么高的速度運(yùn)行,它通常要消耗幾瓦,,更不用說(shuō)FPGA中的上千個(gè)LUT了,。由于有了10GbE MAC,,把FPGA與ASIC門做的SPI4.2邏輯相混合是最佳的。嵌入式SPI4.2核節(jié)省了數(shù)千個(gè)LUT,,并將功耗減少到接近1瓦,。
本文小結(jié)
對(duì)于許多基于以太網(wǎng)交換機(jī)的系統(tǒng),XAUI至SPI4.2橋是必須的,。FPGA的價(jià)值是提供靈活選擇任何數(shù)量的網(wǎng)絡(luò)處理器和以太網(wǎng)交換器件,,提供用戶化的橋接方案,完成聚合多個(gè)以太網(wǎng)流,,以及在同一器件上實(shí)現(xiàn)多個(gè)橋,。然而因?yàn)樵O(shè)計(jì)總要考慮成本,橋接解決方案的低成本,,低功耗,,消耗很少資源的特點(diǎn)是很關(guān)鍵的。LatticeSCM FPGA系列混合了實(shí)現(xiàn)10G MAC和SPI4.2接口的硬ASIC塊,。參見(jiàn)圖3,。其余的FPGA邏輯和存儲(chǔ)器有足夠的資源來(lái)實(shí)現(xiàn)橋接功能。要求單個(gè)通道SPI4.2至XAUI(或者相關(guān)的基于以太網(wǎng)協(xié)議)橋時(shí),,緊湊的17×17mm 256微距球柵BGA封裝的LatticeSCM15 FPGA可以實(shí)現(xiàn)整個(gè)設(shè)計(jì),功耗低,,設(shè)計(jì)成本低且尺寸很小,。
