一种采用fpga内嵌sram仿真tcam的电路设计装置的制作方法

文档序号:6591918阅读:368来源:国知局
专利名称:一种采用fpga内嵌sram仿真tcam的电路设计装置的制作方法
技术领域
本实用新型涉及一种使用可编程大型门阵列芯片FPGA(Fieldprogrammable gate array,以下简称FPGA)验证芯片的过程中,尤其涉及使用FPGA本身内嵌的SRAM实现三重 内容可编址存储器(Ternary ContentAddressable Memory,以下简称TCAM)的功能,来验证 芯片与外挂TCAM之间的通讯及应用的装置。
背景技术
现有技术在使用FPGA验证高端通信芯片时,会在验证PCB板上嵌入所能支持的 TCAM型号,如图1所示。通过综合ASIC的TCAM接口模块在不同的FPGA实现验证ASIC与 不同型号TCAM之间的连接及应用的验证。这样,就带来了以下几个问题1)对于每验证一个TCAM接口就需要重新对FPGA进行综合布线一次。降低了验证效率。2)对于ASIC支持的TCAM型号越多,所需要验证的外挂TCAM就越多。成本也就越大。3)当ASIC所支持的TCAM是厂商即将推出的新型号,或者刚刚发布的新型号,而验 证ASIC的时候还无法得到TCAM的正在芯片。而只有该型号的TCAM文档。那么这一型号 的TCAM将无法在FPGA的仿真测试中得到更充分的验证。因此,现有的技术还存在缺陷,而有待于改进和发展。

实用新型内容本实用新型的目的在于提供一种基于FPGA实现TCAM功能,用于ASIC的FPGA验 证,使通过仿真TCAM的方式,在一块FPGA中利用内嵌的SRAM,完成TCAM的查找行为的装置。为实现上述发明目的,本实用新型提出了一种采用FPGA内嵌SRAM仿真TCAM的电 路设计装置,其特征在于,该装置包括TCAM接口模块其包括有复数TCAM接口转换模块(TCAM0接口、TCAMl接口… TCAMN接口),多路选择器输入模块(MUXin)及多路选择器输出模块(MUXout);TCAM配置模块包括查找输入操作单元及查找输出单元;复数SRAM查找块(BlockO、BlockL··· BlockN)每一该SRAM查找块包括有选择器 模块(MUX),复数译码器模块(decode)以及复数SRAM子模块。其中,所述TCAM接口模块接收ASIC输出的TCAM指令,由所述各TCAM接口转换模 块根据其相应的指令协议将TCAM指令转换成需要查找的关键字(key)或者配置信号,并由 所述多路选择器输入模块根据所选择的TCAM型号选择出一组关键字或者配置信号送入所 述TCAM配置模块。所述TCAM接口模块还将从所述TCAM配置模块反馈回来的地址(index)及匹配 (hit)信息转换成各个型号的TCAM的标准输出,在所述多路选择器输出模块(MUXout)中选择一组送回给ASIC。所述TCAM配置模块用于将从所述TCAM接口模块传出的信息送入所述各SRAM查 找块中进行查找;并将查找结果地址(index)以及匹配(hit)信息送出给TCAM接口模块。所述复数SRAM查找块在SRAM子模块查找与关键字相匹配的数据(Data)及掩膜 (Mask)信息的寄存器,并通过所述多路选择器选择不同的译码器模块送回地址(index)以 及匹配(hit)信息至TCAM配置模块。所述SRAM查找块的每个SRAM子模块中有两个时钟,一个为ASIC的低频仿真时 钟,也为TCAM的指令输入输出同步时钟;另一个为SRAM中较高频率的时钟,较高频率的时 钟在一个仿真时钟周期内能将SRAM的地址范围内全部读一遍,将读出来的值与送进来的 关键字进行比较,并将比较结果存储于SRAM子模块的寄存器中。同时,本实用新型还提出了 一种与上述装置配套的,采用FPGA内嵌SRAM仿真TCAM 的电路 设计方法,其包括如下步骤1)选择需要使用的TCAM型号,并将ASIC输出的TCAM指令送入TCAM接口模块;2) TCAM接口模块中的各TCAM接口转换模块(TCAM0接口、TCAMl接口…TCAMN接 口)根据其相应的指令协议将TCAM指令转换成需要查找的关键字(key)或者配置信号,并 由一组多路选择器输入模块(MUXin)根据所选择的TCAM型号选择出一组关键字或者配置 信号送入TCAM配置模块;3) TCAM配置模块再将这组关键字及相应的信息送入各个SRAM查找块(BlockO、 Blockl…BlockN)的SRAM子模块中进行查找;4)每一 SRAM子模块中较高频率的时钟在一个仿真时钟内将SRAM的地址范围内全 部读一遍,将读出来的值与送进来的关键字进行比较,并将比较结果存储于SRAM子模块的 寄存器中;5)如果SRAM子模块中某一地址读出的数据(Data)及掩膜(Mask)信息进行计算 后与关键字相匹配,那么相应的比特位将被置成“ 1”,且这组寄存器的值会从SRAM子模块 中输出给译码器模块(Decode);6)译码器模块根据这个值,判断是否有某个地址与关键字匹配到,如有匹配送出 Hit信息,并将这组寄存器中对应有“1”的位置进行解析出来变成地址的值;7)各个SRAM查找块产生的地址(index)以及匹配(hit)信息传回TCAM配置模块 及TCAM接口模块,在TCAM接口模块里,各个TCAM接口转换模块会将送过来的地址(index) 以及匹配(hit)信息转换成各个型号的TCAM的标准输出,在多路选择器输出模块(MUXout) 中选择一组送回给ASIC。其中,所述步骤3)中的SRAM查找块的数量可根据FPGA的资源以及所需要验证的 TCAM的RAM的大小进行确定;在关键字送入SRAM查找块中后,SRAM查找块根据关键字的大 小,重新组合关键字,并送入各SRAM子模块中进行查找。所述SRAM查找块的每个SRAM子模块中有两个时钟,一个为ASIC的低频仿真时 钟,也为TCAM的指令输入同步时钟;另一个为SRAM中较高频率的时钟。所述步骤6)中如果寄存器中有多个地址被匹配到,即该寄存器中存在多个“1” 时,则以最低地址位作为匹配。多路选择器模块(MUX)根据进行查找关键字的大小选择不同的译码器模块输出。[0029]所述步骤7)中TCAM配置模块根据关键字的查找属性选择相应的SRAM查找块送回的地址(index)以及匹配(hit)信息,并将该地址(index)以及匹配(hit)信息送出给 TCAM接口模块。[0030]对于大型的网络ASIC芯片使用FPGA验证时,往往需要同时用到几块FPGA,并采用 降低频率的方式来对ASIC的功能及接口进行验证。而本实用新型通过仿真TCAM(eTCAM)的 方式,在一块FPGA中利用内嵌的SRAM,完成TCAM的查找行为,不仅简化了 ASIC的FPGA验 证,节约了成本,并使得在无法得到TCAM芯片时,对ASIC验证TCAM的接口提供了可行性。

