一种基于布线阻塞的LEF文件的生成方法与流程

文档序号:16785245发布日期:2019-02-01 19:22阅读:1271来源:国知局
一种基于布线阻塞的LEF文件的生成方法与流程

本发明涉及一种半导体设计技术,尤其涉及一种基于布线阻塞的lef文件的生成方法。



背景技术:

现有的lef格式(libraryexchangeformat)工艺技术文件产生的过程,主要是在现有的完整的版图gdsii文件已经完成的基础上,由版图设计人员通过在版图设计软件环境中进行一系列图形界面的手动操作,将每一个ip封装成仅包含阻塞层和引脚金属层的框架视图(layoutframeviewgdsii),然后再通过工具导出对应的lef格式文件,并手动删除lef文件中部分冗余描述语句,最终保存为可供数字后端自动布局布线使用的lef文件。随着制造工艺的发展和集成电路设计规模的扩大,lef库也越来越复杂。阻塞层(obslayer)是lef库中的定义内容,它在某些物理布线层上定义了一些几何图形,限制了物理布线的连接。

目前,数字模拟混合电路主要有两种设计形式;一种是以模拟电路为主,而数字电路则作为模块的形式参与设计,此设计以手动布局布线进行设计为主;另一种是以数字电路为主,而模拟电路则作为模块形式参与设计,此设计以自动布局布线进行设计为主;后者需要把模拟电路以黑盒子的形式,生成lef文件。对于标准单元电路来说,阻塞层上所构造的几何形体一定对应了gds库中对应层上的金属,由于不需要在这些层或者这些位置进行引线,所以在使用lef文件提取工具lef文件时被处理成了布线阻塞。而对于非标准单元电路模块来说,只需要对非标准单元电路模块的电路引脚进行自动布线,而不需关心电路内部的具体实现,因此将除去管脚的部分全部用阻塞层obs覆盖。如图1所示,使用现有的技术手段生成的lef文件中,设置待布线的芯片引脚pina和引脚pinb所在位置与阻塞层(obs)之间有1.5um的缝隙,这条缝隙所在的区域是不希望走线的。故在对电路模块的电路引脚进行自动布局布线时,如果阻塞层(obslayer)收缩,则导致这条缝隙所在的区域的布线面积增大,可能会造成内部电路走线(包括但不局限于原来处理成布线阻塞)和外部电路走线出现短路的现象,从而降低布线的准确率。为了解决这个问题,需要手动给所述区域添加上阻塞层,但会增加了布线的时间,且布线覆盖率不高。



技术实现要素:

本发明所要解决的技术问题是在生成的lef文件中设置相应芯片的引脚的位置和阻塞层(obs)之间的缝隙区域内,通过人工手动添加阻塞层的生成方法会增加布线时间和人力成本。为解决上述技术问题,本发明提供一种基于布线阻塞的lef文件的生成方法,包括如下步骤:

一种基于布线阻塞的lef文件的生成方法,包括如下步骤:步骤一、在预配置工艺文件中完成阻塞层的定义操作,并生成基于待处理模块的网表文件;步骤二、建立一个链接所述预配置工艺文件的单元库,再将所述网表文件导入所述待处理模块,使得所述阻塞层按照所述预配置工艺文件的版图信息完成位置的摆放;步骤三、基于步骤二中的版图信息自动创建接线端口及引脚,进而创建形成布局布线边界;步骤四、提取出步骤三中各个接线端口的连线,同时基于所述接线端口的各种类型信号来构建信号数据库,然后建立该信号数据库与所述预配置工艺文件的天线信息;步骤五、基于所述阻塞层执行布线阻塞块以建立几何模型,并计算分析基于该几何模型的布线网络,从而生成引脚布线约束文件;步骤六、执行脚本来检查所述几何模型,包括检查所述预配置工艺文件、所述信号数据库在所述引脚在物理位置和属性上的匹配度;步骤七、当步骤六中所述几何模型检查无误,则调用所述预配置工艺文件、所述天线信息及所述引脚布线约束文件生成lef格式工艺文件。

进一步地,步骤一包括以下分步骤:步骤11、判断所述预配置工艺文件中的物理层次定义项是否存在阻塞层,若没有则自定义添加阻塞层;步骤12、调用层次属性的定义指令,在所述物理层次定义项的物理层次属性子项内完成各金属层的阻塞层和通孔的阻塞层的定义;步骤13、生成一个基于所述待处理模块的输入输出端口的verilog语言格式的网表文件。

