Abstract提取LEF说明.docx
《Abstract提取LEF说明.docx》由会员分享,可在线阅读,更多相关《Abstract提取LEF说明.docx(12页珍藏版)》请在冰豆网上搜索。
![Abstract提取LEF说明.docx](https://file1.bdocx.com/fileroot1/2023-4/19/335f45b0-6742-4801-83fd-10ef41cbd671/335f45b0-6742-4801-83fd-10ef41cbd6711.gif)
Abstract提取LEF说明
Abstract提取LEF详细说明
以我实际项目PLL_TOP_RAD_V2为例:
需要提取LEF所需要的GDS(PLL_TOP_RAD_V2.gds),gds相对应的的map),以及tf(HL55LP_HS_RVT_V1p2d.tech.lef)
1.第一步,启动软件,终端窗口输入abstrct启动软件,点击菜单File->New,新建一个名为PLL_TOP_RAD_V2的库,点击“OK”完成。
2.导入提取所需要的工艺LEF和gds文件。
LEF导入:
点击File->LEF,在ImportLEF窗口中输入所需要的tech.lef文件名及正确的路径。
确认View:
abstract,勾选上Overwrite,点击“OK”完成导入LEF文件。
如果这步有警告或者错误请务必排查出问题所在,不然后面的步骤很难顺利完成。
GDS以及MAP导入:
在GDSII中输入framviewgds文件的路径及文件名。
LayerMapTable一栏中输入工艺对应的map文件,点击“OK”完成。
4.选中导入进来的Core中的CELL点菜单Cells->Move..,MoveSelectedCells到Block,点击OK完成。
把PLL_TOP_RAD_V2单元从Core移到了Block。
5.接下来的步骤进入到FLOW的流程,一步一步的完成。
首先是Flow->Pin,
Map一栏,详细情况如下图:
在Map栏中,Maptextlabelstopins中(M3M3)说明,第一个M3指版图中我用的M3层打的pin,第二个M3就是金属三那一层,意思是我M3的pin我用的M3去打的label。
(可明白?
)其它工艺有可能是(M3txtM3)的表述,具体取决于你map和lvsrule里面所有定义层的pin在做LVS能够识别到的label所打的层。
因为我这个工艺只用到了M3M2M1这三层金属打label是识别pin,所以我没有M4以上的标注。
Power/Groundpinnames(regularexpressions):
表述IP中的的电源/地的pin的名称。
Clockpinnames(regularexpressions):
表述CLOK信号
Analogpinnames(regularexpressions):
表述模拟pin
Outputpinnames(regularexpressions):
表述输出pin
如果以上没有说明在产生的lef中(如下图)的USE一项,可能不是POWER/GROUND/CLOCK/ANALOG的标识,统一是USESIGNAL,DIRECTION标识将都是INPUT。
LEF中将不能区分信号的输入输出,以及功能区分,用于时钟、电源还是模拟信号。
Boundary:
如下图
在Createboundary一栏选择“always”,该设置强制生成符合布局布线的边界。
在Usinggeometryonlayers,该栏中输入作为LEF边界的层,该参数强制abstract工具产生与framview多边扩展后的等价的布局布线边界。
(疑问:
只能是矩形?
多边型的framview不能产生多边型的lef?
)
LEF中OBS所包含的层取决于此选项中所填写的金属层信息(通孔除外)。
例子中RDL层在我gds里面没有,但是tech.tf文件有定义,Usinggeometryonlayers一栏我没有删除RDL,最终的产生的LEF文件OBS下面包含了RDL的blockage。
Blocks:
如图
以上Map、Boundary、Blocks相应栏都设置好了,点击右下角的“RUN”运行。
完全正确,会在Pins对应下面出现“√”符号表示成功。
如果出现黄色的“!
”表示有警告,并需要排除警告再继续。
警告查看:
点击Cells-->Report。
6.Fow-->Extract:
Signal设置如下图:
Power设置:
如果将Signal或者Power中LayerAssignmentforPowerExtraction中的M1M2M3...删除或者M1M2M3...后面CreatePins选项去掉下面的选择,那framview中该层金属对应的所有PIN的信息将不全,以案例中的“LP_PAD”pin为例如下图:
Anterna:
(天线设置,目前发现没有得到天线的结果,还需要验证)
General:
7.Flow->Abstract:
SIgnalNets/Createboundarypins:
就是信号线按照贴着prboundary提取出PIN,如果你做IP建议不要选,如果选择了,当你framviewgds中预留的PIN的金属宽度大于你PIN的金属深度时(如下图,pin的矩形是2.53uX0.6u),所提取出来的LEF中坐标标记只能最大按照你的金属高度(0.6u)来计算。
LEF结果如图,RECT380.445339.4381.045340;说明:
LEF文件中的两个坐标做下角(X1=380.445Y1=339.4)和右上角(X2=381.045Y2=340)标记了PIN的位置和PIN的宽度深度。
X2-X1=381.045-380.445=0.6u,所以实际得到的LEF文件中标记PIN的宽度不是2.53u,而是错误的得到了0.6u的宽度。
PowerNets下面的Createboundarypins与Createringpins只能二选一。
Createboundarypins意思是只能提取出靠近boundary边沿的PIN(如上图),而不是整条powerging都提取出来。
但是同样需要注意,如果你framview中gds的电源PIN端口宽度大于深度,那选择Createboundarypins所提取出来的LEF文件中PIN的定义同样会出现SignlaNETS/Createboundarypins所描述中的宽度不够的错误。
Createringpins:
抽取POWERRING,如果没有指定Ringpinmaxdistangctoboundary,那只会抽取一条离boundary最近的POWERRING。
如果要抽取多条POWERring这个地方必须指定RingPinMaximumDIstacneToBoundary的距离,单位是u。
Followringpin:
必须在选取了Createringpins先找到POWERRING并且把和POWERRING有连接关系的一起抽取出来,比如数字中的Stripe(电源条)等等。
8Flow->Verify:
验证。
全部默认,直接点击RUN运行。
9.LEF文件的导出:
在LEF一栏输入要导出文件的名称。