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