图1为现有的带TCAM的FPGA验证的原理模块图;图2为本实用新型替代TCAM的FPGA验证的原理模块图;图3为本实用新型采用FPGA内嵌SRAM仿真TCAM的电路设计模块图。
具体实施方式
本实用新型所揭示的采用FPGA内嵌SRAM仿真TCAM的电路设计,是一种基于FPGA 实现TCAM功能,用于ASIC的FPGA验证检测。如图2所示,本实用新型采用eTCAM (emulation TCAM,即仿真TCAM)的方式,在一块FPGA中利用内嵌的SRAM,完成TCAM的查找行为。如图3所示为本实用新型采用FPGA内嵌SRAM仿真TCAM电路的结构模块图,其包 括有TCAM接口模块,TCAM配置模块以及SRAM查找块模块BlockO、Blockl".BlockNt5其中, TCAM接口模块中包括例化了各种TCAM的接口转换模块TCAMO接口、TCAMl接口…TCAMN接 口,多路选择器输入模块MUXin及多路选择器输出模块MAXout ;TCAM配置模块包括查找输 入操作单元及查找输出单元。复数SRAM查找块BlockiKBlockPHBlockN,其分别包括有多路选择器模块MUX,复 数译码器模块decode以及SRAM子模块。其中每一 SRAM子模块中还有一组寄存器及两个 时钟,这两个时钟分别为ASIC的低频仿真时钟(也为TCAM的指令输入输出同步时钟)及 SRAM中较高频率的时钟。对于上述仿真TCAM的电路设计,本实用新型通过如下步骤实现TCAM的查找行 为第一,当选择好所需要使用的TCAM型号后,将ASIC输出的TCAM指令送入TCAM接 口模块;第二,TCAM接口模块中的各TCAM接口转换模块TCAMO接口、TCAMl接口…TCAMN 接口根据其相应的指令协议(这些指令协议可以在相应的TCAM文档中得到)将TCAM指令 转换成需要查找的关键字key或者配置信号,并由一组多路选择器输入模块MUXin根据所 选择的TCAM型号选择出一组关键字key或者配置信号送入TCAM配置模块。第三,TCAM配置模块再将这组关键字key及相应的信息送入各个查找的SRAM查 找块BlockO、Blockl…BlockN中,SRAM查找块的数量可以根据FPGA的资源以及所需要验 证的TCAM的RAM的大小进行确定。第四,在关键字key送入SRAM查找块BlockO、Blockl···BlockN中后,SRAM查找块 根据关键字key的大小,重新组合关键字key,并送入各块SRAM子模块中进行查找。如,当key的大小为80比特时,则每个SRAM的子模块将作为一个独立的查找单元,接受80比特的 key进行查找,如果key为160比特时,则每相邻两个SRAM子模块作为一组查找单元,分别 接受高80比特及低80比特进行查找。同理当key为320比特或640比特时的,需要将4 个或8个SRAM子模块组成一个查找单元,因此,可以根据所需进行仿真的最大key的大小 合理选择SRAM子模块的数目。第五,每个SRAM子模块中有两个时钟,一个为ASIC的低频仿真时钟,也为TCAM的 指令输入输出同步时钟;另一个为SRAM中较高频率的时钟,它能在一个仿真时钟内将SRAM 的地址范围内全部读一遍,并将读出来的值与送进来的key进行比较,在SRAM子模块中还 有一组寄存器,这组寄存器就是用来存储比较结果的,其数据位宽为SRAM的深度。第六,如果某一地址读出的Data及Mask进行计算后与关键字key匹配的话,那 么相应的比特位将被置成“1”,且这组寄存器的值会从SRAM子模块中输出给译码器模块 Decode0第七,译码器模块Decode根据这个值,判断是否有某个地址与key匹配到,如有匹 配送出Hit信号,并将这个寄存器中对应有“1”的位置进行解析出来变成地址的值,如果这 个寄存器中有多个地址被匹配到,也就是说,该寄存器中存在多个“1”时,则以最低地址位 作为匹配,这也符合大部分型号的TCAM查找规则。多路选择器模块MUX根据进行查找的 key的大小选择不同的Decode组输出。第八,各个SRAM查找块产生的地址信息index以及匹配信息hit传回TCAM配置 模块后,在TCAM配置模块里根据key的查找属性选择相应的SRAM查找块送回的地址信息 index以及匹配信息hit,并将该地址信息index以及匹配信息hit送出给TCAM接口模块, 在TCAM接口模块里,各个接口转换模块TCAMO接口、TCAMl接口…TCAMN接口会将送过来 的index及hit信号转换成各个型号TCAM的标准输出,在多路选择器输出模块MUXout中 选择一组送回给ASIC。本实用新型的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可 能基于本实用新型的教示及揭示而作种种不背离本实用新型精神的替换及修饰,因此,本 实用新型保护范围应不限于实施例所揭示的内容,而应包括各种不背离本实用新型的替换 及修饰,并为本专利申请权利要求所涵盖。
权利要求一种采用FPGA内嵌SRAM仿真TCAM的电路设计装置,其特征在于包括TCAM接口模块其包括有复数TCAM接口转换模块,多路选择器输入模块及多路选择器输出模块;TCAM配置模块包括查找输入操作单元及查找输出单元;复数SRAM查找块每一该SRAM查找块包括有选择器模块,复数译码器模块以及复数SRAM子模块。
2.如权利要求1所述的采用FPGA内嵌SRAM仿真TCAM的电路设计装置,其特征在于 所述SRAM查找块的每个SRAM子模块中有两个时钟,一个为ASIC的低频仿真时钟,也为 TCAM的指令输入输出同步时钟;另一个为SRAM中较高频率的时钟,用于SRAM读数据时钟。
专利摘要本实用新型涉及采用FPGA内嵌SRAM仿真TCAM的电路设计装置,其包括TCAM接口模块、TCAM配置模块和复数SRAM查找块,TCAM接口模块包括复数TCAM接口转换模块、多路选择器输入模块及多路选择器输出模块,TCAM配置模块包括查找输入操作单元及查找输出单元,SRAM查找块包括选择器模块、复数译码器模块以及复数SRAM子模块。该装置基于FPGA实现TCAM功能,用于ASIC的FPGA验证,通过仿真TCAM的方式,在一块FPGA中利用内嵌的SRAM,完成TCAM的查找行为,不仅简化了ASIC的FPGA验证,节约了成本,并使得在无法得到TCAM芯片时,对ASIC验证TCAM的接口得以实现。
文档编号G06F11/26GK201594253SQ20092027873
公开日2010年9月29日 申请日期2009年11月9日 优先权日2009年11月9日
发明者夏杰, 徐昌发, 许俊, 贾复山, 龚源泉 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1