OTP和MTP的区别
MTP: Multiple-Time Programmable,可以多次编程
FTP: Few-Time Programmable,可编程的次数有限
OTP: One-Time Programmable,只允许编程一次,一旦被编程,数据永久有效
1 什么是OTP?
OTP(One time programmable)是一种特殊类型的非易失性存储器 ( non-volatile memory ), 只允许编程一次,一旦被编程,数据永久有效。相较于MTP (multi-time programmable ) 如EEPROM等, OTP 的面积更小而且不需要额外的制造步骤,因此广泛应用于low-cost 芯片中,OTP 常用于存储可靠且可重复读取的数据,如:启动程序、加密密钥、模拟器件配置参数等。
2 efuse 的作用
eFuse可用于存储MEM repair的存储修复数据,也可用于存储芯片的信息:如芯片可使用电源电压、芯片的版本号、生产日期。在厂家生产好die后,会进行测试,将芯片的信息写到eFuse中去。
3 efuse的使用
芯片在初次上电过程中会读取eFuse中的电压字段数值,送到芯片外部的电源管理器,电源管理器在芯片初始上电前会提供一个标准的电压(假设为1.0v),在接受到eFuse中的电压字段数值后会调节电压大小。
RAM和ROM的区别
科普Register file和SRAM
1 memory compiler的使用
RTL 阶段
在RTL阶段主要只是产生verilog行为级和设置文件
综合与布局布线阶段
为了避免重新启用Memory Compiler与以前设置有出入,所以最好一次性将Memory Compiler能够产生的相关数据一并输出。在这里,Memory Compiler还需要产生3种数据。
.LIB 该数据是RAM的时序信息文件
.VCLEF 布局布线工具需要使用的物理信息文件
.SPEC RAM的注释文件
在布局布线前,需要考虑RAM的长与宽,估计它的位置与方向,尽量让功能想关的模块靠近一些。
将产生的.LIB文件转换成.DB文件,就可以把Memory Compiler生成的RAM加入到代码中进行综合了。在综合工具的脚本中的serch_path下加入RAM的DB文件地址即可
2 Register file与SRAM的比较
从datasheet直观上来看,SRAM比Register file多了OEN(输出使能)。
除此之外,Register file和SRAM两者相比,SRAM的最大容量比RF要大。相同配置下,RF的面积更大,功耗更低。
在mem比较小的情况下用RF划算,并且同样的mem,RF的长宽比会更小,方便后端floorplan。大容量的时候,SRAM的速度是有优势的。并且SRAM速度快,面积小。同样大小的RF,面积就很大了,速度也慢下来了。
所以简单来说,小容量选RF,大容量选SRAM。