Memory是大家Floorplan中经常使用到一个器件,而且需要花费不少时间去摆放它。Memory的种类很多,各种类型还分别具有不同的参数。那大家有没有想过,对一个设计来说,我们是如何去选择合适的memory类型?不同的类型有什么区别?
在后端设计实现中,我们把这一过程称为memory compiler。下面,我们来介绍下memory compiler的具体内容。
Memory种类
Memory用来存储和读写的大量的二进制数据。按功能上分类,基本可以分为两大类:只读存储器(ROM)和随机存取存储器(RAM)。ROM只能读,不能写;RAM既能读又能写。RAM具有易失性。断电以后,RAM中保存的数据将全部丢失;而ROM中的数据则可以长久保存。
RAM可以分为常用的SRAM和DRAM。SRAM是静态的存储器,存储单元是一个触发器,有0,1两个稳态;DRAM是动态的存储器,比SRAM要复杂一些,因为它会利用电容器存储电荷来保存0或1,需要在存储数据的过程中需要对于存储的信息不停的刷新。 这边还需要提到另一种常用的存储器,我们称为Register File。 它是由多个寄存器堆组成的阵列,内部结构功能上和SRAM完全类似。只是Register File去除了bist电路,容量较小,速度也比较快。
Memory结构