数字芯片后端设计——Memory Complier使用及库导入_木子金kimho的博客-程序员宝宝

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,在哪些地方可以打孔。

发表评论