前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Step By Step Use Abstract 提取LEF File

Step By Step Use Abstract 提取LEF File

作者头像
老秃胖驴
发布2019-09-17 15:24:53
6.8K2
发布2019-09-17 15:24:53
举报
文章被收录于专栏:陌上风骑驴看IC陌上风骑驴看IC

Advance Node的需要使用ICADV12.3版本的Abstract,28nm以上的需要使用IC61X

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 &

正常启动后,界面如下:

Menu->File->Library->Open 或者下图的图标,出现“OpenLibrary”界面,会列出所有的库。打开你的版图所在的库。比如“Test_16nm”

当你打开库以后,库里面的所有Cell,缺省都会在Core这个Bin里面。可以和LEF的使用者确认一下,最后的LEF文件里,这个Cell希望在那个Bin里,然后通过下面的方法,调整Cell所在的Bin.

选择相应的Cell,然后通过菜单Menu->Cells->Move… 来把这个Cell调整到其他的Bin。下图演示了吧lef_test这个Cell调整到Block这个Bin里。

Session #2:Pin Flow (抽取Pin)


这是抽取工作的第一步,工具会根据设置,在版图上生成相应的Pin,然后产生一个abstract.pin的view。

选择菜单 Menu->Flow->Pins 或者下图的图标,打开Pin这个抽取对话框。

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

第二个“Text”是如何进行Pin的名字转换的。可以全用下图的缺省值,不需要修改。

“Boundary” 是告诉工具如何生成Boundary,最后在LEF文件里的SIZE这一项,就是基于这个结果的。需要注意的是,SIZE字段只能支持RECT的坐标,也就是PRBoundary相应的BBOX的范围。如果需要指定非RECT的PRBoundary,请参看后面的Abstract中”Overlap”设置。

“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这个抽取对话框。

第一个是”Signal”,设置对于普通信号线是否抽取。工具判断“普通”走线和“Power/Ground”的标准是根据Pin抽取流程中的设置。

如果不勾选”Extractsignal nets”(如上图),那么工具不会抽取任何信号线。 如果勾选”Extractsignal nets”,那么工具会从Pin开始,抽取信号线,而抽取的连接情况是根据下面列表里的层次。比如,如果有Metal2,那么所有的Metal2.drawing会作为联通层,同时在上面会覆盖一层Metal2.net,属性就是这根信号线名。

第二个是”Power”,设置对于Power/Ground线是否抽取。

如果不勾选”Extractpower nets”(如上图),那么工具不会抽取任何Power/Ground线。 如果勾选”Extractpower nets”,那么工具会从Pin开始,抽Power/Ground线,而抽取的连接情况是根据下面列表里的层次。比如,如果有Metal2,那么所有的Metal2.drawing会作为联通层,同时在上面会覆盖一层Metal2.net,属性就是这Power/Ground线名。

第三/第四一般不需要修改,按缺省就可以。一般不用抽取Antanna,如果需要抽取,可以查阅具体的手册。

Session #4:Abstract Flow (生成Blockage等其他信息)


这是最后生成Blockage以及其他的信息。工具会以extract.ext为基础,只保留所有的Pin和在Extract(抽取)这一步生成的Metalxxx.net信息,然后根据设置生成Blockage及其他内容,最后产生一个abstract的view。

选择菜单 Menu->Flow->Abstract 或者下图的图标,打开Abstract这个抽取对话框。

第一个是调节Pin的位置,缺省不需要修改。如果想要把Pin都放在周围的话,勾选上,”SignaNets”下的”Createboundary pins”来对普通信号线进行操作,或”Power Nets”下的”Createboundary pins”来对Power/Ground进行操作。

设置Blockage的生成方式。缺省是所有的金属层次都会生成Blockage,也就是除了Pin和Metalx.net的地方,其他地方都覆盖这个Metal层的Blockage,同时在Pin的周围流出一定的空间(”PinCutout”打勾)给外部走线的连接。如果某层不想生成Blockage,那么选上这层,然后点击下面的”Delete”按钮。Blockage最后在LEF里面会成为OBS里面的内容。

“Fracture”这里设置是否要让工具做Fracture这一步,也就是是否要把所有的Polygon图形(Pin/Net/Blockage)转换成Rectangle的。如果需要通用性,那么把这个选项选上,最后的所有图形都是Rect组成,后继使用LEF的工具一般都是会支持RECT的。但是这个切割的过程会比较缓慢。 如果不勾选,那么最后输出的LEF会含有Polygon图形,如果后继工具确定能支持Polygon的输入,则没有问题,如果后继工具不支持Polygon,则LEF的读入会有问题。

“Overlap”这个选项是指示工具是否在LEF中生成特殊的OVERLAP字段。 LEF的Size字段只能是RECT图形,也就是整个PRBoundary所在的BBOX框,比较大。 而LEF通过OVERLAP字段来指示POLYGON图形的PRBoundary,这个用来精确描述这个LEF的使用范围。

  • “off”:不生成OVERLAP字段。
  • “Always::用列表中的层次计算出PR Boundary,然后生成OVERLAP字段。
  • “As needed”:如果有PR Boundary就用PR Boudary,如果没有,就用列表中的层次生成,然后生成OVERLAP字段。

另三个”Density” , “Site” , “Grids”一般不需改动,用下图的缺省设置就可以。

Session #5:Verify Flow (验证)

这是验证的过程,不是必须的流程,可以略过不做。如需操作,则按下面步骤。

选择菜单 Menu->Flow->Verify 或者下图的图标,打开Verify这个对话框。

按照下面的缺省值设置,运行即可。如果结构中有问题,请按需求解决。

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


这是最后生成LEF文件的步骤。

选择菜单 Menu->File->Export->LEF打开ExportLEF这个对话框。

如下图设置,填入想要生成的LEF文件的名字到LEFFilename。 注意LEFVersion需要选择5.8。因为5.8的版本才能支持TSMC16nm的DoublePattern的定义。

选择OK后,工具会从前面步骤产生的abstractview来生成最终的LEF文件。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陌上风骑驴看IC 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档