在传统的大规模ASIC和SoC设计中,芯片的物理空间大致可分为用于新的定制逻辑、用于可复用逻辑(第三方IP或传统的内部IP)和用于嵌入式存储三部分。
当各厂商为芯片产品的市场差异化(用于802.11n的无线DSP+RF、蓝牙和其他新兴无线标准)而继续开发各自独有的自定义模块,第三方IP(USB核、以太网核以及CPU/微控制器核)占用的芯片空间几乎一成未变时,嵌入式存储器所占比例却显著上升(参见图1)。
图1:当前的ASIC和SoC设计中,嵌入式存储器在总可用芯片空间中所占比例逐渐升高
Semico Research 2013年发布的数据显示,大多数SoC和ASIC设计中,各式嵌入式存储器占用的芯片空间已超过50%.此外,许多大规模SoC嵌入式存储器的使用目的和主要性能也各不相同,如图2所示。
图2:多核SoC的各种嵌入式存储器IP
由于可以根据设计目的,通过采用正确的SoC存储器类型来优化设计,因此,对于设计师来说,利用各种存储器IP具有非常重要的意义。设计师可通过恰当分配各种存储器IP所占比例,实现速度、功耗、空间(密度)以及非易失性等各种性能参数的优化。
嵌入式存储器的主要设计标准
各种应用设计中,最佳存储器IP的确定主要基于以下5个驱动因素,如图3所示:
1 功率
2 速度
3 可靠性/良率
4 密度
5 成本
图3:确定存储器IP的主要因素
通过对上述各性能决定要素进行权衡,可得到最优解决方案。许多情况下,存储器编译器可根据输入存储器设计生成流程中的各种驱动因素,自动生成性能经过优化的特定存储器IP.同样重要的是,存储器IP的支持性结构应适用可靠的验证方法,且生成的IP良率最高。最后,为实现产量与质量的最优化,存储器编译器还应直接生成GDSII,无需人工干预或调整。其他要素还包括良好的设计余量控制、对自动测试图形向量生成和内建自测试(BIST)的支持。此外,最好具备通过BIST的单步执行进行硅片调试的功能。
功率
强大的编译器加之先进的电路设计,可极大地降低动态功耗(CV2f),并可通过利用多芯片组、先进的计时方法、偏置方法、晶体管Leff特征控制以及多重供应电压(VT)优化等技术最大限度地降低泄露功率。设计师可综合运用这些存储器技术,通过电压和频率的调整以及多电源域的利用,得到最理想的结果。
速度
为获得一流的存储器性能,先进设计技术的充分利用至关重要。设计师可利用存储器编译器对速度(比如存取时间或循环时间)、空间、动态功耗以及静态功耗(泄露功率)等因素进行权衡,得到所需要的最优组合。在通过多种VT技术、多芯片组以及多种存储单元等的综合选用,改进存储器块的同时,辅以节能设计技术,同样可以获得较高速度。
可靠性与良率
晶体管体积和能耗的大幅下降,虽然使噪声容限明显减小,但也对极深亚微米芯片的可靠性带来了影响。因此,为提高良率,改善运行的可靠性,需采用ECC和冗余技术。
由于现在SoC的位元数已十分庞大,因此,嵌入式存储器便成为了决定SoC良率的最重要因素。在提高存储器良率方面,由于可减少批量生产时间,控制测试与修复成本,因此专有测试与修复资源具有重要作用。采用一次可编程存储技术制造的存储器IP,在芯片制造完成后,发生存储信息失效时,其内置自修复功能便可对存储器阵列进行修复。理想情况下,为在生产测试过程中,快速进行修复编程,存储器编译器的修复功能需与硅片测试工具紧密集成。
对于设计师来说极其重要的是,可根据需要选择由晶圆代工企业制造位单元,或者进行自我设计。需进行定制设计时,与理解定制设计且可为各流程节点提供硅片数据的嵌入式存储器供应商进行合作,具有极大的帮助作用。有了先进的设计技术,即使不需要额外的掩膜和流程修正,亦可最大限度地提高良率和可靠性。
密度
在存储器IP的选择上一个重要的考虑因素是,能否为各流程节点选择不同的存储器密度。先进的存储器编译器允许设计师在密度与速度之间进行权衡,比如,是选择高密度(HD)位单元还是选择高电流位单元。
设计师还可借助灵活的列多路复用等功能,通过控制存储器占用形状(可变宽度、可变高度,或正方形),优化SoC布局规划,进而最大限度地减小存储器对芯片整体大小的影响。部分存储器编译器还支持sub-words(位和字节可写)、功率网格生成等功能,可最大限度地优化功率输出。此外,灵活的端口分配(一个端口用于读或写,第二个端口用于读和写)亦可节省SRAM、CAM和寄存器文件的占用空间。
两种嵌入式存储器IP架构的密度关系如图4所示。与6晶体管(6T)位单元相比,位容量一定时,单晶体管(1T)位单元最多可减少50%的芯片空间。在设计中,对速度要求较低而密度要求较高时,1T式架构是较为理想的选择。由于可采用批量CMOS流程,省却了额外的掩膜环节,因而有益于成本压缩。在高速应用方面,设计师可采用6T甚至8T位单元来满足其速度要求。
图4:存储器密度与不同嵌入式存储器IP架构的比例关系
成本
对于SoC/ASIC来说,为最大限度压缩成本,与次优IP(常称为“免费IP”)相比,设计师更愿选择“节省空间”的IP参数。尽管有许多存储器IP参数可供设计师免费选用,但在产品的整体收益性上,却并不总是存在经济性最好的解决方案。在很多情况下,与“免费”存储器IP相比,通过改善获批的嵌入式存储器IP的密度与性能来压缩制造成本,其效果更为显著。
在产品的整个寿命过程中,存储器体积的优化对量产成本的影响如表1所示。本表中,存储器IP所占用的芯片空间以百分比表示。可通过芯片成本、量产效率以及产品寿命,计算高密度存储器的成本压缩效果。节省的IP空间根据图4得出。从图中可以看出,1T和6T存储器的密度增量比值约为2:1.
表1:高密度IP与成本节约
嵌入式存储器IP选用指南
为让您对存储器设计中的可选要素有一个了解,现将带有部分最先进功能的收费嵌入式存储器类型总结如下。
单端口(6T)和双端口(8T)SRAM IP:
由于这类存储器架构大多适用于主流CMOS制造流程,无需额外的流程环节,因此基于传统6T存储单元的静态RAM存储器块已成为ASIC/SoC制造中的主流。6T存储单元采用了经过实践检验的由晶圆代工厂生产的可用于高速度、低功耗设计的6T/8T位单元,是大规模程序或数据存储器块的理想器件。6T存储单元可用于存储能力从几位到几兆位的存储阵列。
根据设计师是采用针对高性能还是针对低功耗优化的CMOS流程,采用此种结构的存储阵列,经过设计,可满足多种不同的性能需求。经高性能CMOS流程制造的SRAM块,在功耗得到降低的同时,在40nm和28nm等高级流程节点的存取时间可降低到1ns以下。随着流程节点的推进,外形尺寸的缩小,采用传统6T存储单元构建的静态RAM,其单元尺寸将更小,存取用时也更短。
SRAM存储单元的静态特性使其可保留最小数目的支持电路,只需要对地址进行解码,并向解码器、传感和计时电路的设计提供信号即可。
单端口(6T)和双端口(8T)寄存器文件IP:对于快速处理器缓存和较小的存储器缓冲(最高约每个宏块72Kbit)来说,这类寄存器文件存储器IP是个不错的选择。寄存器同时具备占用空间最小、性能最快等特点。
单层可编程ROM IP:这种结构功耗和速度均相对较低,特别适用于空间有限的微码的存储,固定数据的存储,或体积稳步递增的应用程序的存储。这类IP可支持多芯片组和不同长宽比,既缩小了芯片体积,又获得了最佳速度。为加快设计周期,部分IP还提供了用以驱动存储器编译器的编程脚本语言。
内容寻址存储器IP:由于速度更快,能耗更低,且与用于执行大量搜索任务的应用程序的算法途径相比,占用芯片空间更小,因此这类IP大多作为TCAM(三进制)或BCAM(二进制)IP,用于搜索引擎类应用程序。通常情况下,搜索可在单个时钟周期内完成。TCAM和BCAM通常用于包转发、以太网地址过滤、路由查询、固件搜索、主机ID搜索、存储器去耦合、目录压缩、包分类以及多路高速缓存控制器等。
单晶体管SRAM:这种结构虽然速度有所下降,但密度极高,可用于180 nm,160 nm,152 nm,130 nm,110 nm,90 nm以及65 nm流程。尤其适用于需要大量片上存储空间——大多大于256Kbit,但不需要极高的存取速度的ASIC/SoC程序,以及空间有限且存储器块存在泄露电流的设计。本结构可生成与SRAM工作原理相似的存储器阵列,但其基础为单晶体管/单电容(1T)存储单元(如动态RAM所用)。
由于采用了6T存储阵列,因此在相同的芯片空间上,单晶体管SRAM阵列的存储能力更强,但需要在系统控制器和逻辑层面,了解存储器的动态特性,并在刷新控制的提供上发挥积极作用。在某些情况下,为使其看起来像简单易用的SRAM阵列,也可能对DRAM及其自身控制器进行集成。通过高密度1T宏块与某些提供刷新信号的支持逻辑的整合,可使存储单元的动态特性透明化,设计师可在实施ASIC和SoC解决方案时,将存储器块作为静态RAM对待。
作为可获得许可IP,1T SRAM可从晶圆代工厂获得。但是,由于某些此类IP需要额外掩膜层(除标准CMOS层外),增加了晶圆成本,因而限制了晶圆代工厂的可选制造空间。为使额外的晶圆加工成本物有所值,芯片上采用的总DRAM阵列大小,通常必须大于50%的芯片空间。大部分可用DRAM宏均为硬宏单元,大小、长宽比以及接口的可选空间有限。
有一种单晶体管SRAM的特殊变体,采用了可通过标准批量CMOS流程制造的架构,因此,它既无需修改掩膜,也无需额外的流程步骤。此类IP宏块具有更高的成本效益(流程成本可节省15-20%),并且可在任何工厂进行加工,也可出于成本或生产能力等原因,改换加工工厂。这种解决方案提供了多种尺寸、长宽比和接口,可逐一指定相应的存储器编译器。对于系统的其余部分来说,生成的存储器块接口看起来就像静态RAM,但其密度(位/单元空间)是基于6T存储单元的存储器阵列的2倍(经过对作为空间计算一部分的全部支持电路的平均)。对于大型存储器阵列来说,支持电路所需全部空间所占百分比较小,存储器块的空间利用率也更高。
存储器编译器工具
嵌入式存储器编译器的职责是,针对特定存储器应用程序的确切需求,量身定做基本的IP存储器宏单元。若适用范围足够广,编译器可允许设计师选择最优架构,自动生成存储器阵列,并精确确定优化程序所需的速度、密度、功率、成本、可靠性以及大小等因素。通过编译器的自动化操作,可降低非经常性工程成本,并可减少手动阵列优化相关的潜在错误。编译器不但可使客户的内核大小、接口以及长宽比均达到最理想数值,而且还可帮助他们最大限度地缩短上市时间。作为编译流程的一部分,编译器还可向设计师提供存储器阵列的电气、物理、仿真(Verilog)、BIST/DFT模型以及综合视图。
表2:嵌入式存储器IP的商业案例
结论
为新的ASIC/SOC选择最优嵌入式存储器IP是设计决策的关键。设计师应了解适用于其特定应用程序的最佳存储器特性的所有关键参数,其寻求的存储器IP应具有足够的适应性,可满足目标SoC的各种需求。尽管有现成的免费存储器IP可供使用,但与可为特定应用程序提供更好特性的收费IP相比,它并不能总是提供最佳解决方案。
经过充分调试的存储器IP具有体积小、泄露功率低、动态能耗低、速度快等特点,可使设计师的解决方案进一步优化,不但可在产品的整个寿命周期内,带来上百万美元的结余,而且也使其芯片在竞争激烈的ASIC/SOC市场上,得到更好的差异化。