一种TCAM查找方法及装置制造方法及图纸

技术编号:18458884 阅读:146 留言:0更新日期:2018-07-18 12:44
本发明专利技术揭示了一种TCAM查找方法及装置,方法包括将TCAM中每一个表项数据均分割成N个第一数据片段;将待查找数据分割成N个第二数据片段,且N个第二数据片段的数据位宽与N个第一数据片段的数据位宽一一对应;N个第二数据片段与TCAM中第一个表项的N个第一数据片段一一进行匹配,若当前第二数据片段与第一数据片段不匹配,则以后的第二数据片段停止匹配并进行下一个表项数据片段的匹配。本发明专利技术能够提高TCAM查找效率,适用于数据位宽较大、表项数量较多的TCAM的验证。

A TCAM lookup method and device

The invention discloses a TCAM lookup method and device. The method includes dividing each table item data in the TCAM into N first data fragments, dividing the search data into N second data fragments, and the data bits of the N second data fragments correspond to the number of data bits of the first data fragment of the first N; N second data slices. The segment matches one of the N first data fragments of the first table item in TCAM, if the current second data fragment does not match the first data fragment, then the subsequent second data fragments are stopped to match and match the next item data fragment. The invention can improve the efficiency of TCAM lookup, and is suitable for the verification of TCAM with large data bits and large number of items.

【技术实现步骤摘要】
一种TCAM查找方法及装置
本专利技术涉及一种集成电路设计
,尤其是涉及一种提高TCAM验证效率的TCAM查找方法及装置。
技术介绍
TCAM(Ternarycontentaddressablememory,三态内容寻址存储器),能够满足高速实时通信的极速查找需求,查找速度快,每个周期即可完成一次查找,常用于快速查找ACL、路由等表项。在集成电路设计过程中,对于高速实时通信的应用要求,通常选择TCAM查找技术。若TCAM查找模块出现缺陷会导致查找结果错误,从而影响芯片的功能,因此,对带有TCAM模块的芯片进行验证非常重要。现有的TCAM验证技术中,常使用真值表直接对TCAM中每个表项中的每个比特位进行查找。随着集成电路的快速发展,TCAM的查找数据位宽越来越大,表项数量越来越多,采用上述方式验证时消耗大量的时间成本,验证效率低,因此该验证方式不适用于数据位宽较大、表项数据量较多的TCAM模块。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种查找效率高、适用于验证数据位宽较大、表项数量较多的TCAM模块的TCAM查找方法及装置。为实现上述目的,本专利技术提出如下技术方案:一种TCAM查找方法,包括如下步骤:S1,将TCAM中每一个表项数据均分割成N个第一数据片段;S2,将待查找数据分割成N个第二数据片段:Slice(0)~Slice(n-1),且N个第二数据片段的数据位宽与N个第一数据片段的数据位宽一一对应;S3,将N个第二数据片段与TCAM中第一个表项的N个第一数据片段按照Slice(0)~Slice(n-1)的顺序一一进行匹配,若第m个第二数据片段与第一数据片段不匹配,则Slice(m)~Slice(n-1)的数据片段停止匹配并进行下一个表项中数据片段的匹配。优选地,每个第一数据片段的数据位宽均相同。优选地,在步骤S3中,还通过设置标志位用于标识的查找表项中第m个第二数据片段与第一数据片段是否匹配。优选地,所述查找的表项中第m+1个第二数据片段与第一数据片段匹配之前先查看标志位的值。优选地,所述标志位的值为0时,表示查找的表项中第m个第二数据片段与第一数据片段匹配,为1时,表示表示查找的表项中第m个第二数据片段与第一数据片段不匹配。一种TCAM查找装置,包括第一数据分段模块,用于将TCAM中每一个表项数据均分割成N个第一数据片段;第二数据分段模块,用于将待查找数据分割成N个第二数据片段:Slice(0)~Slice(n-1),且N个第二数据片段的数据位宽与N个第一数据片段的数据位宽一一对应;以及数据匹配模块,用于将N个第二数据片段与TCAM中第一个表项的N个第一数据片段按照Slice(0)~Slice(n-1)的顺序一一进行匹配,若第m个第二数据片段与第一数据片段不匹配,则Slice(m)~Slice(n-1)的数据片段停止匹配并进行下一个表项中数据片段的匹配。优选地,每个第一数据片段的数据位宽均相同。优选地,所述数据匹配模块还通过设置标志位用于标识查找的表项中第m个第二数据片段与第一数据片段是否匹配。优选地,所述查找的表项中第m+1个第二数据片段与第一数据片段匹配之前先查看标志位的值。优选地,所述标志位的值为0时,表示查找的表项中第m个第二数据片段与第一数据片段匹配,为1时,表示查找的表项中第m个第二数据片段与第一数据片段不匹配。本专利技术的有益效果是:与现有技术相比,本专利技术所述的TCAM查找方法及装置,通过将TCAM表项数据分割成N个第一数据片段,将待查找数据分割成N个第二数据片段:Slice(0)~Slice(n-1),并按照Slice(0)~Slice(n-1)的顺序与TCAM中第一个表项的N个第一数据片段进行匹配,若第m个第二数据片段与第一数据片段不匹配,则Slice(m)~Slice(n-1)的数据片段停止匹配并进行下一个表项中数据片段的匹配,减少了匹配的次数,进而提高了TCAM的查找效率。附图说明图1是本专利技术的方法流程图示意图;图2是本专利技术的TCAM表项数据分段示意图;图3是本专利技术的结构框图示意图。具体实施方式下面将结合本专利技术的附图,对本专利技术实施例的技术方案进行清楚、完整的描述。本专利技术所揭示的一种TCAM(TernaryContentAddressableMemory,三态内容寻址存储器)查找方法,能够提高TCAM查找效率,尤其适用于数据位宽较大、表项数量较多的TCAM的验证。如图1所示,一种TCAM(TernaryContentAddressableMemory,三态内容寻址存储器)查找方法,包括如下步骤:S1,将TCAM中每一个表项数据均分割成N个第一数据片段。具体的,TCAM常用于查找ACL(AccessControlList,访问控制列表)、路由表项等,其包括若干个表项,每个表项中存储了一定数据位宽的数据。进一步地,为了实现TCAM快速查找,首先将每个表项数据分割成N个第一数据片段。优选地,每个第一数据片段的数据位宽均相同,实施时,以每个第一数据片段的数据位宽是8位最佳。当然,每个第一数据片段的数据位宽也可以不同。S2,将待查找数据分割成N个第二数据片段:Slice(0)~Slice(n-1),且N个第二数据片段的数据位宽与N个第一数据片段的数据位宽一一对应。具体的,TCAM在进行查找时,待查找数据的数据位宽与TCAM中表项中的数据位宽相同。因此,将待查找数据同样分割成N个第二数据片段,并使N个第一数据片段与N个第二数据片段的数据位宽一一对应,N个第二数据片段记为Slice(0)~Slice(n-1),其中,Slice(0)表示第一个第二数据片段,依次类推,Slice(n-1)表示第n个第二数据片段。如图2所示,本实施例中以包含256个表项,每个表项的数据位宽为320位的TCAM为例对如何进行数据分段进行详细的说明:首先,将TCAM中每个表项中的数据分割成40个第一数据片段,其中,第一个第一数据片段的数据位宽为4位,第二个第一数据片段的数据位宽为4位,第三个第一数据片段的数据位宽为8位,第四个第一数据片段的数据位宽为16位,从第五个第一数据片段至第四十个第一数据片段的数据位宽均为8位。其次,待查找数据的数据位宽同样为320位,将其分成40个第二数据片段,并且40个第二数据片段需要与40个第一数据片段的数据位宽一一对应,因此,在40个第二数据片段中,第一个第二数据片段的数据位宽为4位,第二个第二数据片段的数据位宽为4位,第三个第二数据片段的数据位宽为8为,第四个第二数据片段的数据位宽为16位,从第五个第二数据片段至第四十个第二数据片段的数据位宽均为8位。当然,也可以对待查找数据和表项数据进行均分,如每个第一数据片段和第二数据片段的数据位宽均为8位。S3,将N个第二数据片段与TCAM中第一个表项的N个第一数据片段按照Slice(0)~Slice(n-1)的顺序一一进行匹配,若第m个第二数据片段与第一数据片段不匹配,则Slice(m)~Slice(n-1)的数据片段停止匹配并进行下一个表项中数据片段的匹配,其中,0≤m≤n-1,m、n为自然数。具体的,在数据匹配过程中,按照Slice(0)~Slice(n-1)的顺序以数据片段为单位进行一一匹配,即第一个第二数据片段与本文档来自技高网...

