内容可导址存储器的FPGA设计与应用_第1页
内容可导址存储器的FPGA设计与应用_第2页
内容可导址存储器的FPGA设计与应用_第3页
内容可导址存储器的FPGA设计与应用_第4页
内容可导址存储器的FPGA设计与应用_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、        摘要:内容可寻址存储器(CAM)是一种快速匹配存储器件,在通信、雷达等许多领域有着广泛的应用。在介绍CAM基本原理的基础上,提出了以两类新型FPGA实现CAM的设计方法。例举了一种基于CAM实现关联比较器及其在雷达截获系统信号处理领域的重要作用。    关键词:FPGA 内容可寻址存储器(CAM) APEX系列 VIRTEX系列 关联比较器内容可寻址存储器(CAM)是一种新型的存储器,它的高速、并行、易扩展和实现的灵活性使它一出现就得到人们的重视。CAM基于内容寻址,通过硬件电路

2、实现快速匹配。CAM的并行处理特性使得它在数据分选领域倍受青睐,被广泛应用于以太网网址搜寻、数据压缩、模式识别、高速缓存、高速数据处理、数据安全和数据加密等。另外,CAM的出现也为军用信号处理(尤其是雷达截获系统信号处理)提供了新的思路。但是,由于CAM的实现是以牺牲硬件资源为代价的,常规的FPGA器件只能实现很小规模的CAM。因此,以前的CAM都是专用器件且规模较小,使用灵活性较低。随着FPGA器件门数的增加和结构的改进以及IP库的不断丰富,基于FPGA的CAM实现已成为可能。尤其是1999年底和2000底初,Altera公司和Xilinx公司相继推出了APEX和VIRTEX系列超大规模FP

3、GA,使得利用FPGA实现大规模CAM的时机趋于成熟。1 CAM的基本原理CAM是一种专门为快速查找数据地址而设计的存储器。CAM通过把输入数据与其内所存数据相比较,能快速确定输入数据是否与其内部某个数据或某几个数据相匹配。CAM的数据寻址方式因应用要求不同而不同,最快方式不仅需要一个时钟周期便可完成对所有数据的寻址。与RAM一样,CAM也是采取阵列式数据存储。其数据的写入方式与RAM差不多,但CAM的数据读取方式却与RAM不同。在RAM中,输入的是数据地址,输出的是数据;而在CAM中,输入的是所要查询的数据,输出的是数据地址和匹配标志(Match)。若匹配(即数据搜寻到),则输出数据地址。在

4、RAM中,RAM的存储容量由地址线宽度确定。例如,10bit宽地址总线的RAM存储容量为2 10=1024个字节,CAM却没有这个限制,因此它不是采用传统的通过地址读取数据的方式。如若从1024个字节中查询某一数据,输入数据宽度为8bit,数据存在则输出匹配标志和10bit宽的数据地址。因此CAM不是采用传统的地址线模式读取数据,存储空间可以很容易地扩展,输入数据线宽度只由需查询的数据位数决定。图1为数据读取模式下的RAM和CAM的比较。2 用APEX系列FPGA实现CAMAPEX系列FPGA是Altera公司最新推出的高档FPGA芯片,APEX系列真正实现了单片机的系统级综合。在多心线结构的

5、支持下,APEX芯片既具有以往PLD的优点,又对这些优点有所扩展,并且在复杂系统的设计和应用中表现出极大的灵活性和高效性。APEX芯片主要由三大部分组成:LUT、Product Term和Memory。这三大部分综合到一个芯片中,不但节省了应用系统所占空间,而且使复杂系统的设计和实现变得简单可靠,系统执行效能也大大提高。ESB(Embedded System Block)是APEX芯片的核心,它可以用业构成APEX芯片的各种控制部件。通常,许多需要快速数据寻址的系统使用分立的CAM,这不仅会延长开发周期、占用印制板空间,而且也会因片内、外的时延而降低系统效能。APEX芯片则较好地解决了这个问题

6、,它内含嵌入式CAM,把分立式CAM 20ns的时延降低至4ns以下。与采用分立式CAM的系统相比较,采用APEX芯片系统,则效率成倍提高。对中小型系统来说,APEX芯片无疑是系统优的最佳选择。APEX芯片可用ESB直接构成CAM,实现高速数据寻址。还可用多个ESB扩展CAM的容量和数据宽度。在APEX20KE芯片中,每一ESB可配置成大小为32word×32bit的CAM,如图2所示。3 用VIRTEX系列FPGA实现CAMAPEX提供了一个规范的CAM基本器件,可通过级联和位扩展来实现更大规模的CAM,但实现方式还是不够灵活。而Xilinx公司开发的Foundation系列软件和

7、VIRTEX系列FPGA为CAM的应用提供了优越的软硬件条件,且VIRTEX最大的优点是没有为CAM提供固定的模式。它设计的灵活性,使CAM能在不同条件下、不同领域内,以不同方式实现,达到最优化。基于VIRTEX的CAM的实现主要有三种途径:用SRL16E的实现;用Block SelectRAM实现;用Distributed SelectRAM实现;用Distributed SelectRAM的实现。3.1 用SRL 16E实现CAM在这种模式下,设计的基本模块为SRL16E移位寄存器。SRL16E为VIRTEX库的基本模块,用户可以使用SRL16E和其它基本模块设计出不同字宽和字深的CAM来

