从multi-lane serdes中提取TCAM命令响应的方法技术

技术编号:23445861 阅读:79 留言:0更新日期:2020-02-28 20:02
本发明专利技术涉及一种从multi‑lane serdes中提取TCAM命令响应的方法。该方法首先对TCAM返回的命令响应打标号,打标号的原则是以命令响应的头为边界递增,递增的上限即为提取TCAM命令响应的计算单元个数;接下来每个计算单元并行的处理各自对应标号的命令响应,处理的结果格式是统一的;最后将各个计算单元的处理结果按标号顺序依次输出,从而实现单个时钟周期只接收一个TCAM命令响应,且命令响应格式统一。采用本发明专利技术提供的方法可很好的解决TCAM返回的命令响应乱序的问题,为基于TCAM实现的搜索匹配技术提供有益参考。

Extraction of TCAM command response from multi Lane SerDes

【技术实现步骤摘要】
从multi-laneserdes中提取TCAM命令响应的方法
本专利技术涉及数据搜索匹配领域,尤其涉及一种从multi-laneserdes中提取TCAM命令响应的方法,用于将TCAM返回的乱序命令响应格式转换为易处理的统一命令响应格式。
技术介绍
在数据搜索匹配时,通过将接收的数据与已知的数据库规则进行比对,来达到匹配筛选的目的。由于TCAM芯片具有查找速度快、可对数据库规则掩码的优点,而广泛应用于数据搜索匹配
多数的TCAM芯片为了提高与主控芯片间的交互速度,采用multi-laneserdes的方式进行数据传输,即通过多通道串行传输技术来增加传输带宽。这带来的一个问题就是,TCAM在返回命令响应时,在multi-laneserdes中传输的命令响应数据的顺序是不确定的,即命令响应的数据头不一定出现在哪根lane中。此外,为了增大传输带宽,在同一时钟周期可能出现多个命令响应,也可能同一个命令响应分两个时钟周期传输。这种TCAM命令响应的随机性使得接收的主控芯片处理起来非常麻烦,而所希望返回的命令响应是一个时钟周期只返回一个响应,且命令响应的格式固定,即命令响应的数据头固定在第0个lane出现。为了实现所希望返回的命令响应格式,在处理上采用的策略直接影响着处理复杂度,一种可能的实现方式是将各种可能的情况全部罗列出,比如一个时钟周期出现多少个数据头,每个数据头在multi-lane的哪根lane上,然后对各种情况进行命令提取。这种实现方式是最直接的,但弊端也是显而易见的,如果multi-laneserdes的lane数目变得很多,比如从4根lane变为12根lane,那么这种处理方式要判断的情况非常多,处理起来会非常复杂。
技术实现思路
鉴于上述技术存在的问题,本专利技术提供一种从multi-laneserdes中提取TCAM命令响应的方法,本专利技术的目的就是要解决上述技术中存在的提取TCAM命令响应非常复杂的问题。本专利技术采取的技术方案是:一种从multi-laneserdes中提取TCAM命令响应的方法,该方法在基于FPGA的硬件平台上实现,其特征在于,步骤如下:首先对TCAM返回的命令响应,用B-D-I-G来表示,B表示命令响应的头,D表示命令响应的数据,I表示命令响应的尾,G表示命令响应之间的间隔;首先对TCAM返回的命令响应打标号,打标号的原则是以命令响应的头为边界递增,递增的上限即为提取TCAM命令响应的计算单元个数,此处假设multi-laneserdes的数量为4,即一个时钟周期接收4个数据,并假设有4个计算单元参与处理,此处以TCAM返回的命令响应为(B-D-I-G)-(G-G-B-D)-(I-B-D-I)-(G-G-G-B)-(D-I-G-G)进行举例说明,每一个括号中的4个数据对应4路multi-laneserdes的输出,打标号的方式即为(B0-D0-I0-G0)-(G0-G0-B1-D1)-(I1-B2-D2-I2)-(G2-G2-G2-B3)-(D3-I3-G3-G3),也就是以B为边界递增,在B与B之间的标号值不变;接下来每个计算单元并行的处理各自对应标号的命令响应,处理的结果格式是统一的,具体为,(B0-D0-I0-0)做为计算单元C0的输入,(0-0-B1-D1)-(I1-0-0-0)做为计算单元C1的输入,(0-B2-D2-I2)做为计算单元C2的输入,(0-0-0-B3)-(D3-I3-0-0)做为计算单元C3的输入,每一个计算单元的输入只包含有效的B-D-I与对应各自标号的数据,其余标号的数据或G用0填充,每个计算单元并行的对各自输入进行处理,处理的方式即判断B在multi-laneserdes中出现的位置,最终给出统一的处理结果,以B-D-I-0的方式呈现;最后将各个计算单元的处理结果按标号顺序依次输出,从而实现单个时钟周期只接收一个TCAM命令响应,且命令响应格式统一,即将上述所举示例(B-D-I-G)-(G-G-B-D)-(I-B-D-I)-(G-G-G-B)-(D-I-G-G)的TCAM命令响应处理为(B-D-I-0)-(0-0-0-0)-(B-D-I-0)-(B-D-I-0)-(B-D-I-0)的响应格式,其中(0-0-0-0)表示当前时钟周期没有命令响应。本专利技术所产生的有益效果是:极大的简化了处理TCAM返回命令响应的复杂度,在使用TCAM作为实现搜索匹配的方案时,可采用本方法处理TCAM命令响应乱序的问题,通过本专利技术提供的方法可很好的接收TCAM返回的命令响应,在数据搜索匹配领域有广泛的应用价值。附图说明图1为本专利技术TCAM命令响应的格式示例;图2为本专利技术提取TCAM命令响应的并行机制;图3为本专利技术整合TCAM命令响应的示意图。具体实施方式以下结合附图对本专利技术做进一步说明:图1示意了TCAM命令响应的格式,此处以serdeslane的数量为4加以说明。图中lane0-lane3表示相应的每一路serdes,clk0时收到TCAM返回的数据为(B-D-I-G),clk1时收到TCAM返回的数据为(G-G-B-D),clk2时收到TCAM返回的数据为(I-B-D-I),clk3时收到TCAM返回的数据为(G-G-G-B),clk4时收到TCAM返回的数据为(D-I-G-G)。从该格式示例可以看出,TCAM返回的命令响应在multi-laneserdes中的排布是乱序的,即命令响应的头B不一定出现在哪根lane中,且有可能属于同一条命令响应的数据分两个时钟周期传输。该示例中TCAM返回的命令响应一共为4个,期望的结果是每一个时钟周期只返回一个命令响应,且命令响应均按照(B-D-I-0)的格式输出,这样后续处理才会非常方便。为达到该目的,本专利技术采用先多计算单元并行处理,再将各计算单元处理结果顺序输出的方法实现。图2示意了提取TCAM命令响应的并行机制。首先对TCAM返回的命令响应打标号,打标号的原则是以命令响应的头为边界递增,递增的上限即为提取TCAM命令响应的计算单元个数。按此规则打标号后的结果为,clk0时的数据变为(B0-D0-I0-G0),clk1时的数据变为(G0-G0-B1-D1),clk2时的数据变为(I1-B2-D2-I2),clk3时的数据变为(G2-G2-G2-B3),clk4时的数据变为(D3-I3-G3-G3)。接下来每个计算单元并行的处理各自对应标号的命令响应,每一个计算单元的输入只包含有效的B-D-I与对应各自标号的数据,其余标号的数据或G用0填充。对照图2即为,计算单元C0接收clk0时的数据为(B-D-I-0),计算单元C1接收clk1与clk2时的数据为(0-0-B-D)-(I-0-0-0),计算单元C2接收clk2时的数据为(0-B-D-I),计算单元C3接收clk3与clk4时的数据为(0-0-0-B)-(D-I-0-0)。每个计算单元对各自的输入进行统一处理,处理的方法即为判断数据头B出现在lane的位置,从而提取出命令本文档来自技高网
...

