在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12348|回复: 27

[资料] Step By Step Use Abstract 提取LEF File

[复制链接]
发表于 2021-11-18 10:38:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
题记:数字电路相关的公众号有许多,模拟的却很少,今天推荐一个干货号:KaLaPaLa, 请扫二维码关注。本文转自该号。
640?wx_fmt=jpeg.jpg

Advance Node的需要使用ICADV12.3版本的Abstract,28nm以上的需要使用IC61X
640?wx_fmt=png.jpg

Session #1:准备阶段

设置Virtuoso的环境变量:
setenv CDSHOME /IC123的安装路径/
if ( -x $CDSHOME/tools/bin ) set path=($CDSHOME/tools/bin $path)
if ( -x $CDSHOME/tools/dfII/bin ) set path=($CDSHOME/tools/dfII/bin $path)
在工作目录下,用“abstract &” 命令来启动Abstract.
cmd>abstract &

正常启动后,界面如下:
640?wx_fmt=png.jpg
Menu->File->Library->Open 或者下图的图标,出现“OpenLibrary”界面,会列出所有的库。打开你的版图所在的库。比如“Test_16nm”

640?wx_fmt=png.jpg
640?wx_fmt=jpeg.jpg
当你打开库以后,库里面的所有Cell,缺省都会在Core这个Bin里面。可以和LEF的使用者确认一下,最后的LEF文件里,这个Cell希望在那个Bin里,然后通过下面的方法,调整Cell所在的Bin.
640?wx_fmt=jpeg.jpg
选择相应的Cell,然后通过菜单Menu->Cells->Move… 来把这个Cell调整到其他的Bin。下图演示了吧lef_test这个Cell调整到Block这个Bin里。
640?wx_fmt=png.jpg
640?wx_fmt=png.jpg
640?wx_fmt=jpeg.jpg

Session #2in Flow (抽取Pin

这是抽取工作的第一步,工具会根据设置,在版图上生成相应的Pin,然后产生一个abstract.pin的view。
选择菜单 Menu->Flow->ins 或者下图的图标,打开Pin这个抽取对话框。
640?wx_fmt=png.jpg 640?wx_fmt=png.jpg

第一个”Map”是设置工具是如何判别Pin的。如果没有特殊需求,可以按下图的缺省值填写。Power/Ground这里的设置是让工具根据名字来判断是否是Power/Ground,如果不是,工具就认为是普通走线。
640?wx_fmt=jpeg.jpg

第二个“Text”是如何进行Pin的名字转换的。可以全用下图的缺省值,不需要修改。
640?wx_fmt=png.jpg
“Boundary” 是告诉工具如何生成Boundary,最后在LEF文件里的SIZE这一项,就是基于这个结果的。需要注意的是,SIZE字段只能支持RECT的坐标,也就是PRBoundary相应的BBOX的范围。如果需要指定非RECT的PRBoundary,请参看后面的Abstract中”Overlap”设置。
640?wx_fmt=png.jpg
“Create boundary”有三个选项,分别为:
  • “off”:工具不生成PRBoundary而直接使用版本里的PR Boundary。如果版图里没有PRBoundary,工具会报错。
  • “as needed”:如果版图里有PRBoundary,那么工具就使用这个PR Boundary。如果版图里没有,工具会根据下面列表里的层次来自动生成。
  • “always”:不管版图里是否有PR Boundary,工具都会根据列表里的层次来自动生成。


Session #3:Extract Flow (抽取走线)

这是从版图中按要求抽取走线的工,工具会根据设置,在版图中抽取需要的走线,生成Metalxxx.net的覆盖层,然后产生一个abstract.ext的view。
选择菜单 Menu->Flow->Extract 或者下图的图标,打开Extract这个抽取对话框。
640?wx_fmt=png.jpg 640?wx_fmt=png.jpg
第一个是”Signal”,设置对于普通信号线是否抽取。工具判断“普通”走线和“Power/Ground”的标准是根据Pin抽取流程中的设置。 640?wx_fmt=jpeg.jpg
如果不勾选”Extractsignal nets”(如上图),那么工具不会抽取任何信号线。
如果勾选”Extractsignal nets”,那么工具会从Pin开始,抽取信号线,而抽取的连接情况是根据下面列表里的层次。比如,如果有Metal2,那么所有的Metal2.drawing会作为联通层,同时在上面会覆盖一层Metal2.net,属性就是这根信号线名。
第二个是”Power”,设置对于Power/Ground线是否抽取。

640?wx_fmt=png.jpg

如果不勾选”Extractpower nets”(如上图),那么工具不会抽取任何Power/Ground线。
如果勾选”Extractpower nets”,那么工具会从Pin开始,抽Power/Ground线,而抽取的连接情况是根据下面列表里的层次。比如,如果有Metal2,那么所有的Metal2.drawing会作为联通层,同时在上面会覆盖一层Metal2.net,属性就是这Power/Ground线名。第三/第四一般不需要修改,按缺省就可以。一般不用抽取Antanna,如果需要抽取,可以查阅具体的手册。

