一种基于FPGA的CAM结构制造技术

技术编号:15554354 阅读:202 留言:0更新日期:2017-06-08 11:57
本实用新型专利技术提供一种基于FPGA的CAM结构,包括一个用于存储比较数据信息的寄存器模块组;一个用于判断寄存器模块组中是否有待比较数据的比较器模块组,比较器模块组中的比较器模块与寄存器模块组的寄存器模块一一对应并相连,待比较数据由比较器模块组的输入端口进行输入;还包括一个将比较数据写入寄存器模块组的写入模块;一个用于选择寄存器模块组查找范围的选择模块;两个MUX模块,写入模块通过其中一个MUX模块将比较数据的信息写入寄存器模块中进行存储,比较器模块组中的比较器模块通过另一个MUX模块输出与待比较数据相匹配的寄存器模块在寄存器模块组的地址信号。本实用新型专利技术可以并行比较输入数据与寄存器组所有数据,提高查找效率。

A CAM architecture based on FPGA

The utility model provides a CAM structure based on FPGA, including a register for storage of data comparison module; a comparator module is used to judge whether to group the data register module, a comparator module comparator module group and register modules corresponding to the register module and connected to compare the data from the input port comparator module group input; also includes a comparison data register module group write write module; a selecting module used for selecting register module group search range; two MUX module, write module through one MUX module compares the data information into the storage register module. The comparator module comparator module in the group, through another MUX module output and to compare data of the module in the register The address signal of the register module group. The utility model can compare the input data and all the data of the register set in parallel, thereby improving the searching efficiency.

【技术实现步骤摘要】
一种基于FPGA的CAM结构
本技术涉及数据通信
,具体地说是一种基于FPGA的CAM结构。
技术介绍
随着通信技术的快速发展,网络中数据包的传输速度越来越高,例如在交换机领域中,如果采用传统的软件方式进行路由或者MAC表查询,速度比较慢,无法保证数据的及时传输。CAM芯片具有并行查找的优势,查询的时间与CAM内包含的数据多少无关,使得CAM在网络中得到广泛的应用。但是在一些中小的项目中,尤其是在FPGA的项目中,如果采用外置的CAM芯片,首先CAM芯片的利用率不会很高,其次增加了成本。
技术实现思路
本技术的技术任务是解决现有技术的不足,提供一种基于FPGA的CAM结构。本技术解决其技术问题所采用的技术方案是:一种基于FPGA的CAM结构,包括一个用于存储比较数据信息的寄存器模块组,所述寄存器模块组包括至少两个寄存器模块;一个用于判断寄存器模块组中是否有待比较数据的比较器模块组,比较器模块组具有输入端口,比较器模块组至少两个比较器模块,比较器模块组中的比较器模块与寄存器模块组的寄存器模块一一对应并相连,待比较数据由比较器模块组的输入端口进行输入;还包括一个将比较数据写入寄存器模块组的写入模块;一个用于选择寄存器模块组查找范围的选择模块,选择模块连接于比较器模块组,通过配置选择模块的输入并行比较寄存器模块组中的寄存器模块,比较器模块组中的比较器模块输出与待比较数据相匹配的寄存器模块信息;两个MUX模块,写入模块通过其中一个MUX模块将比较数据的信息写入寄存器模块中进行存储,比较器模块组中的比较器模块通过另一个MUX模块输出与待比较数据相匹配的寄存器模块在寄存器模块组的地址信号。具体的,写入模块包括写使能、写地址端口和写数据端口。具体的,寄存器模块组中包含偶数个寄存器模块,比较器模块组中也相应的包含偶数个比较器模块,通过配置选择模块的输入,将与比较器模块一一相连的寄存器模块均分成至少两部分,以并行比较同一部分的寄存器模块。优选,寄存器模块组包括四个寄存器模块,相应的,比较器模块组包括四个比较器模块,通过配置选择模块的输入将与比较器模块一一相连的寄存器模块均分成两部分,每部分包括两个寄存器模块,以并行比较同一部分的两个寄存器模块。本技术的一种基于FPGA的CAM结构与现有技术相比所产生的有益效果是:本技术设计合理,结构简单,可以并行比较输入数据与寄存器组所有数据,而与寄存器组的大小无关,提高了查找效率。附图说明附图1是本技术的结构原理图。图中各标号表示:10、寄存器模块组,20、比较器模块组,30、写入模块,40、选择模块,50、第一MUX模块,60、第二MUX模块。具体实施方式下面结合附图1,以一个4x4的CAM结构图为例,对本技术的一种基于FPGA的CAM结构作以下详细说明。如附图1所示,本技术的一种基于FPGA的CAM结构,其结构包括一个用于存储比较数据信息的寄存器模块组10,所述寄存器模块组10包括至少两个寄存器模块;一个用于判断寄存器模块组10中是否有待比较数据的比较器模块组20,比较器模块组20具有输入端口,比较器模块组20至少两个比较器模块,比较器模块组20中的比较器模块与寄存器模块组10的寄存器模块一一对应并相连,待比较数据由比较器模块组20的输入端口进行输入。所述CAM结构还包括一个将比较数据写入寄存器模块组10的写入模块30;一个用于选择寄存器模块组10查找范围的选择模块40,所述选择模块40连接于比较器模块组20,通过配置选择模块40的输入并行比较寄存器模块组10中的寄存器模块,比较器模块组20中的比较器模块输出与待比较数据相匹配的寄存器模块信息;第一MUX模块50和第二MUX模块60,写入模块30通过第一MUX模块50将比较数据的信息写入寄存器模块中进行存储,比较器模块组20中的比较器模块通过第二MUX模块输出与待比较数据相匹配的寄存器模块在寄存器模块组10的地址信号。写入模块30包括写使能、写地址端口和写数据端口。寄存器模块组10包括四个寄存器模块,分别称为寄存器模块1、寄存器模块2、寄存器模块3、寄存器模块4;相应的,比较器模块组20包括四个比较器模块,分别比较器模块1、比较器模块2、比较器模块3、比较器模块4,通过配置选择模块40的输入,将寄存器模块组10中的四个寄存器模块均分成两部分,即寄存器模块1和寄存器模块2为一部分,寄存器模块3和寄存器模块4为一部分,以并行比较寄存器模块1和寄存器模块2,或者寄存器模块3和寄存器模块4。本技术工作过程:1)向CAM中写比较数据。首先通过写入模块30的写地址端口和写数据端口输入wr_addr及wr_data,同时,第一MUX模块50根据wr_addr向指定的寄存器模块写入wr_data。此过程为CAM内容写入。2)指定并行比较的寄存器模块数目。当选择模块40中sel信号为1时,使能比较器模块1和比较器模块2,而比较器模块3和比较器模块4不工作,此时待比较数据在寄存器模块1和寄存器模块2中并行查找。反之,当sel信号为0时,待比较数据在寄存器模块3和寄存器模块4中并行查找。在寄存器模块数目多时,选择查找范围可以降低结构功耗。3)输出match信号。当比较器模块中任意一个的输出结果为1时,match信号就为1,表示在CAM结构中找到一个匹配的数据。4)输出match_addr信号。第二MUX模块60根据每个比较器模块的输出可以判定是哪一个寄存器模块的数值与待比较数据相等,从而得到输出地址。最后需要说明的是,以上内容仅用以说明本技术的技术方案,而非对本技术保护范围的限制,尽管该具体实施方式部分对本技术作了详细地说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或者等同替换,而不脱离本技术技术方案的实质和范围。本文档来自技高网...
一种基于FPGA的CAM结构