【技术保护点】
1.一种TCAM查找方法,其特征在于,包括如下步骤:S1,将TCAM中每一个表项数据均分割成N个第一数据片段;S2,将待查找数据分割成N个第二数据片段:Slice(0)~Slice(n‑1),且N个第二数据片段的数据位宽与N个第一数据片段的数据位宽一一对应;S3,将N个第二数据片段与TCAM中第一个表项的N个第一数据片段按照Slice(0)~Slice(n‑1)的顺序一一进行匹配,若第m个第二数据片段与第一数据片段不匹配,则Slice(m)~Slice(n‑1)的数据片段停止匹配并进行下一个表项中数据片段的匹配,其中,0≤m≤n‑1,m、n为自然数。

【技术特征摘要】
1.一种TCAM查找方法,其特征在于,包括如下步骤:S1,将TCAM中每一个表项数据均分割成N个第一数据片段;S2,将待查找数据分割成N个第二数据片段:Slice(0)~Slice(n-1),且N个第二数据片段的数据位宽与N个第一数据片段的数据位宽一一对应;S3,将N个第二数据片段与TCAM中第一个表项的N个第一数据片段按照Slice(0)~Slice(n-1)的顺序一一进行匹配,若第m个第二数据片段与第一数据片段不匹配,则Slice(m)~Slice(n-1)的数据片段停止匹配并进行下一个表项中数据片段的匹配,其中,0≤m≤n-1,m、n为自然数。2.根据权利要求1所述的方法,其特征在于,每个第一数据片段的数据位宽均相同。3.根据权利要求1所述的方法,其特征在于,在步骤S3中,还通过设置标志位用于标识查找的表项中第m个第二数据片段与第一数据片段是否匹配。4.根据权利要求3所述的方法,其特征在于,所述查找的表项中第m+1个第二数据片段与第一数据片段匹配之前先查看标志位的值。5.根据权利要求4所述的方法,其特征在于,所述标志位的值为0时,表示查找的表项中第m个第二数据片段与第一数据片段匹配,为1时,表示查找的表项中第m个第二数据片段与第一数据片段不匹配。6...

【专利技术属性】
技术研发人员:王晶许俊夏杰
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏,32

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

1