640?wx_fmt=jpeg.jpg
640?wx_fmt=png.jpg
Session #4:Abstract Flow (生成Blockage等其他信息


这是最后生成Blockage以及其他的信息。工具会以extract.ext为基础,只保留所有的Pin和在Extract(抽取)这一步生成的Metalxxx.net信息,然后根据设置生成Blockage及其他内容,最后产生一个abstract的view。
选择菜单 Menu->Flow->Abstract 或者下图的图标,打开Abstract这个抽取对话框。
640?wx_fmt=png.jpg 640?wx_fmt=png.jpg
第一个是调节Pin的位置,缺省不需要修改。如果想要把Pin都放在周围的话,勾选上,”SignaNets”下的”Createboundary pins”来对普通信号线进行操作,或”Power Nets”下的”Createboundary pins”来对Power/Ground进行操作。

640?wx_fmt=jpeg.jpg
设置Blockage的生成方式。缺省是所有的金属层次都会生成Blockage,也就是除了Pin和Metalx.net的地方,其他地方都覆盖这个Metal层的Blockage,同时在Pin的周围流出一定的空间(”PinCutout”打勾)给外部走线的连接。如果某层不想生成Blockage,那么选上这层,然后点击下面的”Delete”按钮。Blockage最后在LEF里面会成为OBS里面的内容。
640?wx_fmt=png.jpg
“Fracture”这里设置是否要让工具做Fracture这一步,也就是是否要把所有的Polygon图形(Pin/Net/Blockage)转换成Rectangle的。如果需要通用性,那么把这个选项选上,最后的所有图形都是Rect组成,后继使用LEF的工具一般都是会支持RECT的。但是这个切割的过程会比较缓慢。
如果不勾选,那么最后输出的LEF会含有Polygon图形,如果后继工具确定能支持Polygon的输入,则没有问题,如果后继工具不支持Polygon,则LEF的读入会有问题。
640?wx_fmt=png.jpg
“Overlap”这个选项是指示工具是否在LEF中生成特殊的OVERLAP字段。
LEF的Size字段只能是RECT图形,也就是整个PRBoundary所在的BBOX框,比较大。
而LEF通过OVERLAP字段来指示POLYGON图形的PRBoundary,这个用来精确描述这个LEF的使用范围。
640?wx_fmt=png.jpg
  • “off”:不生成OVERLAP字段。
  • “Always::用列表中的层次计算出PR Boundary,然后生成OVERLAP字段。
  • “As needed”:如果有PR Boundary就用PR Boudary,如果没有,就用列表中的层次生成,然后生成OVERLAP字段。


另三个”Density” , “Site” , “Grids”一般不需改动,用下图的缺省设置就可以。
640?wx_fmt=png.jpg 640?wx_fmt=png.jpg 640?wx_fmt=png.jpg
Session #5:Verify Flow (验证)

这是验证的过程,不是必须的流程,可以略过不做。如需操作,则按下面步骤。选择菜单 Menu->Flow->Verify 或者下图的图标,打开Verify这个对话框。
640?wx_fmt=png.jpg 640?wx_fmt=png.jpg
按照下面的缺省值设置,运行即可。如果结构中有问题,请按需求解决。
640?wx_fmt=png.jpg

Session #6EF out (产生LEF文件)


这是最后生成LEF文件的步骤。选择菜单 Menu->File->Export->LEF打开ExportLEF这个对话框。
640?wx_fmt=png.jpg
如下图设置,填入想要生成的LEF文件的名字到LEFFilename。
注意LEFVersion需要选择5.8。因为5.8的版本才能支持TSMC16nm的DoublePattern的定义。 640?wx_fmt=jpeg.jpg
选择OK后,工具会从前面步骤产生的abstractview来生成最终的LEF文件。

发表于 2021-11-18 19:22:27 | 显示全部楼层
点赞
发表于 2021-11-19 07:47:58 | 显示全部楼层
Thank you.
发表于 2021-11-19 10:18:22 | 显示全部楼层
我记得这个公众号是他们AE
发表于 2022-2-16 17:18:36 | 显示全部楼层
非常感谢,讲解非常清楚!
发表于 2022-2-17 15:16:31 | 显示全部楼层
生成的LEF文件里面的对pin的属性都是INPUT的,有些是OUTPUT的PIN还需要在PIN设置那里修改一下吧
发表于 2022-8-10 18:22:56 | 显示全部楼层
想问,如果出pin是M2,希望与pin相连的M1都作为OBS。LEF中pin下只有M2的信息。能设置吗? 同时要把antenna抽出来的。
发表于 2022-10-19 19:41:24 | 显示全部楼层
请问verify会影响最后的结果的吗?我这里一直显示error
在abstract阶段,所有block都有一个warning:Bus annotation cannot be completed for the specified abstract because the logical view for cell C1 is invalid.
发表于 2022-10-20 09:40:10 | 显示全部楼层
点赞
发表于 2022-10-20 10:15:10 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-19 10:21 , Processed in 0.028944 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表