[發明專利]一種基于FPGA實現包交叉的方法在審
| 申請號: | 202110505808.5 | 申請日: | 2021-05-10 |
| 公開(公告)號: | CN113194047A | 公開(公告)日: | 2021-07-30 |
| 發明(設計)人: | 陳暉;王東鋒;宛文順;石艷梅 | 申請(專利權)人: | 天津光電通信技術有限公司 |
| 主分類號: | H04L12/863 | 分類號: | H04L12/863 |
| 代理公司: | 天津中環專利商標代理有限公司 12105 | 代理人: | 李美英 |
| 地址: | 300211*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 實現 交叉 方法 | ||
本發明公開了一種基于FPGA實現包交叉的方法,該方法在基于FPGA的硬件平臺上實現,方法將包認為是數據字流,數據字元素包含valid,last,rem,data,valid為當前流的數據字是否有效、last為數據字是否為包尾、rem為數據字有效的字節數、data為數據字值,若數據字流中沒有包出現,則數據字的valid為0、其余元素不關心,這樣不同LANE之間包交叉的問題即可等效為數據字流的交叉問題。在實現不同LANE之間數據字流的交叉時,通過調序與RAM存儲相結合的方法實現。采用本發明提供的方法可很好的解決在實現包交叉時會消耗大量的邏輯資源以及時序難以收斂的問題,為包交叉技術提供有益參考。
技術領域
本發明涉及包交叉技術領域,尤其涉及一種基于FPGA實現包交叉的方法,主要用于不同LANE之間的包交叉。
背景技術
在網絡設備中,對不同LANE之間的包交叉技術尤其重要,一個設備能處理的包交叉容量是其重要性能指標。不同LANE之間的包交叉是指,例如有3個輸入通道LANE的數據包流,要求輸入LANE1的數據包流從端口3輸出,輸入LANE2的數據包流從端口2輸出,輸入LANE3的數據包流從端口1輸出,此即實現了包的逆序交叉。FPGA做為大規模可編程邏輯器件在網絡產品中扮演著重要角色,而包交叉在FPGA中通常的實現方式是,通過并行選擇的方法實現,仍以上述3個輸入通道LANE為例進行說明,從端口1輸出的包根據配置需求從3個輸入LANE的包中進行選擇,同樣的,從端口2和端口3輸出的包也根據配置需求并行的從3個輸入LANE的包中進行選擇,通過這樣的邏輯選擇方式實現包交叉。這種實現方式最直觀,在交叉容量即輸入通道LANE數目較小時是非常適用的,因為方法簡單且消耗邏輯資源不多。但當交叉容量很大,例如對88路10GE以太包進行880g x 880g容量的交叉時,若還采用并行選擇的方法會消耗大量的邏輯資源,以VU095的FPGA做為驗證平臺,并將10GE的以太包按32bit的數據位寬進行處理,實際測試驗證發現邏輯資源LUT消耗達到近8萬個,消耗掉整個FPGA邏輯資源的16%,如此大的邏輯資源消耗量會給整個工程設計帶來很大的資源與時序壓力。
發明內容
鑒于上述技術存在的問題,本發明提供一種基于FPGA實現包交叉的方法。本發明的目的就是要解決上述技術中存在的消耗邏輯資源多、時序難以收斂的問題。
本發明采取的技術方案是:一種基于FPGA實現包交叉的方法,該方法基于FPGA的硬件平臺上實現,步驟如下:
(1)方法將包認為是數據字流,數據字元素包含valid,last,rem,data,valid為當前流的數據字是否有效、last為數據字是否為包尾、rem為數據字有效的字節數、data為數據字值,若數據字流中沒有包出現,則數據字的valid為0、其余元素不關心,這樣不同LANE之間包交叉的問題即可等效為數據字流的交叉問題;
(2)在實現不同LANE之間數據字流的交叉時,采用調序與RAM存儲相結合的方法實現,具體步驟如下:
第一步:調序,定義運算符為循環左移,例如{3,2,1}2的結果為{1,3,2};假設LANE的數目為n,即有n條流的包需要交叉,定義循環周期計數器cnt,計數周期從n-1遞減到0,調序是將不同LANE之間的數據字在不同cnt取值時進行有規律的排序,具體為,假設從上到下各LANE的序號為1到n,相應的數據字表示為D1、D2、...、Dn,那么調序可表示為{Dn,...,D2,D1}cnt,以LANE數目n=3為例進行說明,則在cnt值為2時調序結果為{D1,D3,D2},在cnt值為1時調序結果為{D2,D1,D3},在cnt值為0時調序結果為{D3,D2,D1};
第二步:交叉,乒乓RAM是指將RAM空間分為相等的兩份,在對一份進行寫操作的同時對另一份進行讀,這里給每一個LANE的數據字流分配一個RAM,RAM的深度即空間大小為2n,訪問RAM的地址為0到2n-1,并將各LANE對應的RAM標號為RAM1、RAM2、...、RAMn;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津光電通信技術有限公司,未經天津光電通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110505808.5/2.html,轉載請聲明來源鉆瓜專利網。





