ARM公司MC软件使用
Memory Compiler用于生成数字芯片中片上存储SRAM的生成。
关于所生成SRAM的结构和参数概念,参考1即可。在这里只谈一下自己平时需要设置的参数。下图为软件界面,
参数设定
- Number of Words:SRAM的深度,有范围限制。
- Number of bits:SRAM数据宽度,有范围限制。
- Multiplexer Width:根据官方PDF内设置即可,这个设定与SRAM的形状,有关,有范围限制,如下图。
- Frequency:根据系统工作频率设定,个人认为,不同频率,生成的SRAM硬件单元密度,形状,布线是不同的。
- Word-write Mask:掩码,根据需要开启即可。
- Corners:工艺角,一般跟整个系统需要的工艺角相同即可,一般只勾选一个就可以,否则会生成好多文件。ss为slow,tt为标准,ff为fast;一般SRAM工艺角与标准单元工艺角参数相同。
生成文件
- .lib文件:lib库文件转为db库,用于DC综合和ICC后端导入的库文件。
- .lef文件:用于生成物理库MW
- .v文件:生成verilog模型,用于前端仿真。在综合时,不要包括进来,否则会提是无法综合的错误。后端也不会用到。
lib转db用于DC综合和ICC后端导入的库文件
- Memory compiler输出文件一般为.lib格式,DC读取库位.db格式
- 在lc_shell(library compiler)中运行,与dc_shell启动方式相同
lc_shell
- 读取.lib文件
read_lib /路径/文件名.lib
- 生成.db文件
write_lib USERLIB_ss_0p99v_0p99v_125c -format db -output /路径/文件名.db
- 注意:框中名字在输出db时需要遇到,写错的话无法输出db。
lef转MW物理库(Milkyway)用于ICC
所需文件:.lef .tf
其中.tf文件是每个工艺厂商都会提供的工艺技术文件,其内部包含一些特定参数,如每一金属层的电气特性、金属层厚度、显示颜色、层间阻抗、设计规则等,对布局布线有用。
.lef文件:
- 需要sram的lef文件与工艺厂商提供的lef文件。
- sram的lef文件内部包含了各个端口的信息如下,具体内容还需研究。
- foundary的lef文件包含了金属层与通孔的信息如下,貌似跟tf文件的内容优点类似?
转MW需要使用软件Milkyway,生成的MW中主要包含三个内容:
Milkyway的制作其实就包含了三类信息,Blockage,Pin,Via,就是通常所说的BPV。简而言之,就是Milkyway就是告诉tool,我这个ip有多大,有哪些signal pin,power ground pin, 哪些地方有blockage,在哪些地方可以打孔。