【技术保护点】
1. 一种从multi-lane serdes中提取TCAM命令响应的方法,该方法在基于FPGA的硬件平台上实现,其特征在于,步骤如下:/n首先对TCAM返回的命令响应,用B-D-I-G来表示,B表示命令响应的头,D表示命令响应的数据,I表示命令响应的尾,G表示命令响应之间的间隔;/n首先对TCAM返回的命令响应打标号,打标号的原则是以命令响应的头为边界递增,递增的上限即为提取TCAM命令响应的计算单元个数,此处假设multi-lane serdes的数量为4,即一个时钟周期接收4个数据,并假设有4个计算单元参与处理,此处以TCAM返回的命令响应为(B-D-I-G)-(G-G-B-D)-(I-B-D-I)-(G-G-G-B)-(D-I-G-G)进行举例说明,每一个括号中的4个数据对应4路multi-lane serdes的输出,打标号的方式即为(B0-D0-I0-G0)-(G0-G0-B1-D1)-(I1-B2-D2-I2)-(G2-G2-G2-B3)-(D3-I3-G3-G3),也就是以B为边界递增,在B与B之间的标号值不变;/n接下来每个计算单元并行的处理各自对应标号的命令响应,处理的结果格式是统一的,具体为,(B0-D0-I0-0)做为计算单元C0的输入,(0-0-B1-D1)-(I1-0-0-0)做为计算单元C1的输入,(0-B2-D2-I2)做为计算单元C2的输入,(0-0-0-B3)-(D3-I3-0-0)做为计算单元C3的输入,每一个计算单元的输入只包含有效的B-D-I与对应各自标号的数据,其余标号的数据或G用0填充,每个计算单元并行的对各自输入进行处理,处理的方式即判断B在multi-lane serdes中出现的位置,最终给出统一的处理结果,以B-D-I-0的方式呈现;/n最后将各个计算单元的处理结果按标号顺序依次输出,从而实现单个时钟周期只接收一个TCAM命令响应,且命令响应格式统一,即将上述所举示例(B-D-I-G)-(G-G-B-D)-(I-B-D-I)-(G-G-G-B)-(D-I-G-G)的TCAM命令响应处理为(B-D-I-0)-(0-0-0-0)-(B-D-I-0)-(B-D-I-0)-(B-D-I-0)的响应格式,其中(0-0-0-0)表示当前时钟周期没有命令响应。/n...

