《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 市場分析 > FPGA研究設計平臺不斷推動網絡發展

FPGA研究設計平臺不斷推動網絡發展

2011-03-28
關鍵詞: 開發工具 FPGA Virtex

斯坦福大學與賽靈思研究實驗室(Xilinx Research Labs) 聯手,正在開發專門面向研究社群的第二代高速網絡設計平臺NetFPGA-10G。該新型平臺預計年內完成,其采用最先進的技術,能夠幫助研究人員迅速構建高速復雜的原型,以解決網絡領域新出現的技術問題。正如第一代平臺已在世界各地的大學中得到廣泛應用一樣,我們希望新平臺能夠催生一個開源社區,貢獻并共享IP,從而加快創新步伐。

基礎平臺為最終用戶提供了迅速上手所需的所有要素,而開源社區則可以讓研究人員利用彼此的成果,這樣一來最大限度地減少了理念實際實施所需的時間,從而讓設計人員集中精力進行創新。

2007年,我們開發出了第一代開發板NetFPGA-1G,其采用賽靈思Virtex-II Pro 50,主要用于電氣工程和計算機科學系學生的網絡硬件教學。許多電氣工程和計算機科學的畢業生走上了開發網絡產品的崗位,我們希望他們能夠有機會進行實際操作,親自動手使用業界標準設計流程開發以線速運行且可植入正在運行的網絡中的硬件。為此,最初的
開發板必須具有低成本性。在多家半導體供應商的慷慨捐贈下,我們得以把設計的最終價格壓到 500 美元以下。結果
許多大學很快采用了該開發板,目前約有 2,000個NetFPGA-1G開發板被世界各地的150個學院使用。

不過很快NetFPGA就超越了教學工具的范疇。研究社群逐漸將其用于實驗和原型設計。為此,NetFPGA小組提供了免費的開源參考設計,并維護著有約50項研究人員貢獻的設計的設計庫。我們為新用戶提供支持,運行在線論壇,提供輔導資料,舉辦夏令營和開發人員技術座談。

可編程技術勢在必行

10多年以來,網絡技術在交換機、路由器及其它產品中的發展越來越體現出轉發路徑的可編程性。這在很大程度上是因為隨著更多隧道格式、服務質量方案、防火墻過濾器和加密技術等的問世,網絡硬件日益復雜化。加上日新月異的標準,可編程技術勢在必行,比如說使用NPU或FPGA。