进一步地,步骤二包括以下分步骤:步骤21、建立一个单元库,并链接到所述预配置工艺文件;步骤22、将所述预配置工艺文件的版图信息导入步骤21建立的单元库中,然后控制所述阻塞层按照所述预配置工艺文件的版图信息沿着所述待处理模块的边界覆盖住除了引脚之外的区域;步骤23、调用lef文件提取工具将所述待处理模块归类处理,然后将所述网表文件导入所述待处理模块,其中,所述待处理模块归类为全定制非标准逻辑单元模块。

进一步地,步骤三包括,将文本标号映射到所述接线端口的名字,再在覆盖文本标号所对应的所述接线端口图形上自动创建的物理引脚形状,然后创建所述布局布线边界。

进一步地,步骤四包括,提取所述接线端口的连线,再根据所述接线端口上不同强度的信号构建信号数据库,然后为所述待处理模块和标准单元建立所述信号数据库与所述预配置工艺文件相关联的天线信息。

进一步地,步骤五包括,执行指令去调整步骤三中创建的引脚形状,然后基于调整的引脚形状在所述阻塞层上执行布线阻塞块去建立几何模型,并计算该几何模型在布局布线时的最小几何单元信息。

进一步地,步骤六包括,执行脚本来检查所述几何模型的规则文件,包括检查所述接线端口的逻辑视图和所述几何模型之间的异同点,同时判断所述引脚和步骤五中计算得到的最小几何单元信息是否与制造格点匹配。

进一步地,所述lef文件的生成方法不仅适用于标准逻辑单元而且适用于非标准逻辑单元。

本发明的有益效果是,构建的脚本环境以及配置的约束文件优化了物理布图文件的产生和维护流程,使得设计工艺文件的产生过程变得更易于复用和维护。相对于现有技术,本发明技术方案阻塞层(obslayer)完全覆盖住内部电路连线,不会造成内外走线的短路,提高了布线的准确率,也提高阻塞层(obslayer)覆盖率和布线的效率,节省布线时间。

附图说明

图1为现有的技术手段配置的待布线的芯片引脚物理位置与阻塞层obs之间有1.5um的缝隙的在物理版图的示意图;

图2为本发明实施例提供的一种基于布线阻塞的lef文件的生成方法流程图;

图3为本发明实施例中所述生成方法执行生成的物理版图的示意图,其中pin脚伸出边界boudary;

图4为本发明实施例中所述生成方法执行生成的物理版图的示意图,其中pin脚不伸出边界boudary。

具体实施方式

本发明实施提供一种解决lef文件的布线阻塞(obs)层覆盖率不高问题的生成方法,为使本生成方法的目的、特征更明显易懂。

输入包括包含版图信息的def文件和包含工艺信息的lef文件(lef文件里描述了版图图形需要满足的设计规则集合),输出是违反设计规则的图形位置和图形表示的启发性修复生成方法。lef/def是工业界标准的版图信息和工艺信息描述格式。输出的违反设计规则的图形标记存放在openaccess(oa)数据平台中,既可用于显示供用户查找遍历版图中违反设计规则的区域,也可供布线程序进行选择性的拆分重布消除冲突。

下面结合附图和相关配置文件格式内容,对所述生成方法的具体实施方式作进一步的说明,如图2所示,包括如下步骤:

步骤s1、前期数据准备,其前期数据包括预配置工艺文件tf(techfile),然后在所述预配置工艺文件中定义阻塞层,并输出基于待处理模块的网表文件,该网表文件为verilog语言格式的网表文件。

进一步改进的是,步骤s1包括以下分步骤:

步骤11、判断所述预配置工艺文件的物理层次定义项中是否存在阻塞层,若没有则自行添加;具体地,所述预配置工艺文件tf包括各种物理层次的定义。判断所述预配置工艺文件tf的物理层次定义项中的techpurposes()子项内的drawing、pin、net、boundary、obs五种puposes是否都有定义,如果obs没有定义,则在相应物理层次上,按照所述预配置工艺文件中工艺属性定义子项的内容执行添加定义阻塞层obs的操作,其中所述工艺属性定义子项的内容格式如下:

