数字芯片后端设计——Memory Complier使用及库导入
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。
生成文件
- .lib文件:lib库文件转为db库,用于DC综合和ICC后端导入的库文件。
- .lef文件:
- .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转FRAM(Milkyway)用于ICC
所需文件:.lef .tf
- Milkyway -galaxy -nogui -load “lef2milkyway.scm”
-
https://blog.****.net/lyfwill/article/details/81330081 ↩︎