【技术实现步骤摘要】
一种更新复杂度为O(1)的TCAM实现方法及系统
[0001]本专利技术涉及最长前缀匹配
,更具体的说是涉及一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法及系统。
技术介绍
[0002]在高速通信领域中的最长前缀匹配应用需要能够快速进行不定长的查找,所以其实现方式一般基于硬件进行,其中CAM凭借其内容存取的优势可以实现快速查找,但是由于CAM只能存储“0”和“1”两种状态,所以采用CAM来实现最长前缀匹配应用需要多块CAM,造成系统面积和功耗较大。于是在CAM的基础上三态内容寻址存储器TCAM被提出,TCAM除了可以存储“0”,“1”以外还可以存储“x”状态,即通过掩码来实现“don
’
t care”状态,“x”状态下对任意输入都会产生匹配信号,使得其不仅可以进行CAM的精确查找,还可以进行任意长度的不定长查找。
[0003]目前TCAM大部分是基于芯片来进行使用,其灵活性较差。随着目前通过FPGA来实现的网络设备和应用逐渐增多,需要TCAM能够在FPGA进行实现。同时TCAM的快 ...
【技术保护点】
【技术特征摘要】
1.一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,其特征在于,具体步骤如下:更新操作:确定待插入指令,并将所述待插入指令的掩码信息存储到与插入地址对应的掩码地址上;查找操作:获取待查找条目;将待查找条目信息和掩码信息进行与运算的输出结果与更新后存储的条目信息经比较器进行比较,产生匹配向量;所述匹配向量与所述掩码信息相与得到不同前缀长度匹配项,筛选最长前缀对应的所述匹配项,并将地址作为输出。2.根据权利要求1所述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,其特征在于,待查找条目信息和掩码信息进行与运算具体步骤如下:获得不同地址的掩码信息,分别与待查找条目作为与门阵列的输入,产生与掩码数量相同个数的与门输出。3.根据权利要求1所述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,其特征在于,产生匹配向量的具体步骤如下:读取匹配信息,通过将更新后存储的条目与与门阵列的输出作为比较器的输入,比较器输出数据中为1的位就是原TCAM地址中数据匹配,为0的位就是原TCAM地址数据不匹配,得到匹配向量。4.根据权利要求2所述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,其特征在于,得到不同前缀长度匹配项的具体步骤如下:根据条目信息和掩码信息进行与运算结果,得到每个地址对应每种前缀长度是否存在匹配,再判断是否每种前缀长度在每个地址是否存在匹配项,即可得到。5.一种适用于FPGA的更新复杂度为O(1)的TCAM实现系统,其特征在于,包括:TCAM模块、掩码模块...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。