当前位置: 首页 > 专利查询>赛灵思公司专利>正文

基于复用器的三态内容寻址存储器制造技术

技术编号:13883893 阅读:88 留言:0更新日期:2016-10-23 18:10
在一个实施例中,一种三态内容寻址存储器(TCAM),包括:输入端口,其被耦接以接收W位的键作为输入;输出端口,其被耦接以提供匹配向量作为输出,所述匹配向量包括至少一位。所述TCAM进一步包括存储器,所述存储器具有存储单元,所述存储单元可操作以为N个W位的TCAM字储存N*W个位对。所述存储器包括多个存储器输出。所述TCAM进一步包括至少一个比较电路。所述至少一个比较电路包括至少一个复用器,所述至少一个复用器中的各个复用器被耦接以接收所述W位的键中的一位的实际版本和补码版本作为输入。所述至少一个复用器中的各个复用器由所述多个存储器输出中的一对存储器输出进行控制。所述至少一个比较电路进一步包括组合逻辑,所述组合逻辑被耦接以基于所述至少一个复用器的输出执行至少一次逻辑“与”运算。

【技术实现步骤摘要】

概括地说,本公开的实施例涉及电子电路,具体而言,涉及基于复用器的三态内容寻址存储器(TCAM)。
技术介绍
内容寻址存储器(CAM)是一类用于特定的高速检索应用的存储器。通常而言,CAM将输入的检索数据(简称为“键(key)”、“输入键”或者“检索键”)与存储数据字的表进行比较,并且返回对相匹配的字的指示。对相匹配的字的指示可以是相关的数据,或者可以被用于获得相关的数据。二态CAM(BCAM)是最简单的一类CAM,其使用输入键来检索存储的数据字,这些数据字完全由逻辑“1”和“0”组成。三态CAM(TCAM)这类CAM允许第三种匹配状态“X”或“不理会(don’t care)”,其中,对于与输入键进行比较的被存储的数据字而言,该第三种匹配状态可以对应于每个存储数据字中的一位或多位。在可编程集成电路(IC)中可以实现TCAM。示例性的可编程IC包括复杂可编程逻辑控制器件(CPLD)和现场可编程门阵列(FPGA)。一种类型的FPGA包括可编程片(tile)的阵列。可编程片包括各种类型的逻辑块,而逻辑块例如可以包括输入/输出块(IOB)、可配置逻辑块(CLB)、专用随机存取存储器块(BRAM)、乘法器、数字信号处理块(DSP)、处理器、时钟管理器、延迟锁定回路(DLL)、诸如快速外围部件互连(PCIe)和以太网等的总线或网络接口。每个可编程片典型地都包括可编程互连和可编程逻辑。可编程互连典型地包括大量不同长度的互连线路,互连线路通过可编程互连点(PIP)相互连接。可编程逻辑使用可编程元件来执行用户设计的逻辑,所使用的可编程元件例如可以包括函数发生器、寄存器、算术逻辑等等。期望通过有效利用可用的资源在可编程IC(例如FPGA)中实现TCAM。
技术实现思路
描述了用于提供基于复用器的三态内容寻址存储器(TCAM)的技术。在一个实施例中,TCAM包括:输入端口,所述输入端口被耦接以接收W位的键(W-bit key)作为输入;以及输出端口,所述输出端口被耦接以提供匹配向量作为输出。所述匹配向量包括至少一位。所述TCAM进一步包括存储器,所述存储器具有存储单元,所述存储单元可操作以为N个W位的TCAM字储存N*W个位对(pair of bits)。所述存储器包括多个存储器输出。所述TCAM进一步包括至少一个比较电路。所述至少一个比较电路包括至少一个复用器,所述至少一个复用器中的每个复用器被耦接以接收所述W位的键中的一位的实际版本和补码版本作为输入。所述至少一个复用器中的每个复用器由所述多个存储器输出中的一对存储器输出进行控制。所述至少一个比较电路进一步包括组合逻辑,所述组合逻辑被耦接以基于所述至少一个复用器的输出执行至少一次逻辑“与”运算。在另一实施例中,可编程集成电路(IC)包括:配置存储器;以及可编程逻辑,所述可编程逻辑包括分布式随机存取存储器(RAM)、可配置逻辑元件以及可编程互连元件,所述可编程互连元件被耦接于所述可配置逻辑元件之间。所述可编程互连元件包括多个复用器,所述多个复用器中的每个复用器具有多个输入和一个输出。所述多个复用器中的每个复用器具有控制输入,所述控制输入耦接于控制复用逻辑。所述控制复用逻辑通过所述配置存储器被配置为选择所述配置存储器的输出或者所述分布式RAM的输出,以控制所述复用器。在另一实施例中,一种实现TCAM的方法包括:接收W位的键作为输入;提供匹配向量作为输出,所述匹配向量包括由至少一个比较电路产生的至少一位;在存储器的存储单元中为N个W位的TCAM字储存N*W个位对,所述存储器包括多个存储器输出;将所述W位的键中的一位的实际版本和补码版本耦接于所述至少一个比较电路中的至少一个复用器中的每个复用器,所述至少一个复用器中的每个复用器由所述多个存储器输入中相应一对存储器输入进行控制;以及基于所述至少一个复用器的输出,执行至少一次“与”运算。通过参考下面详细的描述,可以理解本公开的这些方面和其他方面。附图说明为了方便对上述特征的详细理解,通过参考示例性的实施方式可以获得在前文已被简要概括的更为详细的描述,附图中示出了一些示例性的实施方式。然而应当注意,附图仅示出了典型的示例性实施方式,因此不被视为限制了范围。图1A示出了FPGA的示例性架构;图1B是根据一个实施例描绘了图1A的FPGA的更高层级视图的框图;图2是描绘了示例性的TCAM系统的框图;图3A是描绘了示例性的1×1的TCAM的框图;图3B是描绘了图3A的1×1的TCAM的示例性实现方式的框图;图4是描绘了示例性的2×2的TCAM的框图,通过扩展,其可以被推广为N×W的TCAM;图5是描绘了图1A-1B中显示的FPGA的可编程结构的一部分的框图;图6A示出了在FPGA内的复用器的框图,该FPGA被配置成实现TCAM的一部分;图6B示出了在FPGA内的另一复用器的框图,该FPGA被配置成实现TCAM的一部分;图7A中的框图示出了图4中的TCAM在可编程IC内的一个示例性实现方式;图7B中的框图示出了图4中的TCAM在可编程IC内的另一个示例性实现方式;图8是描绘了TCAM的另一实施例的框图,该TCAM的深度是N并且宽度是2;图9是描绘了TCAM的另一实施例的框图,该TCAM的深度是2并且宽度是W;图10是描绘了实现TCAM的方法示例的流程图;为了便于理解,在可能的情况下,使用了相同的参考数字来标示附图中一致的相同元件。可以预期的是,一个实施例中的元件可以被有益地并入其他实施例。具体实施方式参考附图来描述以下各种特征。应当注意的是,附图可能是也可能不是按比例绘制的,并且具有相似的结构或功能的元件在全部附图中由相似的参考数字表示。应当注意的是,附图仅意图促进对特征的描述。其并非意图作为所请求保护的专利技术的详尽描述或者作为所请求保护的专利技术的范围限制。此外,示出的实施例不需要具有所显示的全部方面或优点。结合特定实施例进行描述的方面或优点不必限制于该实施例,并且尽管没有明示或者没有进行详细描述,这些方面或优点也可以实施在任何其他实施例中。在此描述了用于提供基于复用器的三态内容寻址存储器(TCAM)的技术。在可编程集成电路(IC)中,例如FPGA中,TCAM的一些实施例使用块随机存取存储器(RAM)或者分布式RAM来存储表示TCAM数据字的数据。使用输入键来检索匹配向量,以对RAM进行寻址,匹配向量确定了哪个存储的TCAM字匹配了输入键。在该实施例中,为了实现所有可能的状态(逻辑“1”、逻辑“0”和不理会“X”),需要每个TCAM位具有两个存储单元。输入键宽度的增加会使得用于储存TCAM数据的存储单元的量多一倍。同样,随着键的宽度的增加,这种基于RAM的TCAM的存储效率以指数形式降低。进一步地,可编程IC内的这种RAM可能具有最小尺寸(例如,最浅的RAM可以是32字深)。同样,每个TCAM位的存储单元数量一般大于2(例如,假设32字深的RAM,则每个TCAM位需要至少6个存储单元)。如在此描述的那样,可以使用可编程IC中的复用器逻辑来实现TCAM。复用器逻辑的输入由输入键构成。储存的TCAM位被用于控制复用器逻辑。复用器逻辑的输出提供了匹配向量,匹配向量指示哪些TCAM数据字匹配了输入键。对于本文中描述的基于复用器的TCAM,每个T本文档来自技高网
...

