基于Xilinx FPGA的千兆以太網(wǎng)及E1信號的光纖傳輸
圖4 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資源的使用。
以太網(wǎng)MAC封裝。在最低級別,實體化一個單獨的或者雙以太網(wǎng)MAC,同時在CORE Generator GUI中將它的屬性設(shè)置成你偏好的選項。所有未使用的輸入端口接地,未使用的輸出端口保持開路狀態(tài)。
模塊級別的封裝。在下一層級,對物理接口以及所要求的時鐘資源進(jìn)行實體化。這包括用于串行接口的RocketIO GTP收發(fā)器。同時針對你的配置對時鐘進(jìn)行優(yōu)化,并且利用時鐘將輸出同步到你的設(shè)計。
LocalLink級別的封裝。在該級別,將FIFO添加到客戶端發(fā)送器和接收器接口。FIFO能夠處理接收時壞幀的丟失并且以半雙工模式對幀重新傳輸。LocalLink可以作為后端接口使用。
RocketIO GTP Transceiver
RocketIO是一種高速的串行收發(fā)器,采用兩對差分對來進(jìn)行數(shù)據(jù)的發(fā)送和接收,可以實現(xiàn)兩個單工或一對全雙工的數(shù)據(jù)傳輸。RocketIO支持622Mb/s~3.75Gb/s的全雙工傳輸速率,還具有8b/10b編解碼(平衡編碼)、時鐘生成及恢復(fù)等功能。Aurora協(xié)議是為專有上層協(xié)議或行業(yè)標(biāo)準(zhǔn)的上層協(xié)議提供透明接口的第一款串行互連協(xié)議,可用于高速線性通路之間的點到點串行數(shù)據(jù)傳輸,同時其可擴(kuò)展的帶寬,為系統(tǒng)設(shè)計人員提供了所需要的靈活性。
1 PMA和PCS層
RocketIO包括PMA(物理媒介適配層)和PCS(物理編碼子層)兩個子層,其內(nèi)部結(jié)構(gòu)如圖5所示。其中PMA子層主要用于串行化和解串,PCS主要包括線路編碼和CRC校驗編碼。
圖5 PMA、PCS內(nèi)部結(jié)構(gòu)框圖
PMA子層中集成了SERDES,發(fā)送和接收緩沖,時鐘發(fā)生器及時鐘恢復(fù)電路。SERDES是一個串并轉(zhuǎn)換器,負(fù)責(zé)FPGA中本地的32位并行數(shù)據(jù)(也可以是16位或8位)與RocketIO接口的串行數(shù)據(jù)之間的轉(zhuǎn)換。采用串行數(shù)據(jù)收發(fā),可以在高頻條件下很好地避免數(shù)據(jù)間的串?dāng)_。時鐘發(fā)生器及時鐘恢復(fù)電路用于將時鐘與數(shù)據(jù)綁定發(fā)送,以及將時鐘從接收到的數(shù)據(jù)流中恢復(fù)出來,從而避免了在高速傳輸條件下時鐘與數(shù)據(jù)分開傳輸所帶來的時鐘抖動等問題。
PCS子層負(fù)責(zé)8b/10b編碼解碼和CRC校驗,并集成了負(fù)責(zé)channel綁定和時鐘修正的彈性緩沖。8b/10b編碼可以避免數(shù)據(jù)流中出現(xiàn)連0連1的情況,便于時鐘的恢復(fù)。channel綁定通過在發(fā)送數(shù)據(jù)流中加入P字符來將幾個RocketIO通道綁定成一個一致的并行通道,從而來提高數(shù)據(jù)的吞吐率。最多支持24個通道的綁定。彈性緩沖可以解決恢復(fù)時鐘與本地時鐘的不一致問題,并進(jìn)行數(shù)據(jù)率的匹配,從而使得channel綁定成為可能。對Rocket IO模塊的配置,可以通過下面兩種方式進(jìn)行:靜態(tài)特性可以通過HDL代碼設(shè)置;動態(tài)特性可以通過RocketIO的原語端口進(jìn)行配置。
評論