• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 嵌入式存储器的设计方法和策略

嵌入式存储器的设计方法和策略

作者:汇编爱好者 字体:[增加 减小] 来源:互联网 时间:2017-06-17

汇编爱好者通过本文主要向大家介绍了嵌入式存储器,嵌入式数据存储,嵌入式存储,嵌入式片外存储选择,嵌入式存储服务器等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

随着集成电路制造工艺水平的提高,半导体芯片上可以集成更多的功能,为了让产品有别于竞争对手的产品特性,在ASIC上集成存储器可以降低成本和功耗、改善性能、增加系统级芯片的可靠性。随着对嵌入式存储器需求的持续增长,其复杂性、密度和速度也日益增加,从而需要提出一种专用存储器设计方法。

存储器的外包设计

存储器模块都具有相对独立的特性,在一个时钟系统中它通常占用一个管道,从成本和人力资源两方面考虑,许多芯片开发商都将存储器模块外包设计,因为,与其它半导体芯片相比,在系统中定义和分离存储器模块要容易得多。此外,诸多因素促进了存储器编辑器及定制存储器设计公司的发展,例如:存储器模块的标准模块特性、对嵌入式存储器的巨大市场需求以及存储器核心采用的是系统设计人员不熟悉的新技术,为了满足紧迫的系统设计进度要求,存储器设计公司通过板上存储器设计及时地为系统设计公司服务。

当许多公司外包嵌入式存储器设计时,也有许多公司迟迟迟疑不决。在外包设计过程中,要让系统设计人员尽可能早地获得引脚的位置、存储芯片面积以及存储器HDL模型,这样,就能够及时和高效地推出系统级芯片,同时不必担心系统芯片的面积、性能和品质问题。

获取嵌入式存储器设计的另一种方法是利用存储器编译器,它能够快捷和廉价地设计存储器物理模块。尽管该方法很有效并且完全适合标准存储器结构,但它存在若干缺陷。通常,编译后的存储器设计导出大量存储器模块,并造成系统的整体性能下降,另外,当系统设计需要添加新的功能时,该设计方法灵活性较差。

与此相反,向存储器定制设计公司定制嵌入式存储器设计则大有裨益。定制存储器可满足系统对存储器的突发需求,例如修改逻辑电路以便和存储器核实现逻辑兼容。定制存储器不是简单地在芯片上嵌入标准存储器模块,然后围绕存储器的其它逻辑电路来综合实现预想的功能。实际上,设计人员将逻辑电路直接植入存储器模块,从而使物理版图与存储器的存储单元紧密结合,这就能减小芯片的总面积,从而实现较高的存储密度,并提高芯片的性能,达到高速、紧凑、低耗电和布线简洁的设计要求。

现有存储器设计的复杂性需要完整的设计流程。本文介绍的设计方法包括设计概念、网表的建立、设计、布线以及存储器模块的验证,该方法可确保存储器模块在嵌入SoC时能有效地工作。

RISC中的存储器设计

在 500MHz、64位RISC微处理器的嵌入式存储器设计中,片上存储器速度要足够快速,结构要足够复杂,否则无法与高速而复杂的微处理器相匹配。定制存储器占据200mm2 处理器1/3以上的面积,包括:一级和二级高速缓存、将虚拟页地址转化为物理地址的两级转换后备缓存(TLB)、用于定点和浮点内核的多端口寄存器文件以及查寻表(LUT)和通用存储器(GP)等。高速缓存包含实现数据存储、标识及LRU功能的独立存储器。除了多端口存储阵列之外,寄存器文件还包含用于地址翻译和命名逻辑单元的ROM和CAM(见图1)。总之,要设计20个独特的存储器。

逻辑单元的ROM和CAM

图1 逻辑单元的ROM和CAM

存储器的复杂性和独特性表明,采用存储器编译器并不完全可行,每种嵌入式存储器都需要采用新的电路技术来设计,以便满足微处理器的高性能、高密度、低功耗和极低噪声的要求。

这样的高速微处理器必须采用最先进的0.18μm、6层铜线双镶嵌金属CMOS工艺制作,其极小的特征尺寸和高性能的晶体管使存储器设计面临严峻的考验,因为窄金属导线(线高大于水平间距)尤其容易受到串扰及电子迁移效应的影响,而晶体管的低阈值将导致抗噪声性能降低。

嵌入式存储器设计方法

要制定出每个设计人员都必须遵循的设计指南,首先要开发出一套设计标准,该标准包括最优门比率、扇出数目、最大晶体管宽度以及预布线阻抗和电容的经验法则。在高密度、高速存储器的设计过程中,要采用先进的电路技术、抗串扰技术及噪声容限设计标准。串扰标准规定了邻近信号的布线规则,其它噪声容限标准则规定静态噪声容限和锁存电路的可写性规则。

芯片的多种宏设计要求与电路标准保持一致。时钟发生器和寄存器的标准尤为重要,它们是整个CPU输入设置和保持时间维持一致的前提。为了使时钟偏差最小,设计人员需要密切控制占空比和扇出

数目以及所有时钟发生器的上升和下降时间。

另外,我们采用可测性设计(DFT)方法,如扫描和全频内建自检(BIST)方法来设计每个存储器。毫无无疑,BIST技术比采用测试仪器测试要复杂得多,后者要将嵌入式存储器的I/O信号复用到测试总线上,并通过布线连接到芯片的I/O端口以便测试仪器进行测试。但是,BIST方法的优点在于与测试仪器无关,并可全频测试存储器。利用BIST复杂的测试功能,可以用标记将故障与特定的例程或一个实际的I/O或一个存储单元隔离。该特性可实现冗余处理和详细的故障分析。BIST还具备测试存储器功能和确定宏或存储器最大工作频率的能力,但通常无法计算宏的存取时间。