8、。用SRL16E实现的8-bit的CAM如图3所示。初始化时,已知参数与4位递减计数器依次相比较,得到16bit比较值(含1个“1”,15个“0”),经过16个时钟周期,依次存入SRL16E移位寄存器。寄存器带有4位地址端,可对移位寄存器的16bit数据位实现寻址。CAM工作时,数据直接输入寄存器的地址端,若此数据与初始化时参数相一致,则输出“1”,否则输出“0”。3.2 用Block SelectRAM实现CAM除了用SRL16E实现CAM外,利用VIRTEX芯片内可编程资源Block SelectRAM也是实现CAM的途径之一。一个Block SelectRAM可配置成一个CAM16Wor

9、d×8bit的CAM基本模块,且有独立的读写双通道,这得益于Block SelectRAM的双口特性。Block SelectRAM是真正具有独立双通道的存储器,它的每个通道拥有各自的时钟和控制信号,A口和B口可独立配置成4096Word×1bit或256Word×16bit RAM模式。基本Block SelectRAM的CAM 设计正是利用了Block SelectRAM内部地址映射的灵活性。如图4所示,Block SelectRAM的A口和B口其有共同的存储单元(4096bit),但可以具有各自的地址映射表,A口配置成4096Word×1bit模式

10、,B口配置成256Word×16bit模式。在这种配置形式下,A口可以以地址线宽为12bit、存储单元容量为1bit的方式写入数据,而B口则可以以地址线宽为8bit、存储单元容量为16bit的方式读取数据。CAM16×8的A口为数据写入口,数据输入带宽为8bit,地址线宽为4bit。Data_write7:0也可由它的译码值形式唯一地表示,Data_write7:0经译码成256bit,存入Addr3:0所指的地址单元。CAM16×8的B口为数据读出口,匹配数据直接输入B口的地址端,数据读取只需一个时钟周期,输出字宽16bit的匹配结果。  &

11、#160; 3.3 用Distributed SelectRAM实现CAMDistributed SelectRAM也是实现CAM的途径之一。与Block SelectRAM类似,VIRTEX芯片内部还一种由LUT配置而成的Distrbuted SelectRAM,这两种存储器都可用来形成CAM。每个LUT(Look-Up Table)可配置成一片16Word×1bit RAM,每片RAM可以位寻址。16bit宽数据写入时,分散写入16片RAM。数据读取时,地址端由一递增计数器产生4位地址,从RAM读出数据与查询数据逐个比特相比较。最多经过16个时钟周期,便可完成与整个存储数据相比较

12、,得到匹配结果。4 基本CAM的关联比较器的实现及应用国外研究表明,关联比较器(Coherent Processor,简称CP)技术对高密度信号环境下的脉冲列去交错有着积极和重要的意义。由于器件方面的限制,国内相关领域的研究一直停留于理论分析层面,仅有极少数系统采用了一些小规模的并行比较器件。CP与CAM的主要区别是:CP是实现范围比较,而CAM是精确单值匹配。在基于CAM的CP设计实践中,我们结合复杂信号环境的具体应用背景和上述CAM设计方法,探索了两种可能的途径:(1)CAM和RAM结合实现结构灵活的CP:(2)从CAM内部结构和原理出发,对CAM进行适当改造,使得CAM具备范围匹配功能。

13、第一种途径是通过研究许多CAM的应用实例而受到启发的。例如,IP地址到以太网地址的映射是由CAM和RAM相结合完成的,首先将IP输入CAM,得到匹配标志和匹配地址,然后将匹配地址作为RAM的输入,从RAM中读取相应的以太网地址,完成地址映射过程。还有IP路由表、高速缓存等应用的基本原理也是如此。相应地,在脉冲去交错应用中,若将脉冲参数范围内的每一个值都作为CAM中的一项,将得到的匹配输出的地址作为预先存储的RAM表项的输入,即可实现CP的功能。如图5所示,设辐射源M的频率参数范围是011111100bRF011111111b,则辐射源M在CAM中占用4个存储单元nn+3,在RAM内nn+3地址

14、的存储内容均初始化为M。当输入频率值落入辐射源参数范围时,便可由关联比较器直接得到所属的辐射源类型M。这种设计方法利用外部RAM实现了组合逻辑功能。    第二种途径是利用可编程逻辑器件灵活的设计方法,对CAM内部结构进行改造,使其具备范围数匹配的功能。图6示出了利用这种途径实现CP的基本原理,图示结构为用一个256×1bit的RAM来实现一个8bitCAM单元。在CAM单元初始化时,以输入数据作为RAM的地址,根据参数范围对相应地址的RAM内容进行初始化,落入参数范围的寻址内容为1,否则为0。完成初始化后,CAM即可实现范围参数的匹配。上述两种实现途径实现上都是通过耗费更多的硬件资源来达到范围匹配的目的。当参数范围较大时,硬件资源的需求会急剧增加,导致CAM深度的下降。若我们将上述两种途径与中值比较的原理结合起来,即用合理截取有效位数的方法来充分表示参数范围特点,则可以获得预期的效果。我们利用Xilinx公司的Foundation系列软件和XCV100PQ240(10万门)FPGA芯片设计了一种基于CAM的脉冲去交错专用器件,考虑到军用信号处理领域对处理速度的严格要求,设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论