在数字IC设计中,对SRAM的选取是非常重要的部分。电路设计的优劣通常用PPA来衡量,对于SRAM也一样。designer往往希望在满足特定性能的情况下,尽量降低memory的面积和功耗。
面积的选择相对简单,有一定经验的designer可能都听过如下这些经验之谈:
能用单口RAM尽量不用双口RAM;
尽量用少量的大size SRAM代替大量的小size SRAM;
尽量用SRAM替代DFF阵列;
对于大size的双口SRAM,其效益要超过双倍的单口SRAM(同size的双口/单口SRAM面积比小于2);
大size通常生成SRAM,小size通常生成register file。
这些经验是否有效,需要得到验证,后文内容将有所介绍。
SRAM根据功能可分为单口SRAM(SPSRAM)和双口SRAM(DPSRAM);根据电路结构可以分为RAM和register file;根据PPA,可以分为高性能(high speed/high performance),高密度(high density)或极高密度(ultra high density)。
SRAM用memory compiler生成,比如ARM的Artisan,synopsys的embedit,以及foundry自带的memory compiler。上图中是基于某工艺的S和T的memory compiler的area density,横轴是SRAM的size(bit number),area density=SRAM的面积/size。空置的单元格是因为没有数据,空置的数据考虑用存在的数据进行线性拟合。
由于size范围比较广,因此将数据分为三段。
对于单口RAM
area density曲线在size较小的时候存在较大的波动,因为SRAM的面积受到形状影响,长宽比接近1:1的同size SRAM面积更小。但是,我们生成SRAM的时候,优先考虑深度和宽度以满足功能需要,一些特定形状的SRAM通常为了满足宽度需要而将column mux加大。
通过上面的表格,我们可以发现T的register file明显要劣于T的RAM和S的register file与RAM。随着size的增加,area density接近0.2~0.25之间。S的register file和T的RAM面积效率接近,略优于S的RAM。
对于双口RAM
S的register file在全范围内都是DPSRAM中效率最高的,伴随着size增加,S的RAM效率逐渐接近S的register file,并且明显优于T的RAM和register file。
考虑到S的DPSRAM较优,T的SPSRAM较优,因此单口RAM和双口RAM的比较就用这两种类型的RAM。
随着size增加,S的双口RAM与T的单口RAM效率几乎接近;在size较小时,S的双口RAM密度也不总是T的单口RAM的两倍,红色圆圈中是单口RAM的密度大于双口RAM密度的情况。
从上面的数据中,可以得出如下结论:
单口RAM密度要低于双口RAM,但这个规律并非恒定的,并且受RAM本身的形状和column MUX影响较多;
RAM结构并不总是由于register file结构的SRAM,即使是在大size的情况下(不考虑timing);
对于小size的SRAM,形状和column mux的影响更为突出,对于大size的SRAM,density曲线近乎平直,几乎不受形状影响(也可以认为大size的SRAM其长宽比很少出现极端的情况)。
联系客服