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