DFT方法虽然增加不到2%的开销,但对存储器的验证来说,其作用非常重要。采用这些技术及定制嵌入式ATE(自动测试设备)电路,我们已经制作了一些测试芯片来验证存储器设计过程中采用的复杂设计技术(图2)。

 

验证存储器设计

图2 验证存储器设计

现在,要驱动500MHz的外部I/O引脚很不实际,我们设计了专用嵌入式ATE电路来俘获并评估嵌入式宏的实际存取时间。通过建立片上测试器,可确保采用低成本的数字测试器来驱动及评测芯片。

时序和功能验证

对高性能半导体芯片,精确的时序模型至关重要。为了提取嵌入式存储器中关键路径的特征并进行仿真,要采用了Avant!公司的Hspice软件。从仿真运行时间来看,仿真整个宏的LPE网表是不切实际的,为此要采用集总和加载技术(见图3)。

采用集总和加载技术

图3 采用集总和加载技术

集总和加载方法是通用技术,面临分布式载荷造成的模型不精确的问题,并受到由阻容(RC)网络引起的传输线效应的影响。RC网络不仅包

含阻容元件,还包含要对栅极、源极和漏极电容精确建模的晶体管。为了获得精确时序,要建立验证关键路径中所有元件与实际宏的LPE网表之间匹配程度的工具。对我们感兴趣的节点,要比较关键路径和LPE网表之间的引线、栅极、源极、漏极、耦合电容和电阻。当这些参数不匹配时,就必须修正负载模型。

Hspice可以仿真温度、P-T-V曲线并对每个角作出测量说明和绘图分析,从而便于查找不正确的电路行为,例如分析信号偏移率变差的程度、由串扰引起的信号尖峰、不期望的脉冲重叠程度、传输延迟变坏的程度、时钟电路的建立和保持时间变坏的程度等。

我们通常利用Verilog或VHDL模型来仿真整个SoC并对其建模。为了确保精确度,每个嵌入式存储器都有一个与之对应的Verilog模型,这样才能确保电路的功能与HDL模型匹配。对每个存储器,要建立全面的测试平台来测试所有的地址组合、控制和测试模式(即扫描和BIST),然后,我们将测试矢量及其相关的预测数据应用到每个宏的所有LPE网表。

如上所述,可以证明用Hspice仿真大型网表和大型测试向量集(通常有数千个向量)是不切实际的。为了弥合Hspice和Verilog之间的差距,要采用Synopsys公司的Timemill测试工具, 该工具可将逻辑等价性测试和电路的电性能验证结合起来,它可将向量驱动的全部存储器的LPE网表作为输入置于Verilog环境中进行仿真,其优点在于能检测电路网表和Verilog模型之间功能上的差异,并具有良好时序精度,从而发现时序缺陷。Timemill测试工具不是故障仿真器,但是测试向量能够涵盖99%以上的待测节点。我们在与Hspice仿真相同的P-T-V曲线下运行了Timemill测试。此外,还检测了未驱动的节点、最低和最高工作频率及P-T-V曲线的极端情形。

物理验证

我们还采用Mentor Graphics公司的Calibre工具来验证物理设计,并用完整的LVS和DRC规则基准来检验电路连接的正确性、所有的间距和宽度等,用附加的质量保证规则基准来检验浮动层、阻抗连接和不期望出现的几何结构。

对于版图的寄生参数抽取,要采用Mentor公司的xCalibre工具,它可生成用于Hspice关键路径分析和Timemill仿真的LPE网表。为了达到精确抽取,版图的层次必须与电路图的层次匹配,此外,所有的馈通(feedthrough)必须嵌入页元(leaf cell)中,这样其寄生效应才会在子电路的LPE网表中得到仿真。

LPE网表只能对关键路径仿真进行事后说明,但为了防止LPE预仿真和LPE后仿真的结果之间出现大的差异,这样做有必要。假如我们要达到高性能的仿真结果,关注实际版图的质量对电路设计技术也至关重要,例如合并或共用信号源极或漏极、屏蔽时钟信号线和解码信号线组、以及使用多个触点把电

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 嵌入式存储器的设计方法和策略

相关文章

  • 2017-06-05 KNN定位算法的MATLAB程序
  • 2017-06-05 [求助]关于DDK用的编译器
  • 2017-06-05 51单片机编程中"sbitkey1=P3^0;"那么key1的值和P3^0的值保持一致吗?
  • 2017-06-05 我制作了centOS67的U启盘动盘,从老毛桃模拟启动可以,从电脑u盘启动没反应?
  • 2017-06-05 DRIVERSTUDIO用过的进
  • 2017-06-05 MSP430F5529给外围电路提供频率
  • 2017-06-05 这个AD芯片的输出PIC芯片能不能计算
  • 2017-06-05 51系列的单片机引脚都一样吗?
  • 2017-06-17ARM流水线技术
  • 2017-06-05 ADXL345三轴输出数据问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 关与虚拟硬盘!
    • 为什么我定义的变量被优化掉了?
    • 为什么路由默认dns19216811会导致部分域名不解析,改成8888就可以了?
    • 如何实现电脑串口控制单片机上面的继电器
    • 对使用STM32cube生成的HAL库CAN初始化函数HAL_CAN_Init的一个疑问
    • m4的板子怎么接收来自空气质量传感器采集的数据
    • 51系列的单片机引脚都一样吗?
    • 还没搞定的问题,大家来研究研究呗?!
    • 请问时钟是怎么分配的?
    • pic18f24k22+旋转编码器

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有