1.CAM介绍
标准存储器RAM查找方式为通过地址查找相应地址的数据,而CAM为通过数据查找相应地址,实现了更快的数据搜索。
CAM中,每个地址只能存储唯一数据,但特定的数据可以存在多个地址中。
当写入发现地址冲突时,删除原来的旧数据。
2.实现方法
共两种主流实现方法,基于SRL16E和基于RAM实现,本文主要介绍基于RAM的实现方式。
基于RAM的实现思路其实就是将地址与内容互换,将内容作为地址,将地址转换为独热码表示的内容存于RAM(这是为了保证同一数据内容可以同时存在不同地址中,同时保证可以进行CAM并联),假设原RAM位宽为10,深度为32,则相应CAM需要深度为210=1024,宽度也为32。
如下图所示为CAM存储结构。

此图中,CAM数据000存储在地址1
CAM数据000存储在地址1
CAM数据001存储在地址5
CAM数据011存储在地址3
CAM数据100存储在地址0和7
CAM数据110存储在地址2
CAM数据010、111、101没有被存储在任何地址
CAM地址4、6没有存储任何数据。
注意,CAM的存储宽度和深度不是位宽和位深,CAM输入端口位宽为1,位深为总数据量,这样的目的是当地址为{RAM数据,RAM地址}时,便可实现定位功能。举例说明,在上图中,CAM中在地址{000,1}的数据为1’b1时即可表示RAM中地址1存储数据为000,CAM中在地址{001,5}的数据为1’b1时即可表示RAM中地址5存储数据为001。通过这种方式即可实现数据与地址的互换。
2.1电路实现
电路主要有两个RAM实现,分别是RraseRAM和RAMB,其中RraseRAM存储内容即为查找表内容,RAMB存储为CAM。<

7445

被折叠的 条评论
为什么被折叠?