研究人員往往想改變部分或所有轉發流水線。近來,有許多人關注全新的轉發模型,比如OpenFlow。研究人員可以
在全國范圍內在國家級測試平臺上,比如美國的GENI (http://geni.net) 和歐盟的FIRE( http://cordis.europa.eu/fp7/ict/fire/calls_en.html ) 上試驗新型網絡架構。

研究人員還越來越多地將NetFPGA開發板用于新理念的硬件原型設計,諸如新的轉發模式、調度與查找算法,以及新的深層數據監測器。NetFPGA開發板上最常見的參考設計是功能齊全的開源OpenFlow交換機,可以讓研究人員體驗到標準設計的各個變體。另一項常用的參考設計則可以通過鏡像硬件中內核路由表并以線速轉發所有數據包來加速計算機主機內置的路由功能。

第二代NetFPGA

在第二代平臺NetFPGA-10G上,我們添加了易用性,旨在為最終客戶提供基本的基礎架構,以簡化他們的設計工作,這不僅擴大了我們的原始設計目標,而且這個目標與賽靈思主流目標設計平臺的目標很接近,即除FPGA芯片外,還為客戶提供工具、IP核和參考設計,以加快設計流程。

為實現這一目標,我們將以基礎IP構建塊和特定領域 IP 構建塊形式提供與FPGA基礎架構設計配套的開發板,以增強易用性,縮短開發時間。我們將進一步開發諸如網絡接口卡和IPv4參考路由器等參考設計,以及協助設計構建、仿真和調試的基本基礎架構。我們的想法是讓用戶把開發時間真正聚焦于他們特定的專業領域或者專題上,無需深入了解底層硬件的詳細情況。

與主流目標設計平臺不一樣,我們的網絡平臺針對的是一個與眾不同的最終用戶群體,即囊括了學術研究和商業研究的這樣一個龐大的研究群體。為了讓該開發板得到廣泛采用,多家半導體合作伙伴慷慨解囊,期望能將其成本降至最低。賽靈思及Micron、賽普拉斯半導體公司和NetLogic Microsystems等其他主力組件制造商也紛紛在向學術界最終用戶捐贈部件(商業研究人員則需給付更高的價格)。

這個項目的部分優勢在于這個平臺得到了社區和開源硬件庫的支持,可以以最初的基礎方案為基礎,促進軟件、IP核和經驗的共享。這樣,我們期望在眾多知名大學、研究群體和企業的支持下,IP庫能夠日益擴大完善,最終能夠覆蓋各種參考組件、網絡IP核、軟件和尖端的基礎構架。我們還期望通過提供精心設計的框架,用系統的方法對專業知識和IP的共享稍加協調,并采用具有標準接口的設計精良的即插即用型架構,就可以讓開源硬件庫不斷擴大,從而催生新一代網絡問題的解決方案。

NetFPGA-10G是一種40Gb/s的PCI Express®適配卡,擁有龐大的FPGA架構,能夠盡可能多地支持各種應用。如圖1 所示,該板卡設計以一個大型的賽靈思 FPGA 器件——Virtex-5XC5VTX240T-2 [1] 為中心。

 

圍繞Virtex-5 FPGA構建的NetFPGA-10G板卡

圖1 — 圍繞Virtex-5 FPGA構建的NetFPGA-10G板卡

 

FPGA與5個子系統相連(見圖2)。第一個子系統是網絡接口子系統,有4個帶有物理層器件的10 Gbps以太網接口,用于讓網絡流量進入FPGA。第二個子系統是存儲子系統,其由多個QDRII和RLDRAMII組件構成。I/O主要用于該接口,用來為諸如路由表或包緩存這樣的功能提供盡可能高的可用片外帶寬。第三個子系統是 PCIe 子系統。

 

FPGA開發板與網絡接口、PCIe、擴展、存儲器、配置和電源五個子系統相連

圖 2 — FPGA開發板與網絡接口、PCIe、擴展、存儲器、配置和電源五個子系統相連

 

第四個子系統是擴展接口,用于加載子卡或與其它板卡通信。為此我們把所有剩余的高速串行I/O連接端都接到了兩個高速接插件上。第五個子系統是配置子系統,用于FPGA的配置。

總體而言,該板卡就是作為一個雙插槽、全尺寸PCIe適配器來實現的。使用兩個插槽是出于散熱、功耗和高度方面的考慮。與高端圖形卡一樣,該板卡需要外接ATX電源,因為FPGA在絕對最大負載條件下,功耗可能會超過單槽PCIe
允許的50 W。不過該板卡也可在服務器環境外獨立運行。

存儲器子系統

我們設計流程的核心焦點是到SRAM和DRAM組件的接口。因為FPGA器件上的I/O總數限制了可用的片外總帶寬,我們必須小心地達成一定的妥協,爭取盡量多支持一些應用。要支持從網絡監控到安全性、路由、流量管理等各類應用,會帶來很大不同的約束。

例如,對外部存儲器存取來說,網絡監控器會采用一個大型的基于流量的統計表,而且多數情況下可能還需要一個流量分類查找表。對兩者的存取都會帶來較短的時延,因為流量分類需要對內部依賴性進行多次查找,而流量統計表的更新則一般會覆蓋整個讀取—修改—寫入周期。因此,SRAM是合適的器件選擇。不過流量管理器主要需要大量存儲空間用于包緩存,通常出于密度要求,還會采用DRAM組件。對外部存儲器而言,最后可以考慮使用需要路由表查找和包緩存的IPv4路由器。

總結各種應用的要求,我們認識到某些功能會占用外部存儲器帶寬,不管是SRAM還是DRAM。包緩存(要求大量存儲空間)適合采用DRAM,SRAM則更適用于流量分類搜索存取、路由表查詢、基于流量的數據統計表或基于規則的防火墻、用于包緩沖區實現的存儲器管理表以及報頭隊列等。

所有這些功能都需要逐包執行。因此,假定在最惡劣的情況下最小尺寸的包是帶20字節開銷的64字節,系統需要處理的包率就是大約每秒6000萬個包。其次,我們需要將存取做進一步的區分。首先,許多存儲器組件,比如QDR SRAM 和RLDRAM SIO器件有獨立的讀/寫數據總線。由于存取模式不能假定為系統分布,我們就無法匯聚總的存取帶寬,不得不對單獨考慮每項業務。

另外,還存在第三類存取,就是“搜索”。搜索可以通過基于TCAM的器件很好地完成,搜索時延固定,且確保能獲得搜索結果。不過,出于價格和功耗方面的考慮,以及TCAM會進一步限制I/O使用,我們不準備在我們的開發板上使用 TCAM器件。搜索還可以通過諸如決策樹、哈希算法和分解法等其他方式來完成,可采用高速緩存也可不用,僅以這些為例[2]。為了便于探討,我們假定完成一次搜索平均需要近兩次讀取。鑒于此,以及對數據寬度進行了一些慣常的假設后,我們將我們的要求精簡為表1所示。

SRAM帶寬需求

表1 — SRAM帶寬需求

 

假定接口上的時鐘速度為300MHz,那么QDRII接口可以實現每秒2X300=6億次讀/寫存取操作。因此,三個QDRII x36位的接口就可以滿足我們的所有要求。

對于DRAM存取,我們主要考慮的是包存儲的方便程度,僅從存儲器中對包進行一次讀/寫。把包開銷從原本進入的2x40Gbps中扣除后,這相對于約62Gbps的存取帶寬。用物理資源來衡量,RLDRAMII存取可以實現約97%的效率,而DDR2或DDR3存儲設備則可能在40%左右[3],因此會要求多得多的I/O。因此我們選擇了RLDRAMII CIO組件。兩個運行在300MHz的64位RLDRAMII接口提供的總帶寬可以大致滿足這個要求。

網絡接口

NetFPGA-10G的網絡接口由4個能夠以10Gbps或1Gbps以太網鏈路方式運行的子系統構成。為了最大化平臺的利用率和最小化功耗,我們使用了4個增強型小型封裝可熱插拔(SFP+) 模塊 (cage) 作為物理接口。與XENPAK和XFP等其他 10G 收發器標準相比,SFP+ 在功耗和尺寸方面有著明顯的優勢。使用SFP+模塊,我們可以支持一系列接口標準,包括10GBase-LR、10GBase-SR、10GBase-LRM和低成本直聯 SFP+ 銅纜(雙同軸)。

此外,還可以利用針對1Gpbs運行的SFP模塊,從而支持1000Base-T或1000Base-X物理標準。4個SFP+模塊每個都通過SFI接口連接到一個NetLogic AEL2005器件。AEL2005是一個帶有符合IEEE 802.3aq規范的嵌入式電分散補償引擎的10Gb以太網物理層收發器。除了常規的10G模式,該物理層器件還能夠支持千兆位以太網 (1G) 模式。在系統側,這些物理層器件通過一個10Gb連接單元接口 (XAUI) 連接到FPGA。在1G模式下工作時,其中一個XAUI信道用作串行千兆位介質無關接口(SGMII)。

Virtex-5 FPGA內部提供適當的IP核。對于10Gbps的業務,賽靈思推出了XAUI LogiCORETM IP核和10Gb以太網媒體訪問控制器 (10GEMAC)LogiCORE IP 核 [4,5]。對于1G的業務,接口可以直接連接至賽靈思嵌入式三態以太網 MAC 內核[6]。

PCIe 子系統

NetFPGA-10G平臺使用開放式組件可移植性基礎架構 (OpenCPI) 作為開發板和計算機主機通過PCIe互聯的主要互聯實現方式 [7]。我們目前支持x8的第一代,將來可能會升級到支持第二代。OpenCPI 是一種通用開源框架,用于連接使用不同類型的通信接口、且帶寬和時延要求不同的 IP 模塊(串流、字節可尋址等)。就其本質來說,OpenCPI是一種高度可配置的框架,能夠為用于快速實現新設計的 IP 核提供關鍵性的通信“橋梁”。

OpenCPI為NetFPGA-10G平臺帶來了一些關鍵特性。在軟件側,我們能夠提供無干擾 (clean) DMA接口,用于傳輸數據(主要是數據包,雖然也有其他類型的信息)以及通過編程的輸入/輸出控制器件。對于網絡應用,我們提供Linux網絡驅動程序,將網絡接口導出到NetFPGA器件上的每個物理以太網端口上。這樣可以讓用戶空間軟件把網絡數據包傳輸到器件上,并且讀取設計中任何主機可視寄存器。

在硬件側,OpenCPI為我們提供了無干擾、甚至多種數據流接口,而且每個接口都可以通過OpenCPI框架進行配置。此外,OpenCPI能夠處理主機側和硬件側所有的緩存和PCIe事務處理,這樣用戶就能夠集中精力進行特定應用開發,而不必處理器件通信的細節。

擴展接口與配置子系統

擴展接口子系統的目的是讓用戶通過連接第二塊 NetFPGA-10G板卡來增加端口密度,比如通過光學子卡來豐富網絡接口特性,或者通過高速串行接口連接更多搜索組件,比如基于知識的處理器等。我們將FPGA上的20個GTX收發器取出,然后通過AC耦合傳輸線連接到兩個高速接插件上。這些接插件是為諸如XAUI、PCIe、SATA和Infiniband這樣的傳輸接口設計的,既可以通過匹配接插件直接連接到另一塊板卡上,也可以通過電纜組件連接到另一塊板卡上。每條傳輸線經測試雙向傳輸速率均可達到6.5Gbps,從而為進出FPGA提供了一條額外的130Gbps數據路徑。

使用不斷變大的比特流位寬來配置FPGA,如果器件的配置時間超過PCIe的限制,可能就會出現問題。V5TX240T就會遇到這樣的問題:平臺閃存器件的存取速度遠遠低于V5TX240T理論上能夠處理的速度,從而帶來了瓶頸。作為應對措施,設計人員可以考慮配置部分比特流,并通過并行方式存取平臺閃存器件,從而以最大速度配置FPGA。為了提高實現的可能性,我們為板卡配備了兩個平臺閃存器件,可以通過CPLD連接到FPGA的配置接口。此外,該板卡還支持標準的JTAG編程接口。

FPGA設計

構建成功的開源庫的一個關鍵因素是嚴格的架構規范以及標準的、抽象且定義準確的接口。實際上,我們認為這些接
口對提供一個能夠輕松地將大型全球性社區貢獻的組件組合在一起的構建塊系統具有重要的意義。標準化保證了物理兼容性,物理連接功能之外的清晰定義避免了對接口協議的誤解。在理想的情況下,用戶可以不對實施內在的知識做
詳細了解,就可以部署抽象組件。

作為完整平臺發布的一部分,我們將提供完備的架構規范和帶有關鍵組件的參考設計。這些關鍵組件包括:

• OpenCPI 的 PCIe 端點 [4]
• 4 個XAUI LogiCORE IP模塊和4個10G模式下的10GEMAC LogiCORE內核(后者許可協議下使用)[7、8]
• 2 個基于XAPP852的RLDRAMII存儲器控制器 [8]
• 3 個基于MIG3.1的QDRII存儲器控制器 [9]
• 用以檢查時鐘頻率和加電完畢信號,并生成所有所需系統時鐘的時鐘及復位模塊
• 針對1G運行模式的三態以太網MAC(TEMAC) [9]
• 用于配置物理層器件的MDIO接口
• 帶有能夠處理所有管理任務的支持系統的MicroBlaze控制處理器
•UART 接口
• 配置控制和比特流工具箱,為平臺閃存器件提供編程路徑
• 可將所有輸入流量整合成一個數據流的輸入仲裁器
• 可將流量分配給指定的輸出端口的輸出仲裁器

圖3顯示了這些組件如何互聯,以支持10G業務。對數據傳輸,我們選擇了AMBA®4 AXI串流協議。對控制流量,則選擇了基于AMBA4 AXI-Lite的接口。關于該接口的詳細規范,敬請訪問: www.arm.com (在不久以后,也可以訪問賽靈思網頁)。

 

面向10G業務的FPGA設計架構基于AXI協議

圖 3 — 面向10G業務的FPGA設計架構基于AXI協議

 

發展現狀與未來展望

NetFPGA-10G板卡的設計驗證已經完成。一旦完成產品測試平臺開發,該板卡可立即投入生產。目前正在進行FPGA 的初步設計和首次發布相關代碼。您可以通過生產和分銷NetFPGA-10G板卡的HiTechGl o b a l 訂購此板卡( www.hitechglobal.com/boards/PCIExpress_SFP+.htm )。對于學術客戶和商業客戶提供多種定價模型。關于該項目的最新信息,敬請訪問我們的網址: www.netfpga.org ,或者在netfpga發布郵件列表上訂閱:
h t t p s : / /ma i lma n . s t a n f o r d .edu/mailman/listinfo/netfpgaannounce 。

首次代碼發布安排在最近幾個月,將向更廣闊的社區開放源代碼。首次發布主要包括 FPGA設計部分的設計細則及所采用的架構。此外,我們還將大力提供構建、仿真和調試設計所采用的適當類型的基礎架構。今后幾個月的最后一個重點是在NetFPGA 社區中構建出一個能夠實現經驗、專業知識和IP核有效共享的庫和框架。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 中文字幕亚洲综合久久男男 | 亚洲欧美成人综合在线 | 综合爱爱网 | 国产精品高清免费网站 | 中文字幕日韩三级 | 亚洲天堂区 | 久草视频在线免费 | 深夜福利视频在线观看免费视频 | 亚洲精品久久玖玖玖玖 | 久久精品爱 | 免费日本视频 | 亚洲精品在线网 | aaaa级毛片欧美的 | 成人自拍在线 | 男人操美女逼视频 | 亚洲一区免费看 | 午夜两性试爱视频免费 | 免费看欧美一级特黄a大片一 | 久久国产精品1区2区3区网页 | 国产精品亚洲一区二区在线观看 | 欧美日本一二三区 | avav在线看 | 久久亚洲综合中文字幕 | 国产日韩一区二区三区在线观看 | 久久久久久久久性潮 | 国产午夜亚洲精品理论片不卡 | www.精品 | 免费人成黄页网站在线观看国产 | 在线免费视频国产 | 免费欧美一级 | 理论片我不卡在线观看 | 精品欧美一区二区三区在线 | 欧美激情一区二区三区高清视频 | 国产精品99久久久 | 欧美视频在线观看免费精品欧美视频 | 99精品国产成人一区二区在线 | 久久aⅴ免费观看 | 全国男人的天堂网 | 久章草在线视频 | 美女张开腿黄网站免费国产 | 精品一区二区三区中文 |