[發明專利]一種基于FPGA實現包交叉的方法在審
| 申請號: | 202110505808.5 | 申請日: | 2021-05-10 |
| 公開(公告)號: | CN113194047A | 公開(公告)日: | 2021-07-30 |
| 發明(設計)人: | 陳暉;王東鋒;宛文順;石艷梅 | 申請(專利權)人: | 天津光電通信技術有限公司 |
| 主分類號: | H04L12/863 | 分類號: | H04L12/863 |
| 代理公司: | 天津中環專利商標代理有限公司 12105 | 代理人: | 李美英 |
| 地址: | 300211*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 實現 交叉 方法 | ||
1.一種基于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;
交叉首先通過乒乓存儲的方式將第一步調序后的結果以對齊的方式存入RAM,具體為,第一步調序后LANE標號為1的數據字流寫RAM1的起始地址為n,此后其地址不斷加1,并當地址值增大到2n-1時歸0,從而將標號為1的LANE流數據字寫入RAM1;同樣的,調序后LANE標號為2的數據字流寫RAM2的起始地址為n-1,此后其地址不斷加1,并當地址值增大到2n-1時歸0,從而將標號為2的LANE流數據字寫入RAM2;如此類推,調序后LANE標號為n的數據字流寫RAMn的起始地址為1,此后其地址不斷加1,并當地址值增大到2n-1時歸0,從而將標號為n的LANE流數據字寫入RAMn;需要強調的是,上述各LANE數據字流寫入各自RAM是并行同時寫入的;需要說明的是,上述寫各自RAM的地址方式其目的是為了對齊,對齊是說將調序后屬于同一LANE的數據字在不同RAM相同地址存儲,這是一種時間與空間變換的思想,另外,通過這樣的地址存儲可以看出,乒乓RAM的寫操作是先寫高地址的RAM區間再寫低地址的RAM區間;
交叉實現的途徑是按需求順序通過乒乓讀取的方式從各自RAM中讀出各LANE數據字,假設需求順序為C1、C2、...、Cn,各C值取值為0到n-1中的一個,那么RAM1的讀取地址為,C1+n、C2+n、...、Cn+n、C1、C2、...、Cn,讀地址順序如此反復循環;對于RAM2的讀地址是將RAM1的讀地址打1拍,而RAM3的讀地址是將RAM1的讀地址打2拍,...,RAMn的讀地址是將RAM1的讀地址打n-1拍;需要強調的是,上述各LANE數據字流是從各自RAM中并行同時讀取的,從讀取地址順序可以看出,讀取是乒乓的,即在寫RAM低地址區間時對高地址區間進行讀取,而在寫RAM高地址區間時對低地址區間進行讀取;需要說明的是,按需求順序從RAM中讀出數據字,此即對數據字流的一種重排,亦即實現了交叉,此外,與寫RAM的對齊方式相對,不同LANE對應的RAM讀取地址依次打拍是為了將屬于同一LANE的數據字在時間軸上依次搓開以便后續調序,這里再一次體現了空間與時間變換的思想;
對交叉思想的總結是,先通過時間到空間的變換將數據字寫入RAM,然后再從RAM中根據需求順序讀出,讀出時完成從空間到時間的變換;
第三步:調序,對第二步中從RAM中讀出的各LANE數據字按第一步中的調序方式進行調序,從而最終完成不同LANE之間的包交叉。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津光電通信技術有限公司,未經天津光電通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110505808.5/1.html,轉載請聲明來源鉆瓜專利網。





