本文以sram1024x32为例。若不采取任何手段,该sram有1024条WL,32条BL。版图形状为很长的长方形。如下图所示,这种版图很明显是不符合芯片设计规范的。所以我们考虑将该sram分成四块。不管怎么分,只要保证内部的存储单元有1024x32个都是符合规范的。
这样分后,是不是版图一下就规整了好多,BL分为四个BANK,每个BANK是有64条BL,这样左右两个BANK一共是128条BL,那么WL也可以变为1024/4=256条,同时,又分为上下两个BANK,这样,每个小BANK就是128x64,这种结构,排列在一起,是不是就是一个长宽倍数差别不大的长方形了。
当然,这样分也会带来一个步骤,就是字线译码和位线译码。WL还是很好选的,BL需要一点技术了。以ARM公司compiler生成memory为例。一个BANK内部如图所示:
每个memory_core如下:
如图所示,将每个BANK的BL分为四组,每组16条BL,那么在这些BANK里选中两条,是不是就可以输出32bit了。以上就是实际生产中的存储阵列排列方式。总结如下。