【技术保护点】
一种基于FPGA的CAM结构,其特征在于,包括一个用于存储比较数据信息的寄存器模块组,所述寄存器模块组包括至少两个寄存器模块;一个用于判断寄存器模块组中是否有待比较数据的比较器模块组,所述比较器模块组具有输入端口,比较器模块组至少两个比较器模块,比较器模块组中的比较器模块与寄存器模块组的寄存器模块一一对应并相连,所述待比较数据由比较器模块组的输入端口进行输入;还包括一个将比较数据写入寄存器模块组的写入模块;一个用于选择寄存器模块组查找范围的选择模块,所述选择模块连接于比较器模块组,通过配置选择模块的输入并行比较寄存器模块组中的寄存器模块,比较器模块组中的比较器模块输出与待比较数据相匹配的寄存器模块信息;两个MUX模块,写入模块通过其中一个MUX 模块将比较数据的信息写入寄存器模块中进行存储,比较器模块组中的比较器模块通过另一个MUX 模块输出与待比较数据相匹配的寄存器模块在寄存器模块组的地址信号。

【技术特征摘要】
1.一种基于FPGA的CAM结构,其特征在于,包括一个用于存储比较数据信息的寄存器模块组,所述寄存器模块组包括至少两个寄存器模块;一个用于判断寄存器模块组中是否有待比较数据的比较器模块组,所述比较器模块组具有输入端口,比较器模块组至少两个比较器模块,比较器模块组中的比较器模块与寄存器模块组的寄存器模块一一对应并相连,所述待比较数据由比较器模块组的输入端口进行输入;还包括一个将比较数据写入寄存器模块组的写入模块;一个用于选择寄存器模块组查找范围的选择模块,所述选择模块连接于比较器模块组,通过配置选择模块的输入并行比较寄存器模块组中的寄存器模块,比较器模块组中的比较器模块输出与待比较数据相匹配的寄存器模块信息;两个MUX模块,写入模块通过其中一个MUX模块将比较数据的信息写入寄存器模块中进行存储,比较器模块组中的比较器模...

【专利技术属性】
技术研发人员:尹超赵鑫鑫李朋
申请(专利权)人:浪潮集团有限公司
类型:新型
国别省市:山东,37

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

1