SRAM vs. DRAM
存储器在片上的分类
片上存储器的选择
---------------------------------------------------------------------------------------------------------------------------------
存储器是现代电子技术发展中不可缺少的设备之一。当我们购买电脑和手机时,存储器的大小与运行速度有关,是重要的参考参数之一。 事实上,这里的存储器指的是DRAM,是通过特定的接口按照一定的协议接入到SoC上的。
SoC不同尺寸和型号的尺寸和型号的存储器。 用在cpu我们熟悉们熟悉的level 1 cache, level 2 cache. 在集成芯片内部,我们统称这一系列存储器当前端设计师提出电影中存储器的大小、速度和类型时,DFT要统筹规划存储器的形状、速度、面积、功耗、测试等要求,给出合理的存储选择方案。
不同于DRAM,
是目前最快的存储设备。 因为价格比较高,只会在要求苛刻的环境中使用。Static,只要电源存在,RAM内容不会丢失。SRAM一个需要6个晶体管,可以容纳在单位空间内SRAM单位有限。例如,在追求执行速度时cache,我们通常会采用SRAM。
DRAM速度比不同SRAM要慢,价格也比较便宜。存储单元为电容,集成度高,但需要定期刷新特定电路,防止数据丢失。刷新周期通常为4ms - 64ms。 当我们追求容量时,我们会选择相当低的成本和更多的存储内容DRAM。
SRAM | DRAM | |
容量 | 小 Max 1GBit | 较大 |
速度 | 高速 | 较低 |
造价 | 较高 | 较低 |
用途 | 片上/cache | 片外 |
片上存储器是半导体集成电路的重要组成部分,主要代工厂和EDA公司都有自己的memory bit cell和compilers提供。现有memory offering主要有台积电、台联电、中芯国际、三星、英特尔,global Foundry等。 在工艺过程中,目前可批量生产的工艺已达到7个nm。
on chip memory使用较多的是SRAM,用于高速处理芯片内部所需的数据存储。 除此之外,ROM通常也用SoC上面,用来存放预先写好的东西boot信息。但近几年来,ROM有慢慢被FLASH替代趋势。 SRAM受限于其compiler1有一定的尺寸限制。 通常使用太小的存储器FF实现寄存器。当芯片上所需的存储器尺寸超过时compiler需要提供限制logic memory。将小的memory安需要拼接成大的memory功能使用。
根据其功能,片上存储器通常有以下几种:
只有一组access bus2所有的读写都是通过这组阅读的bus实现。每时每刻只能选择读写中的一个操作来访问某个地址。
有两组access bus,A和B。 A口只写,B口只读
同样也有2组access bus。每组bus都有可读可写的能力 【3】
只读存储器。内容需要提前保存。
根据不同的优化方法,片上存储器有不同的划分。 以TSMC 台积电 7nm以技术为例,有以下不同的优化方向compiler。
基本存储器类型为高电流bit cell,compiler名字通常有SP前缀。
基于面积优化: 前缀为HD,意为高密度
进一步优化面积:前缀UHD
基于速度优化:前缀为HS
我们可以结合功能分类和优化方向进行分类compiler矩阵。【4】
HS | UHD/HD | 标准 | ROM | |
SP | Yes | Yes | Yes | Yes |
TP | Yes[5] | |||
DP | Yes |
TIPS:
【1】compiler是指由EDA厂商或memory bit cell将由制造商提供bit cell将完整的存储器工具组合成用户需求。
【2】Access Bus 通常包含addr, DI, DO,RWB,WIB,CLK等信号
【3】无论是TPSRAM还是DPSRAM,A读写时,口和B口不能同时操作同一地址。
【4】依tsmc 7nm技术compiler 例如,根据其他工艺和其他优化方法compiler不尽相同。
【5】TPSRAM的实现只有RF, register file.
如今,随着集成电路集成度的不断提高, 片上存储器在SoC它所占的比例越来越大。目前,片上存储器的比例可达70%1
在前端设计中,设计师更关心功能考虑,如尺寸,access方式等。以cpu level1 cache例如,设计师对存储器的需求主要体现在:
1.bitwidth 位宽
2.word depth 深度
3. 类型,1RW,单口读写
4. 运行速度1G
在实现过程中,需要考虑的维度远远大于这些功能。
在保证功能的前提下,如果大小和类型可以是现有的compiler提供,DFT为了实现最佳性能,需要帮助前端设计选择合理的存储类型。 这里需要考虑的主要参数是速度、面积、形状、休眠方法和后期mbist统筹规划测试。
在大多数情况下, 会有不止一个符合功能要求的2compiler设置。如何从这一系列设置组合中筛选出最适合项目实现的最优化解决方案?DFT工程师的研究领域。
筛选过程分为两步。
1.初步筛选。
在大多数情况下,不同的compiler所能满足的性能区域有所重合。
在这里,我们需要选择所有满足类型和尺寸的项目compiler设置组合。
需要注意的是,我们不具体考虑速度指数。 原因是即使是同一个compiler,由满足相同尺寸需求的不同设置组合产生的存储器通常速度不同。因此,在详细的选择步骤中通常会完成速度考虑。
2.细化筛选
落入重合区域的存储器需要根据不同的要求compiler进一步筛选性能。
速度是必须满足的条件。由于设置速度不同,通常先判断面积,筛选出最小面积。然后判断设置下的速度条件是否能满足。
TIPS:
【1】不同类型芯片存储器的比例不同。
2功能要求主要包括位宽、位深、单口或双口、速度等。 但这里通常不考虑速度。