【技术特征摘要】
1.一种从multi-laneserdes中提取TCAM命令响应的方法,该方法在基于FPGA的硬件平台上实现,其特征在于,步骤如下:
首先对TCAM返回的命令响应,用B-D-I-G来表示,B表示命令响应的头,D表示命令响应的数据,I表示命令响应的尾,G表示命令响应之间的间隔;
首先对TCAM返回的命令响应打标号,打标号的原则是以命令响应的头为边界递增,递增的上限即为提取TCAM命令响应的计算单元个数,此处假设multi-laneserdes的数量为4,即一个时钟周期接收4个数据,并假设有4个计算单元参与处理,此处以TCAM返回的命令响应为(B-D-I-G)-(G-G-B-D)-(I-B-D-I)-(G-G-G-B)-(D-I-G-G)进行举例说明,每一个括号中的4个数据对应4路multi-laneserdes的输出,打标号的方式即为(B0-D0-I0-G0)-(G0-G0-B1-D1)-(I1-B2-D2-I2)-(G2-G2-G2-B3)-(D3-I3-G3-G3),也就是以B为边界递增,在B与B之间的标号值不变;
接下来每个计算单元...

【专利技术属性】
技术研发人员:陈伟峰王文博韩哲张晓峰
申请(专利权)人:天津光电通信技术有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1