CAM(字内容可寻址存储器)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字集成电路 - 设计透视2 / E

Jan M. Rabaey, AnanthaChandrakasan, BorivojeNikoli

第六章和第十二章

设计项目:512字的内容寻址存储器

1.背景

内容可寻址存储器在各种各样的应用中都需要在比特上操作的匹配模式,例如虚拟内存,数据压缩,高速缓存和表查找应用程序。随着无线网络的普及的不断上升,内容可寻址存储器已经建议用作网络地址过滤和部分节点匹配的一种方法。在TCP/IP中,这相当于和一个IP地址相匹配的相关位,由子网掩码决定。显然,在无线环境下,功耗是重要准则。然而,基站点能够花更多的功率来达到快速表查询的要求。由于成本始终是商业设计中的一个重要因素,减少芯片面积也是很重要的。

在这个项目中,我们将根据不得设计要求,设计内容可寻址存储器的一个重要组成部分。

1.1高层次的架构

图一所示是一个内容可寻址存储器的高级别方框图。

图1:CAM高级别方框图

内容可寻址存储器有三种运行模式:读模式,写模式和匹配模式。读和写模式时,在内容可寻址存储器阵列中数据访问和操作的方式和在普通存储器中是一样的。内容可寻址存储器的特点在匹配运行模式下实现。在这个模式下,比较模块存放了数据用于匹配,屏蔽模块显示哪位是重要的。例如,为了在CAM阵列中找到所有有0x123的数据,我们要将比较字设

为0x12300000,屏蔽位为0xFFF00000。然后将CAM中所有512行中的数据同时和比较字的最重要的12位进行比较。每行相匹配的部分发送到有效模块。由于我们不关心每行包含的无效数据(通常在阵列不满是发生),只有有效的相匹配的行才会发送到优先编码器。如果两行或多行和输入数据匹配,CAM阵列中的行地址用来打破平局。为了做到这一点,优先编码器考虑阵列中的所有512匹配行,选择地址最高的一行,将其编码为二进制文件。由于CAM阵列中有512行,需要9比特来表示匹配行的最高地址。因为可能不存在匹配行,所以需要一个额外的匹配位。

作为一个简单的例子,假设CAM阵列中有6项数据,如表1所示。

表1

一些比较字和屏蔽字组成和比较结果如表2所示。

表2

2.实施和约束

我们的目标是要设计使用在CAM中的具有特定优化标准的优先编码器。该项目将分3个阶段完成。

第一阶段的目标是执行逻辑优化,电路风格选择和一阶组合电路的优化以满足既定的设计目标和约束。优先编码器的微调设计和实际物理版图在第二阶段进行。

你应该选择一下一种设计案例:

a)低能量操作:设计一个在无线中使用的优先编码器,使得平均能量被最小化并满

足约束条件,即最坏情况下的延迟小于40纳秒。无约束都被放在区域设计。

b)高速操作:尽可能提高优先编码器的速度,以便CAM用于基站或功率随时可用的

情况下。无约束被放在区域或功率设计。

c)低硅消耗:最小化优先编码器的面积,同时满足约束条件,即最坏情况下的延迟

小于40纳秒。无约束都被放在能源消耗。

项目分成几部分完成。

你可以自由选择任何逻辑系列作为项目的实施:互补CMOS,伪NMOS,晶体管逻辑和动态逻辑等。

2.1 技术

设计是实现在一个0.25微米的CMOS进程,有4个金属层。验证技术在g25.mod 的文件中。

2.2电源供给

你可以自由选择任何供给电压和逻辑摆动至2.5v。保证你手动分析时使用适当的模型。

2.3性能指标

静态设计传播延迟定义为输入的50%过渡点和最坏情况下输出信号的50%d的过渡点之间的时间间隔。确保你选择的最坏情况的状况在你的报告中明确指出,以及条件是什么。注意动态设计的传播延迟是指在这种情况下这个阶段的评估延迟(至少在项目的这个阶段)。

2.4面积

面积被定义为画在设计周围的最小矩形框。注意的是,因为优先编码器必须是有效性块和CAM阵列的接口,按行地址顺序,设计左侧的所有行匹配输入必须是可访问的。在该项目的第一阶段,你应该做的面积估计是基于整体晶体管宽度和布线的复杂性。如何预测区域上的表达式将被提供在短期的WEB页上。

2.5命名约定

你应该标记设计的输入与输出,如图2所示。有效匹配信号被表示为vm[0]到vm[511],指数是该行的地址。编码的匹配信号被表示为em[0]到em[8],其中em[0]是最小的有效位。编码匹配信号表示一个有效匹配是匹配信号为高,否则为低。

图2

2.6寄存器

在这个阶段的设计中,你不需要寄存器。输入到输出的数据流应该是组合逻辑。

2.7时钟

不应该有全局时钟,因为设计是组合的。如果你选择动态逻辑,允许有一个预充电或评估时钟,但是评估过后结果必须是可获得的(无流水线逻辑)。观察到的时钟的负载电容应该被包括在能量分析中。

2.8Voh,Vol,噪声幅度

你可以自由选择你的逻辑摆幅。噪声容限应该至少是电压摆幅的10%。通过计算一

个静态设计中的输入与输出信号(设置其他输出为适当值)之间的VTC来测试摆幅。对于一个动态电路,适用于把一个有10%的噪声值的输入信号加到输入端,并观察输出。

2.9上升和下降时间

所有输入信号的上升和下降时间为500ps。输出信号的上升和下降时间不应该超过1ns。

2.10负载电容

优先编码器的每一个输出位应该有一个负载,相当于4个单元的翻转器

(Wn=0.25um,Wp=0.50um)。

3.仿真

通过使用SPICE或IRSIM分析电路来对设计进行仿真。用SPICE或IRSIM证明你的电路功能操作。确定功能和能量耗损的输入在网上提供。引起最坏情况下的传播延迟的模式应由你自己决定,这就基于你电路原理图的分析。确保你是以分层的方式定义你的电路。

4.报告

你的报告的质量和你的设计的质量一样重要。必须通过合理的设计决策和提供所有的重要信息来卖一个设计。确保强调相关的信息,去除不必要的细节。组织,简洁,完整是非常重要的。不要重复我们已经知道的信息。使用在网上提供的模板。将你报告的电子版(Framemaker,Word或者PDF)邮件给我们。确保封面的填写以及使用正确的格式。项目每个阶段的结束都要提交报告。

4.1报告的内容

你的报告应该讨论你的整个设计原理和逻辑和电路水平方面的重要设计决策。讨论在满足性能指标的情况下,为什么你的设计方法提高了操作速度或为什么帮助减少能量和面积。提供你的电路评估报告以及描述你是怎样达到这些要求的。包括原理图和强调重要因素。提供关键点(不要忘了计算包含这些点的输入数据)来证明你的结果是精确的。整份报告不应该超过3张纸。不允许添加其他页,除非是重要章节。报告应包括以下几条:第一页:执行摘要,整体设计决策,言论以及动机。

第二页:逻辑和晶体管图,标注晶体管尺寸和最坏情况的时序路径,单元的操作功能展示章节,评论。

第三页:定时和能量仿真-派生的最坏情况下的路径和平均能量。对于后者,一组测试图案将被在网上提供。

最后,你需要提交SPICE的输入设置,记住,一份好的报告就像一个号的版图:以尽可能小的面积和少的延迟和能量来完成它的功能。

报告的质量是分数的重要组成部分。

整个工程分数分成3部分:1阶段40%,2阶段20%,3阶段40%。每个阶段的分数分成:结果30%,方法和正确性20%,报告40%,创新性10%。

相关文档
最新文档