采用Virtex-5嵌入式三模以太網(wǎng)MAC進(jìn)行設(shè)計(jì)
將以太網(wǎng) MAC 連接到一個(gè)在 FPGA 上實(shí)現(xiàn)的數(shù)據(jù)包處理系統(tǒng),例如校驗(yàn)和計(jì)算及驗(yàn)證的卸載引擎或者遠(yuǎn)程直接存儲(chǔ)器訪問設(shè)計(jì)。
針對數(shù)據(jù)包的存儲(chǔ)、橋接或者交換應(yīng)用,將多個(gè)以太網(wǎng) MAC 連接到專用數(shù)據(jù)包 FIFO 和外部存儲(chǔ)器。
工具和IP支持
Xilinx通過CORE Generator軟件、LogiCORE™ IP和參考設(shè)計(jì)對以太網(wǎng) MAC提供支持。
Virtex-5 以太網(wǎng) MAC 封裝
圖3:Virtex-5以太網(wǎng)MAC封裝的模塊結(jié)構(gòu)圖
圖3顯示了一個(gè)HDL封裝的模塊結(jié)構(gòu)圖,它可以從Xilinx的 CORE Generator工具中獲得。
以太網(wǎng) MAC是一個(gè)具有162個(gè)端口和79個(gè)參數(shù)的復(fù)雜組件。封裝文件使您可以僅對特定應(yīng)用所需端口的參數(shù)和接口輕松進(jìn)行設(shè)置。它們的另外一個(gè)優(yōu)勢是簡化了時(shí)鐘和物理I/O資源的使用。
分級(jí)結(jié)構(gòu)使您可以針對自己的應(yīng)用抽取正確的封裝。
以太網(wǎng) MAC封裝。在最低級(jí)別,實(shí)體化一個(gè)單獨(dú)的或者雙以太網(wǎng) MAC,同時(shí)在CORE Generator GUI中將它的屬性設(shè)置成您偏好的選項(xiàng)。所有未使用的輸入端口接地,未使用的輸出端口保持開路狀態(tài)。
模塊級(jí)別的封裝。在下一層級(jí),對物理接口以及所要求的時(shí)鐘資源進(jìn)行實(shí)體化。這包括用于串行接口的 RocketIO GTP 收發(fā)器。同時(shí)針對您的配置對時(shí)鐘進(jìn)行優(yōu)化,并且利用時(shí)鐘將輸出同步到您的設(shè)計(jì)。
LocalLink級(jí)別的封裝。在該級(jí)別,將 FIFO 添加到客戶端發(fā)送器和接收器接口。FIFO能夠處理接收時(shí)壞幀的丟失并且以半雙工模式對幀重新傳輸。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è)備對該接收器發(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)》 (XAPP443www.xilinx.com/ bvdocs/cn/appnotes/xapp443.pdf )同樣適用于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)支持。
注:本文作者分別是Xilinx公司高級(jí)設(shè)計(jì)工程師 Nick McKay、Xilinx公司高級(jí)設(shè)計(jì)工程師 Soma Potluri以及Xilinx公司高級(jí)設(shè)計(jì)工程師Stuart Nisbet三位專業(yè)人士。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論