以太網是一個占據絕對優勢的固線連接標準。Xilinx? Virtex?-5以太網媒體接入控制器(以太網MAC)模塊提供了專用的以太網功能,它和Virtex-5 RocketIO? GTP收發器以及 SelectIO?技術相結合,能夠讓用戶與各種網絡設備進行連接。Virtex-5器件中,以太網MAC 模塊作為一個硬件塊集成在FPGA內部。
在Xilinx設計環境中,以太網MAC是一個庫原語,名為TEMAC。該原語包括一對10/100/1000 Mbps 的以太網MAC。每個Virtex-5 LXT器件含有四個以太網MAC 模塊;因此,一個Virtex-5 LXT設計能夠融合兩個TEMAC原語。利用標準的Xilinx產品,您可以建立一系列度身定制的數據包處理和網絡端點產品。Xilinx還提供了一種超頻模式,它能夠使底板的連接速率高達2,000 Mbps。
基于Virtex-4 FX以太網MAC,Xilinx開發出了Virtex-5以太網MAC,較之前者,后者在全局時鐘使用、串行接口的靈
活性以及軟件控制復雜度方面都有了較大的改進。
本文將介紹Virtex-5器件中的以太網MAC模塊的功能集,同時描述Virtex-5和Virtex-4 FX以太網MAC之間的區別,指出一
些潛在的應用,探索如何使用標準的Xilinx工具將以太網MAC融入用戶的設計。
支持的接口
Virtex-5以太網MAC完全符合IEEE802.3規范。圖1顯示了一個以太網MAC的模塊結構圖。
圖1 Virtex-5以太網MAC的模塊結構圖
物理接口
您可以單獨配置每個以太網MAC的物理接口,使其作為五種不同的以太網接口中的一種進行工作。
媒體獨立接口(MII),吉比特媒體獨立接口(GMII)和簡化的吉比特媒體獨立接口(RGMII)是并行接口。它們通常連接到一個外部物理層(PHY)芯片以提供速率為10/100/1000 Mbps的BASE-T 功能。同時它還支持速率為10/100 Mbps的半雙工操作以及各種速率條件下的全雙工操作。
串行吉比特媒體獨立接口和1000 BASE-X是串行接口,它們使用以太網MAC中的物理編碼子層(PCS)和物理媒體接入子層(PMA)部分。它們連接到Virtex-5 RocketIO GTP串行收發器。當與并行接口一起使用時, SGMII 提供了速率為10/100/1000 Mbps的全雙工BASE-T功能。該串行接口大大減少了與外部PHY芯片相連的引腳數量。
當將以太網MAC配置成1000 BASE-X模式時, PCS/PMA模塊與RocketIO收發器一起工作,能夠提供與吉比特轉換器(GBIC)或者小型可插式(SFP)光纖收發器進行直接連接所需要的所有功能。這可以避免1000 BASE-X網絡應用所需的外部PHY芯片。
控制接口
主機接口為接入以太網MAC模塊配置寄存器提供了通道。配置選項的示例中包括巨幀使能、暫停、單播地址設置以及幀檢驗序列生成。
可以通過通用主機總線或者設備控制寄存器(DCR)總線(當與處理器連接時)對主機接口進行訪問。另外,每個以太網MAC還有一個可選的管理數據I/O(MDIO)接口。它允許對外部PHY的管理寄存器和以太網MAC中PCS/PMA內部的物理接口管理寄存器進行訪問。
客戶端接口
發送器的客戶端接口將幀傳送給以太網MAC。當接收到的數據小于最短的以太網幀長度時,發送器將該數據加長,并且保持最小的幀間距;但是,您可以增加間隔的長度,還可以通過配置發送器在幀中添加一個幀檢驗序列。一個單獨的流控制接口允許您生成暫停幀。在半雙工模式下,信號發送之間存在沖突,在有效沖突情況下,需要進行幀重發。
接收器接口檢驗傳入幀和信號幀誤差。這里分別提供了好幀信號和壞幀信號。還可以通過配置以太網MAC 以便在檢測
到有效的暫停幀之后,暫停和重新啟動幀傳輸。
客戶端接口的數據的寬度通常是8位或者16位。8位接口主要針對標準的以太網應用,它利用一個125 MHz的時鐘產生
1,000 Mbps的數據率。當使用16比特模式時,可以在不提高客戶端接口時鐘頻率的條件下將數據率提高到2,000 Mbps。
每個以太網MAC都會輸出一些統計向量,其中含有發送和接收數據通路上所看到的以太網幀的信息。Xilinx CORE
Generator?軟件免費提供了一個外部統計模塊。該統計模塊對每個以太網MAC的發送和接收數據通路上的所有統計信息進行累加。
Virtex-5以太網MAC的新特性
在Virtex-4 FPGA中,僅僅實現數據通路就會消耗多達四個全局時鐘緩沖器:其中兩個分別用于發送和接收客戶端接口邏輯,另外兩個分別用于發送和接收的物理接口邏輯。在Virtex-5 FPGA中,Xilinx添加了一個時鐘使能特性。您可以把生成的時鐘用于所有客戶端邏輯的物理接口。
內部產生的時鐘使能,為在每個接口保持正確的數據吞吐率提供了一個方法。這種方法使所需的時鐘緩沖器數目減少了一半。
DCR總線尋址
現在Virtex-5 DCR接口為每個以太網MAC提供了一個單獨的基地址。這使得共享DCR總線接口對軟件驅動程序成為
透明的。軟件不再需要知道每個單獨以太網MAC的位地址;硬件根據基地址自動選擇正確的比特位。
串行接口改動
Xilinx對串行接口的操作做了一些改動。隨著一個可編程鏈接計時器的加入,自動檢測功能變得更加靈活。您可以在改變自動檢測進程時序的同時縮短仿真時間。
新添加的單向模式根據IEEE802.3ah-2004規范執行單向使能功能。一旦使能,不管有效輸入是否出現在接收端,以太網MAC都會進行傳輸。
最后,以太網MAC和收發器可以產生回環。這使得在回環狀態中能夠將閑置狀態傳輸給鏈接對象,從而確保該鏈接保
持活動性。
圖2 在Virtex-5 FPGA上,MAC連接到一個處理器
Virtex-5以太網MAC使用的模型
Virtex-5以太網MAC的多功能性使其可以應用在眾多領域。比如,您可以:
? 可以將該以太網MAC連接到一個在網絡處理或者遠程監測系統中運行協議棧的處理器上,如圖2 所示。
? 將以太網MAC連接到一個在 FPGA上實現的數據包處理系統,例如校驗和計算及驗證的卸載引擎或者遠程直接存
儲器訪問設計。
? 針對數據包的存儲、橋接或者交換應用,將多個以太網MAC連接到專用數據包FIFO和外部存儲器。
工具和IP支持
Xilinx通過CORE Generator軟件、LogiCORE? IP和參考設計對以太網MAC提供支持。
Virtex-5以太網MAC封裝
圖3顯示了一個HDL封裝的模塊結構圖,它可以從Xilinx的CORE Generator工具中獲得。
圖3 Virtex-5 以太網MAC 封裝的模塊結構圖
以太網MAC是一個具有162個端口和79個參數的復雜組件。封裝文件使您可以僅對特定應用所需端口的參數和接口
輕松進行設置。它們的另外一個優勢是簡化了時鐘和物理I/O 資源的使用。
分級結構使您可以針對自己的應用抽取正確的封裝。
? 以太網 MAC封裝。在最低級別,實體化一個單獨的或者雙以太網MAC,同時在CORE Generator GUI中將它的屬性設置成您偏好的選項。所有未使用的輸入端口接地,未使用的輸出端口保持開路狀態。
? 模塊級別的封裝。在下一層級,對物理接口以及所要求的時鐘資源進行實體化。這包括用于串行接口的 RocketIO
GTP收發器。同時針對您的配置對時鐘進行優化,并且利用時鐘將輸出同步到您的設計。
? LocalLink級別的封裝。在該級別,將FIFO添加到客戶端發送器和接收器接口。FIFO 能夠處理接收時壞幀的丟失并
且以半雙工模式對幀重新傳輸。LocalLink 可以作為后端接口使用。
? 示例設計的封裝。頂層具有一個演示設計,在這個設計中接收到的數據經過回環重新發送給發送器。您可以將該設計
下載到一個開發板上,然后利用網絡設備對該接收器發出激勵,從而演示硬件中以太網MAC的操作過程。激勵該設計的接收器輸入和監視該設計發送器輸出的測試臺也包含在CORE Generator軟件中。
LogiCORE IP和參考設計
現有的大部分Virtex-4以太網MAC文檔都可以在Virtex-5以太網MAC上重復使用。例如,《以太網內核硬件演示平臺》
(XAPP443, )同樣適用于Virtex-5以太網MAC。LogiCORE IP,比如以太網統計,已經支持這種新的架構。
結論
Virtex-5以太網MAC為各種網絡接口提供了一個經濟合算的解決方案,使您能夠以10/100/1000 Mbps 的速率連接到BASE-X和BASE-T網絡。Xilinx的軟件工具和IP同樣為您充分利用該以太網MAC的改進特性提供了相應支持。
評論
查看更多