基于FPGA的千兆以太網交換芯片的設計
發布日期:
2021-12-09

前言:以太網技術屬于當前通信領域及信息領域的核心技術內容,其中,千兆以太網技術完美結合了以太網技術的應用優勢,有效解決了傳統以太網技術存在的不足之處。千兆以太網技術在原有基礎上,對傳輸介質等組成物質進行了適當優化,如使用 8B/10B 的編解碼方案、采用載波擴展技術以及分組突發技術等。隨著千兆以太網技術的不斷成熟與改進,以千兆以太網技術為代表的以太網技術儼然成為我國局域網的主流技術。為進一步強化千兆以太網技術的應用效果,研究人員結合 FPGA 技術及相關內容,對現有千兆以太網交換芯片進行充分優化,以達到提高千兆以太網使用性能的目的。?

千兆以太網交換芯片的工作原理分析?

? ? ?文章所介紹的千兆以太網交換芯片主要按照 IEEE802.3 標準對現有的 8 個獨立千兆端口之間的 MAC 幀進行交換與處理。與此同時,該千兆以太網交換芯片可以同時兼容 10Mb/s 與 100Mb/s 的 MAC 幀交換要求。結合以往的經驗來看,千兆以太網交換芯片的工作原理主要圍繞“學習”與“轉發”兩個方面進行開展。一般來說,交換芯片內部包含一個 MAC 地址表,且每一個 MAC 地址表在存儲單元方面,主要以保留比特、老化標志、端口編號、MAC 地質以及有效標志等內容為主。根據實踐證明,MAC 地址表可以有效存儲 4096 條關于 MAC 地址方面的索引信息。?

? ? ? 端口在接收 MAC 幀之后,可以自動提取 MAC 幀的源地址。此時交換芯片可以自動找尋上述地址索引信息內容,如果沒有找到,系統會自動將源地址與接收到幀端口編號融為一體,并自動形成一條全新的 MAC 地址索引信息。并在此基礎上,自動存儲到 MAC 地址索引內容當中。我們一般將這個過程中稱為千兆以太網交換芯片的學習過程,交換芯片通過有效的學習可以及時明確主機地址與端口之間的內部聯系,是否存在映射關系等。必要時,交換芯片還會自動記錄 VLAN 與各端口之間的信息內容。?

MAC 幀直接轉發到對應的端口位置處。一般來說,我們將這一過程中成為“轉發過程”??梢哉f,千兆網以太網交換芯片通過完成“學習”與“轉發”過程,可以進一步提升交換芯片的工作效率,利于網絡性能的有效提升[2]。?

千兆以太網交換芯片的關鍵技術?

? ? ? 千兆以太網交換芯片的關鍵技術在于實現 MAC 幀的幀頭信息提取要求與 MAC 地址表管理要求。其中,幀頭信息提取技術的關鍵要點在于合理判斷所提取的是以太網幀還是 802.3 幀。另外,還有提取源地址、目的地址等。在此基礎上,可以優先計算當前幀的信息內容,并根據具體處理結果,進行合理的協調處理。為進一步實現 1000Mb/s 的 MAC 幀交換要求,建議設計人員在實際設計過程中,必須滿足千兆以太網的高吞吐量需求、MAC 幀地址索引信息以及在特定周期內尋求到 MAC 地址對應端口號的需求。為進一步實現上述要求,建議設計人員可以選用 HASH 算法進行處理。?

? ? ?基于FPGA的千兆以太網交換芯片的設計方案基于 FPGA 的千兆以太網交換芯片的設計方案可以從交換芯片組成方面進行優化設計。一般來說,基于 FPGA 的千兆以太網交換芯片在具體設計過程中,主要以接口幀緩存、MAC 幀處理模塊、交換模塊以及寄存器等成分為主?;?FPGA 的千兆以太網交換芯片在雙端口的選擇方面,主要采用容量為 108k 字節的雙端口 SRAM 的設計方式。目的在于可以及時接收到 MAC 幀內容,與此同時,內存管理模塊可以利用 SRAM 存儲空間的性能優勢,如分配、釋放等,進一步實現交換芯片的功能??梢哉f,通過利用這種交換功能,可以進一步強化以太網交換芯片的應用功能。?

在芯片與用戶接口處的設計方面,本方案主要采用 RS232 接口。通過利用 RS232 接口可以及時了解用戶讀取寄存器或者芯片的運行狀態,能夠進一步根據寄存器的運行狀態調整芯片的工作模式。其中, MAC 幀處理模塊在功能方面多呈現出實現 MAC 幀接收與發送兩個功能。其中,GMII/MII 口在接收到 MAC 數據幀之后,MAC 幀處理模塊會優先處理端口接收到的數據內容,并將緩存到接口幀模塊中的信息內容放置到 FIFO 當中。在此基礎上,MAC 幀處理模塊可以根據內存管理模塊,釋放內部的緩存空間。再得到內存管理模塊的回執命令之后,可以有效提取出幀頭。?

? ? ?與此同時,幀頭信息分析模塊在接收到 MAC 幀處理模塊返置回來的信息之后,會將優先級信息提取出來,如目的地址、源地址以及 IP 頭信息。待提取完這些信息之后,分析模塊可以將其轉發到學習轉發模塊當中。待處理結束之后,內部系統可以參照幀頭、幀尾等方面的信息內容或者相關指示信號,發送到端口記錄模塊當中。發送指示信號會根據端口記錄信號回執的信息內容,完成信號處理工作。并在此基礎上,內存處理單元會結合信息的具體內容進行合理處理。此時,MAC 幀處理單元會根據內存處理單元發來的指令要求釋放信號,進一步優化基于FPGA千兆以太網交換芯片的應用功能。?

結論:通過本文的內容敘述,大致可以明確基于 FPGA 的千兆以太網交換芯片的方案具有一定的可行性。在具體設計過程中,通過利用千兆全雙工模式,優化 8 個端口工作模式。并在此基礎上,利用以太網測試儀對端口工作模式進行性能方面的測試。測試結果明確顯示在 10min 中內,8 個端口 1000Mb/s 老化測試的丟包率滿足預期控制范圍,均小于百萬分之一。由此可以證明,基于 FPGA 的千兆以太網交換芯片可以投入正式使用。目前,基于 FPGA 的千兆以太網交換芯片已經得到廣泛應用,效果顯著。?



相關推薦

暫無數據