数字芯⽚后端设计——MemoryComplier使⽤及库导⼊ARM公司MC软件使⽤
Memory Compiler⽤于⽣成数字芯⽚中⽚上存储SRAM的⽣成。
关于所⽣成SRAM的结构和参数概念,参考即可。在这⾥只谈⼀下⾃⼰平时需要设置的参数。下图为软件界⾯, 参数设定scm文件
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,在哪些地⽅可以打孔。
Milkyway -galaxy -nogui -load “lef2milkyway.scm”
此处脚本需要可联系我。
1.