(purposenamepurpose#abbreviation)

(obstruct**obs)

其中,第一列是所添加的物理层次的purposename,第二列是该物理层次编号,第三列是该物理层次的缩写。

步骤12、调用层次属性的定义指令,在所述物理层次定义项的物理层次属性子项内完成各金属层的阻塞层和通孔的阻塞层的定义。具体地,在所述物理层次定义项对应的物理层次属性子项techlayerpurposepriorities()内,按照所述预配置工艺文件中的层次属性子项内容执行添加各金属层和通孔的阻塞层obs的操作,其中所述层次属性子项的内容实例如下:

techlayerpurposepriorities(

:(layernamepurpose)

(ctobstruct)

(viaobstruct)

(m1obstruct)

(m2obstruct)

(::)

(mtobstruct)

)

以上自定义的数据结构中,ct表示导电接触,via表示通孔,m1表示第一层金属层(或称为第一层金属互连层),m2表示第二层金属层(或称为第二层金属互连层),mt表示最顶层金属层(或称为最顶层金属互连层)。完成上述定义操作后,按照如上文件格式提取出各金属层的阻塞层的定义属性obstruct,然后所述预配置工艺文件tf被命名为pr.tf保存下来。

步骤13、生成一个基于所述待处理模块的输入输出端口的verilog语言格式的网表文件,有利于识别所述待处理模块的输入输出端口。具体地,按照待处理模块a的verilog语言文件生成对应的网表文件,其中verilog语言为ieee工业标准verilog硬件描述语言,所述待处理模块为待处理模块a,其对应verilog语言文件表示如下:

modulecell_name(pina,pinb,pinc);

inputpina;

outputpinb;

inoutpinc;

endmodule

其中,cell_name是逻辑单元的名称,括号内列出待处理模块a中所定义的端口,包括pina、pinb、pinc三个端口引脚,其中pina对应输入引脚,pinb对应输出引脚,pinc对应输入输出引脚。

步骤s2、数据输入,其操作步骤包括:建立一个单元库,并将其链接到步骤s1修改好的所述预配置工艺文件pr.tf;然后将所述预配置工艺文件的版图信息导入所述单元库;调用lef文件提取工具,导入所述网表文件,使得所述阻塞层按照所述预配置工艺文件的版图信息完成位置的摆放。

进一步,步骤s2包括以下分步骤:

步骤21:在终端指令的配置下建立一个单元库test,并将其链接到所述预配置工艺文件pr.tf。

步骤22:把待处理模块a对应的所述预配置工艺文件的版图信息导入步骤21建立的单元库test中,然后控制所述阻塞层按照所述预配置工艺文件的版图信息沿着待处理模块a的边界覆盖住除了引脚pin之外的区域,提高所述阻塞层的覆盖率。

步骤23:调用lef文件提取工具把待处理模块a按照block、corner、io、core四种类型进行分类,其中,全定制的非标准逻辑单元模块属于block类,标准逻辑单元模块属于core类,本发明实施例把待处理模块a归为block类;然后将所述网表文件导入所述待处理模块。

步骤s3、引脚设置,其实现过程包括,基于步骤s2中的版图信息自动创建接线端口及引脚,进而根据所创建的接线端口及引脚的位置特征完成布局布线边界的创建。

进一步地,步骤s3的分步骤包括:

步骤31、建立文本标号text与所述接线端口的名字lable的映射关系,从而创建所述接线端口。

步骤32、在覆盖文本标号text所对应的图形上创建物理引脚形状。

步骤33、在步骤32创建的物理引脚形状所在位置的基础上,创建布局布线边界boundary。

需要说明的是,单个引脚的操纵无非就三种情况:输出高低电平,检测引脚状态,中断,那么对引脚的操纵一般是通过待处理模块a内部特定寄存器对该引脚对应端口的配置完成,引脚上的电平状态对应着端口上的信号。

步骤s4、信号提取的操作过程包括:提取出步骤s3中各个所述接线端口的连线,同时根据所述接线端口处各种类型信号构建信号数据库,建立该信号数据库与所述预配置工艺文件的天线信息,以备后续步骤抽取基于所述预配置工艺文件的版图信息的各个引脚的天线信息。

进一步地,步骤s4的分步骤包括:

步骤4l、提取步骤s3中所创建的各种引脚形状对应的所述接线端口上的连线,其中每个形状提取一次。

步骤42、根据所述接线端口处不同强度的信号构建信号数据库。

步骤43、基于所述待处理模块和标准单元建立所述信号数据库与所述预配置工艺文件相关联的天线信息,其中所述待处理模块的中所述接线端口及引脚都有对应的天线信息,在必要时会被存储器编译器调用生成相关的天线信息约束文件。

步骤s5、版图抽取的步骤实现过程包括,基于所述阻塞层上执行布线阻塞块以建立几何模型,并计算分析基于该几何模型的布线网络,然后生成引脚布线约束文件。

进一步地,步骤s5的分步骤包括:

步骤51、执行指令去调整所述步骤s3中创建的引脚形状以便后续布线阻塞的执行。

步骤52、在所述预配置工艺文件所定义添加的所述阻塞层上执行布线阻塞块建立几何模型。

步骤53、基于所述几何模型计算布局布线时的最小的几何单位信息。

步骤54、计算所述阻塞层的覆盖信息。

步骤55、基于所述预配置工艺文件和所述几何模型,计算和分析布线网格。

步骤s6、检查设置的步骤包括:执行脚本来检查所述几何模型的规则文件,包括检查所述预配置工艺文件、所述信号数据库在所述引脚在物理位置和属性上的匹配度。

进一步地,步骤s6的分步骤包括:

步骤6l、检查基于所述连线端的逻辑视图和几何视图间的区别。

步骤62、判断所述引脚和步骤五中计算得到的最小几何单元信息是否与制造格点匹配。

步骤s7、生成lef文件,具体地,如果确定所述步骤s6中所述几何模型的规则文件无误,则调用所述预配置工艺文件、所述天线信息及所述引脚布线约束文件;在匹配规则参数的前提下生成lef格式工艺文件,从而导出如下lef文件内容完成对上述布线阻塞的操作:

version5.5;

namescasesensitiveon;

dividerchar“/”;

usbitchars“[]”;

units

databasemicrons1000;

endunits

manufacturinggrid0.005000;

macroa

classblock;

foreigna00;

origin0.0000.000;

size27.275by24.645;

symmetryxyr90;

pina

directioninput;

port

layerm2;

rect25.92514.8152727.42515.095;

end

enda

obs

layerm2

rect0.0000.00027.27514.625;

layerprboudary;

rect0.0000.00027.27524.645;

end

enda

endlibrary

其中,lef格式工艺文件包括待处理模块a的几何尺寸大小、引脚物理位置和各金属层次对应的阻塞层信息。

本发明实施例搭建了一个将verilog模型文件作为整个模块a设计工艺文件变更源头的脚本环境,这要求技术工艺文件产生的实施软件在检测到模块a的版图设计有变更时,首先更新基于模块a的配置工艺文件,并且定义版图提取格式文件的阻塞层,自动产生设计变更后的最新lef格式工艺文件视图,从而保证verilog模型文件与设计文档、设计电路以及lef格式的物理布图layoutview文件之间的相关性和一致性。另外,本发明实施例提供的生成方法不局限于全定制的非标准逻辑单元模块的lef文件提取,标准逻辑单元模块的lef提取也适运用此生成方法。基于所述生成方法,本发明实施针对芯片引脚所在位置的不同而提供两种阻塞层摆放方法。

作为本发明实施所生成lef文件视图的一种实施例,当待处理模块a的引脚pina和引脚pinb均伸出边界层boundary时,由于后续布局布线过程中,按照所述预配置工艺文件的版图信息的要求,禁止待处理模块a的边界层boundary外部的走线进入边界层boundary内部进行布线,而是在边界层boundary外部的引脚pina或引脚pinb所在的位置完成布线,故本发明实施例提供的生成方法所生成的阻塞层obs能够覆盖住除了引脚pin之外的区域如图3所示,阻塞层obs的覆盖面小于待处理模块a的边界层boundary的覆盖面,但是引脚pina和引脚pinb所在位置与阻塞层obs的覆盖面之间不存在任何缝隙。

作为本发明实施所生成lef文件视图的另一种实施例,当待处理模块a的引脚pina和引脚pinb均在边界层boundary内部时,由于后续布局布线过程中,待处理模块a的边界层boundary外部的走线为了与引脚pina或引脚pinb连接,故本发明实施例提供的生成方法所生成的阻塞层obs能够覆盖住除了引脚pin之外的区域如图4所示,阻塞层obs的覆盖面沿着引脚pina和引脚pinb所在位置凹向边界层boundary的内部,并与引脚pina和引脚pinb所在位置之间存在缝隙,使得走线容易进入引脚pina和引脚pinb所在的位置。

由所述生成方法得到的lef格式工艺文件视图可知,相对于现有技术,本发明实施例减少布线的工作量,节省了时间,同时也有效地避免内部连线和外部连线出现短路现象。

以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1