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