【技术保护点】
一种三态内容寻址存储器(TCAM)电路,包括:输入端口,所述输入端口被耦接以接收W位的键作为输入;输出端口,所述输出端口被耦接以提供匹配向量作为输出,所述匹配向量包括至少一位;存储器,所述存储器具有多个存储单元,所述多个存储单元可操作以为N个W位的TCAM字储存N*W个位对,所述存储器包括多个存储器输出;至少一个比较电路,所述至少一个比较电路包括:至少一个复用器,所述至少一个复用器中的每个复用器被耦接以接收所述W位的键中的一位的实际版本和补码版本作为输入,所述至少一个复用器中的每个复用器由所述多个存储器输出中的一对存储器输出进行控制;以及组合逻辑,所述组合逻辑被耦接以基于所述至少一个复用器的输出执行至少一次逻辑“与”运算。

【技术特征摘要】
2015.03.31 US 14/675,1591.一种三态内容寻址存储器(TCAM)电路,包括:输入端口,所述输入端口被耦接以接收W位的键作为输入;输出端口,所述输出端口被耦接以提供匹配向量作为输出,所述匹配向量包括至少一位;存储器,所述存储器具有多个存储单元,所述多个存储单元可操作以为N个W位的TCAM字储存N*W个位对,所述存储器包括多个存储器输出;至少一个比较电路,所述至少一个比较电路包括:至少一个复用器,所述至少一个复用器中的每个复用器被耦接以接收所述W位的键中的一位的实际版本和补码版本作为输入,所述至少一个复用器中的每个复用器由所述多个存储器输出中的一对存储器输出进行控制;以及组合逻辑,所述组合逻辑被耦接以基于所述至少一个复用器的输出执行至少一次逻辑“与”运算。2.如权利要求1所述的TCAM电路,其中所述至少一个复用器中的每个复用器包括四输入复用器,所述四输入复用器具有第一输入、第二输入、第三输入和第四输入,其中,所述第一输入被耦接以接收所述W位的键中相应位的实际版本,所述第二输入被耦接以接收所述W位的键中所述相应位的补码版本,所述第三输入未被连接或被耦接以接收恒定的逻辑“高”位,所述第四输入被耦接以接收所述恒定的逻辑“高”位。3.如权利要求1所述的TCAM电路,其中所述至少一个比较电路包括N个比较电路,其中所述至少一个复用器包括N*W个复用器,其中所述N个比较电路中的每个比较电路包括所述N*W个复用器中的W个复用器,并且其中控制着N*W个复用器中的每个复用器的一对存储器输出被耦接于所述多个存储单元中相应一对存储单元。4.如权利要求1所述的TCAM电路,其中所述至少一个比较电路包括单个比较电路,其中所述至少一个复用器包括所述单个比较电路中的W个复用器,其中所述多个存储器输出包括2*W个存储器输出,其中控制着W个复用器中的各个复用器的一对存储器输出被耦接于所述2*W个存储器输出中相应一对存储器输出,并且其中所述TCAM电路进一步包括:地址发生器,所述地址发生器被耦接于所述存储器。5.如权利要求1所述的TCAM电路,其中所述至少一个比较电路包括N个比较电路,其中所述至少一个复用器包括N个复用器,其中所述N个比较电路中的每个比较电路包括所述N个复用器中相应一个复用器,其中所述多个存储器输出包括2*N个存储器输出,其中控制着所述N个复用器中的各个复用器的一对存储器输出被耦接于所述2*N个存储器输出中相应一对存储器输出,并且其中所述TCAM电路进一步包括:地址发生器,所述地址发生器被耦接于所述存储器。6.如权利要求1所述的TCAM电路,其中还包括:优先编码器,所述优先编码器被耦接于所述输出端口,以接收所述匹配向量。7.如权利要求6所述的TCAM电路,其中还包括:数据存储器,所述数据存储器具有地址端口,所述地址端口被耦接于所述优先编码器;其中所述优先编码器可操作为基于所述匹配向量为所述数据存储器生成地址。8.如权利要求1所述的TCAM电路,其中所述至少一个复用器包括可编程集成电路(IC)的互连片中的多个复用器的至少一部分,并且其中所述组合逻辑在所述可编程IC中通过查找表(LUT)逻辑来实现。9.如权利要求8所述的TCAM电路,其中所述存储单元包括所述可编程IC的配置存储器的一部分。10.如权利要求8所述的TCAM电路,其中所述存储单元包括所述可编程IC的分布式存储器的一部分。11.一种可编程集成电路(IC),包括:配置存储器;以及可编程逻辑,所述可编程逻辑包括分布式随机存取存储器(RAM)、可配置逻辑元件以及可编程互连元件,所述可编程互连元件被耦...

【专利技术属性】
技术研发人员:P·迈德
申请(专利权)人:赛灵思公司
类型:发明
国别省市:美国;US

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

1