[发明专利]一种基于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.vipzhuanli.com/pat/books/202110505808.5/2.html,转载请声明来源钻瓜专利网。