全局连接件布线方法及其执行系统与流程

文档序号:11134221阅读:344来源:国知局
全局连接件布线方法及其执行系统与制造工艺

本发明实施例涉及全局连接件布线方法及其执行系统。



背景技术:

电路布局包括与具有特定功能的有源器件对应的一个或多个标准单元。通常重复的有源器件的单元经常包括在单元库中。在一些情况下,这些单元称为标准单元。单元包括用于将信号送入单元或从单元送出的引脚。为了在各个单元之间传输信号,单元的至少一个引脚连接至至少一个其他单元的引脚。提供互连各个单元的引脚的布线线路,以有助于不同单元之间的信号传输,从而对电路布局提供期望的功能。

随着技术节点减小,由于单元之间的距离以及单元内的元件之间的距离更小,所以降低了布线线路的灵活性。例如,在10纳米或以下的技术节点下,至少一个金属层级包括仅在单一方向上延伸的布线线路。在一些实施例中,该布线图称为一维布线。金属层级是在具有距离衬底的几乎均匀的距离的平面中导线的层。全局连接件是延伸跨越一个或多个标准单元的布线线路。在一些情况下,全局连接件延伸跨越整个电路布局。对于包括一维布线的电路布局,全局连接件仅在一个方向上延伸。



技术实现要素:

根据本发明的一些实施例,提供了一种全局连接件布线的方法,所述方法包括:确定用于在电路布局中使用的单元的全局连接件容限,其中,所述单元包括多个引脚,和相对于所述单元限定的多条布线轨迹;确定所述单元内的阻挡轨迹的数量;比较所述全局连接件容限与所述阻挡轨迹的数量;以及如果所述全局连接件容限和所述阻挡轨迹的数量不满足预定条件,则调节所述电路布局内的单元的位置。

根据本发明的另一些实施例,还提供了一种用于实施全局连接件布线方法的系统,所述系统包括:至少一个处理器;以及非暂时性计算机可读介质,被配置为存储指令,其中,所述非暂时性计算机可读介质连接至所述至少一个处理器,并且将所述至少一个处理器配置为执行存储的指令,以用于:确定用于在电路布局中使用的单元的全局连接件容限,其中,所述单元包括多个引脚,和相对于所述单元限定的多条布线轨迹;确定所述单元内的阻挡轨迹的数量;比较所述全局连接件容限与所述阻挡轨迹的数量;以及如果所述全局连接件容限和所述阻挡轨迹的数量不满足预定条件,则调节所述电路布局内的单元的位置。

根据本发明的又一些实施例,还提供了一种修改单元的方法,所述方法包括:识别最大重叠引脚组中的引脚的数量;确定覆盖所述最大重叠引脚组的跨越区域中的布线轨迹的数量;确定所述单元的全局连接件容限;确定所述全局连接件容限是否满足阈值;以及如果所述全局连接件容限不满足所述阈值,则修改所述单元中的至少一个引脚的长度或至少一个引脚的位置。

附图说明

当结合附图进行阅读时,根据下面详细的描述可以更好地理解本发明的各个方面。应该强调的是,根据工业中的标准实践,各种部件没有被按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增加或减少。

图1A-1是根据一些实施例的包括单元的电路布局的平面图。

图1A-2是根据一些实施例的包括修改的单元的电路布局的平面图。

图1B是根据一些实施例的单元的放大的平面图。

图2是根据一些实施例的电路布局中的单元的平面图。

图3是根据一些实施例的电路布局中的单元的平面图。

图4A是根据一些实施例的包括单元和阻挡件(blocking shape)的电路布局的平面图。

图4B是根据一些实施例的包括两个单元和阻挡件的电路布局的平面 图。

图4C是根据一些实施例的包括两个单元和阻挡件的电路布局的平面图。

图5A是根据一些实施例的基于全局连接件布线的修改单元的方法的流程图。

图5B是根据一些实施例的基于全局连接件布线的设计电路布局的方法的流程图。

图6是根据一些实施例的包括引脚的单元的平面图。

图7是根据一些实施例的包括引脚和阻挡件的单元的平面图。

图8是根据一些实施例的用于实施全局连接件布线的方法的专用系统的示意图。

具体实施方式

以下公开内容提供了许多不同实施例或实例,用于实现所提供主题的不同特征。以下将描述组件和布置的特定实例以简化本发明。当然,这些仅是实例并且不意欲限制本发明。例如,在以下描述中,在第二部件上方或上形成第一部件可以包括第一部件和第二部件直接接触的实施例,也可以包括形成在第一部件和第二部件之间的附加部件使得第一部件和第二部件不直接接触的实施例。另外,本发明可以在多个实例中重复参考标号和/或字符。这种重复是为了简化和清楚的目的,并且其本身不指示所讨论的各个实施例和/或配置之间的关系。

此外,为了便于描述,本文中可以使用诸如“在…下方”、“在…下面”、“下部”、“在…上面”、“上部”等空间关系术语以描述如图所示的一个元件或部件与另一元件或部件的关系。除图中所示的方位之外,空间关系术语意欲包括使用或操作过程中的器件的不同的方位。装置可以以其它方式定位(旋转90度或在其他方位),并且在本文中使用的空间关系描述符可同样地作相应地解释。

图1A-1是根据一些实施例的包括单元的电路布局100的平面图。电路100包括用于金属层级的多个布线轨迹102。为了简洁,将图1A-1中的布 线轨迹102示出为虚线。为了简洁,仅标注一条布线轨迹102。因为金属层级使用一维布线图,所以布线轨迹102彼此平行延伸。电路布局100包括垂直于布线轨迹102延伸的电源电压(VDD)总线104。参考电压(VSS)总线106在电路布局100的与VDD总线104相对侧上垂直于布线轨迹102延伸。单元包括位于VDD总线104与VSS总线106之间并且垂直于布线轨迹102延伸的多个引脚112、114和116。第一引脚112具有长度L1。第二引脚114具有长度L2。第三引脚116具有长度L3。VDD总线104、VSS总线106、引脚112、引脚114和引脚116位于同一金属层级上。在一些实施例中,VDD总线104、VSS总线106、引脚112、引脚114和引脚116位于最靠近衬底的被称为第一金属层级的金属层级上。电路布局100还包括沿着布线轨迹102延伸跨越整个标准单元的全局连接件120。全局连接件120位于比引脚112、114和116更远离电路布局的衬底的金属层级上。在一些实施例中,比第一金属层级更远离衬底的第二金属层级被描述为位于第一金属层级“之上”。第一局部连接件130平行于全局连接件120延伸并且通过通孔连接至第一引脚112。第一局部连接件130位于与全局连接件120相同的金属层级上。第二局部连接件140平行于全局连接件120延伸并且通过通孔连接至第二引脚114。第二局部连接件140位于与全局连接件120和第一局部连接件130相同的金属层级上。在一些实施例中,全局连接件120、局部连接件130和局部连接件140位于第二金属层级上。在电路布局100中,将在不同金属层级之间提供连接的通孔标注为“X”。通孔可以位于接入点处。接入点位于引脚(例如,引脚112)与布线轨迹102相交的位置处。这些接入点位于局部连接件(例如,第一局部连接件130或第二局部连接件140)或全局连接件(例如,全局连接件120)的在引脚之上延伸的位置处。第二局部连接件140和第一局部连接件130位于同一布线轨迹102上。介于第一局部连接件130与第二局部连接件140之间的端-端间隔S小于电路布局100的最小间隔距离。单元还包括内部引线150,该内部引线位于与VDD总线104、VSS总线106、引脚112、引脚114和引脚116相同的金属层级上,并且用于在单元内提供内部连接。

在一些实施例中,电路布局100的单元是从单元库中检索得到的标准 单元。引脚112、114和116提供连接点,以将信号传输至单元和/或从单元向外传输。在一些实施例中,全局连接件120电连接至引脚112、114和116中的至少一个。在一些实施例中,全局连接件120连接至引脚112、114和116中的每一个。在一些实施例中,全局连接件120未连接至引脚112、114和116中的任何一个。在一些实施例中,将全局连接件120配置为承载全局信号,诸如全局时钟信号、电源电压信号、参考电压信号或其他合适的全局信号。全局信号是可被电路布局中的多个单元使用的具有基本相同的值的信号。在一些实施例中,不是对电路布局100中的所有的单元都供应全局信号。

将第一局部连接件130配置为承载至引脚112的局部信号。局部信号是用于特定的单元和单元内的特定的引脚或多个引脚的具有特定的值的信号。在一些实施例中,局部信号是来自另一单元的输出、用于另一单元的输入、局部时钟信号或其他合适的局部信号。

将第二局部连接件140配置为承载至引脚114的局部信号。介于第一局部连接件130与第二局部连接件140之间的端-端间隔S小于电路布局100的最小间隔距离,这意味着不可能在电路布局100中指示的位置中可靠地形成第一局部连接件和第二局部连接件。最小间隔距离与用于形成电路布局100的工艺技术有关。最小间隔距离基于图案化工艺、形成工艺和固有的制造偏差。在一些实施例中,最小间隔距离是自动放置和布线(APR)工具所使用的技术文件中限定的值集。为了确定电路布局100内的元件是否满足最小间隔距离和其他的设计规则,APR工具执行设计规则检查(DRC)。在电路布局100的情况下,由于介于第一局部连接件130与第二局部连接件140之间的端-端间隔S,所以APR工具会指示出错误。

在一些实施例中,第一局部连接件130和第二局部连接件140不可能位于布线轨迹102中。如果第一局部连接件130和第二局部连接件140位于布线轨迹102中,那么制造电路布局100具有导致故障电路的增大的风险。

图1B是根据一些实施例的单元的放大的平面图。单元包括来自电路布局100(图1A-1)的元件。相同的元件具有相同的参考标号。介于第一引 脚112与第二引脚114之间的距离D比金属层级的最小间隔距离大。然而,如果介于单元的相邻的引脚112与114之间的距离D较小,那么在不违反最小间隔距离设计规则的情况下,不可能在同一布线轨迹102中形成第一局部连接件130和第二局部连接件140。

再次参考图1A-1,为了促进电路布局100的可靠制造,应该将第一局部连接件130或第二局部连接件140移动至不同的布线轨迹102。然而,将第一局部连接件130或第二局部连接件140移动至另一布线轨迹102会包括对标准单元布局的修改。因为引脚112通过两个接入点(即,引脚112与布线轨迹102相交的两个位置)中的一个连接至位于第二金属层级上的局部连接件130,并且引脚114通过两个接入点(即,引脚114与布线轨迹102相交的两个位置)中的一个连接至位于第二金属层级上的局部连接件140,所以会出现对标准单元布局的修改。然而,引脚112的一个接入点和引脚114的一个接入点被全局连接件120阻挡。另外,由于以上所讨论的间距问题,所以局部连接件130和140不可能位于同一轨迹上。结果,修改标准单元的布局以促进至单元的布线。因此,在一些实施例中,为了解决电路布局100中的端-端间隔S误差,修改电路布局100中的至少一个引脚的长度。

图1A-2是根据一些实施例的包括修改的单元的电路布局100'的平面图。电路布局100'包括与来自电路布局100的元件相同的若干元件。相同的元件具有相同的参考标号。电路布局100'中的相对于电路布局100修改的元件具有附有上撇号(')符号的相同的参考标号。

与电路布局100相比,电路布局100'包括具有从L1增至L1'的长度的第一引脚112'。局部连接件130'的位置与电路布局100中的局部连接件130的位置不同。与电路布局100中的两个接入点相比,第一引脚112'的增大的长度使第一引脚112'的接入点的数量增至三个。通过改变第一局部连接件130'的位置,第一局部连接件130'和第二局部连接件140满足设计规则。介于第一局部连接件130'与第二局部连接件140之间的距离的增加意味着可以可靠地制造电路布局100'。在一些实施例中,将第二局部连接件140移动至不同的布线轨迹102,而第一局部连接件130'仍位于与电路布局100 中相同的布线轨迹102中。在一些实施例中,将电路布局100'中的第一引脚112的长度L1保持为与电路布局100中相同的长度。在一些实施例中,与电路布局100相比,调节第二引脚114的长度L2。

在包含全局连接件120的电路布局100中,不能修改引脚,从而该单元不可用。在一些实施例中,不可用的单元称为废弃单元。随着电路布局内的废弃单元的数量的增加,电路布局的利用率降低。电路布局的利用率基于电路布局内的单元的总面积与电路布局的整体面积之间的比率。增大电路布局的利用率有助于促进电路布局的整体尺寸的减小。

图2是根据一些实施例的电路布局200中的单元的平面图。电路布局200包括与电路布局100类似的元件。图2中相同元件的参考标号比图1中的标号增大了100。与电路布局100相比,电路布局200包括第四引脚218和第五引脚220。图2还包括重叠区域260和跨越区域270。重叠区域260是最多数量的引脚(例如,引脚212、214、216和218)完全在布线轨迹202上延伸的位置处的布线轨迹202。在一些实施例中,重叠区域260称为最大重叠区域。重叠区域260是全局连接件(例如,全局连接件120(图1A-1))的候选位置。在一些实施例中,占用重叠区域260的引脚212、214、216和218称为最大重叠引脚组。

为了有助于保持电路布局200中的单元的可用性,从最大重叠引脚组的最左侧引脚位置至最大重叠引脚组的最右侧引脚位置的跨越宽度W应该至少等于最小跨越宽度。例如,在图2中,跨越宽度W是跨越区域270的宽度。因为引脚220未包括在重叠区域260中,所以对于跨越区域270的跨越宽度W来说,未考虑引脚220。最小跨越宽度有助于确保至少一个全局连接件以及电路布局所使用的任何局部连接件可以包括在电路布局中。增大最小跨越宽度增加了用于限定可用单元的布线方案的数量。随着布线方案的数量的增加,用于APR工具识别合适的布线图的时间的量降低。然而,增大最小跨越宽度还增大了单元和整体电路布局的尺寸。最小跨越宽度部分地基于最大重叠引脚组中的引脚的数量。随着最大重叠引脚组中的引脚数量的增加,最小跨越宽度也增加。

电路布局200在最大重叠引脚组中包括四个引脚212、214、216和218。 在一些实施例中,电路布局200的跨越宽度W至少为278纳米(nm)。在电路布局在重叠引脚组中包括三个引脚的一些实施例中,跨越宽度W至少为234nm。在电路布局在重叠引脚组中包括两个引脚的一些实施例中,跨越宽度W至少为190nm。在电路布局在重叠引脚组中包括一个引脚的一些实施例中,跨越宽度W至少为146nm。在一些实施例中,最小跨越宽度与以上的值不同。基于布线轨迹202的间距、通孔切口的尺寸、通孔切口与金属引线之间的围隔距离(enclosure distance)、最大重叠引脚组中的引脚的数量、局部连接件的数量以及其他的合适的变量来调节最小跨越宽度。

全局连接件容限K限定可以放置在标准单元上的全局连接件的最大数量。基于跨越区域中的布线轨迹的数量与最大重叠引脚组中的引脚的数量之间的差值来确定全局连接件容限K。全局连接件容限K应该为零或正整数;或者,当K小于零时,甚至当不存在全局连接件时,不可能对跨越区域中的引脚进行布线。基于最右侧轨迹的指数和最左侧轨迹的指数之间的差值加一来确定跨越区域中的布线轨迹的数量。例如,电路布局200在重叠区域260中的最大重叠引脚组中包括四个引脚。跨越区域中的布线轨迹的数量为五。结果,电路布局200的全局连接件容限K为一。

全局连接件容限K大于零表示单元布局能够接收全局连接件。随着全局连接件容限K增加,单元布局的布线选择增加,这增加了各个电路设计中的单元布局的灵活性。

图3是根据一些实施例的电路布局300中的单元的平面图。电路布局300包括与电路布局200类似的元件。图3中相同元件的参考标号比图2中的标号增大了100。在平面图中,与电路布局200相比,电路布局300包括在垂直方向上定向的引脚。布线轨迹302在水平方向上延伸,并且垂直于引脚312、314、316和318。重叠区域360也在水平方向上延伸。电路布局300包括跨越宽度W'。不管引脚的定向如何,即,无论是在垂直方向还是在水平方向上延伸,跨越宽度W'都仍至少等于最小跨越宽度。就是说,电路布局中的引脚的定向不影响最小跨越宽度。在一些实施例中,修改电路布局100(图1A-1)、电路布局100'(图1A-2)或电路布局200(图2),以具有在垂直方向上延伸的引脚。

图4A是根据一些实施例的包括单元410和阻挡件(blocking shape)420的电路布局400的平面图。电路布局400包括具有多个引脚410a-d的单元410。引脚410a-d位于第一金属层级上,并且阻挡件420位于单元410上方的第二金属层级上。阻挡件420位于引脚410a、410c和410d的重叠区域上方。由于阻挡件420的位置,所以至少一个布线轨迹(例如,布线轨迹102(图1))不可用于至引脚410a、410c和410d的全局或局部连接件。为了增加单元410的布线方案的数量,APR工具可用于调节电路布局400内的单元410的位置。例如,在一些实施例中,APR工具在与阻挡件420垂直的方向上调节单元410的位置。

在一些实施例中,阻挡件420是一种全局连接件。在一些实施例中,阻挡件420是电源-地线。在一些实施例中,阻挡件420是电路布局400内的另一互连结构。在一些实施例中,阻挡件420的位置阻止全局或局部连接件布线至单元410。在一些实施例中,为了增加电路布局400的布线方案的数量,调节引脚410a-d的长度。在一些实施例中,为了减小阻挡件420的影响或完全避免阻挡件,在电路布局400内调节单元410的位置。

图4B是根据一些实施例的包括单元410和阻挡件420的电路布局400'的平面图。与电路布局400相比,电路布局400'包括与单元410相邻的邻近单元,即,单元410'。在一些情况下,由于单元410与单元410'靠近,所以在单元410'中对局部连接件或全局连接件布线会影响单元410的布线方案。例如,在一些情况下,第三金属层级上没有足够的布线资源。

图4C是根据一些实施例的包括单元410和阻挡件420的电路布局400”的平面图。与电路布局400'相比,电路布局400”包括位于远离单元410的位置处的单元410'。与电路布局410'相比,增大单元410与单元410'之间的距离增加了电路布局400”的布线方案的数量。例如,增大距离对第一金属层级和第三金属层级提供了更多的布线资源。

图5A是根据一些实施例的基于全局连接件容限的修改单元的方法的流程图。在操作502中,识别单元的跨越区域中的布线轨迹的数量和最大重叠引脚组中的引脚的数量。在一些实施例中,通过使用设计工具来确定最大重叠引脚组中的引脚的数量。在一些实施例中,从用户接收最大重叠 引脚组中的引脚的数量。

在操作504中,确定单元的全局连接件容限K。基于单元的最大重叠引脚组中的引脚的数量和单元的跨越区域内的布线轨迹的数量来确定全局连接件容限K。基于最右侧轨迹的指数和最左侧轨迹的指数之间的差值加一来确定跨越区域中布线轨迹的数量。在一些实施例中,上述图2和图3提供了如何确定最大重叠引脚组中的引脚的数量以及如何确定跨越区域中的布线轨迹的数量的实例。

在比较操作506中,将全局连接件容限K与阈值相比。阈值是期望的全局连接件容限。在一些实施例中,从查找表格中检索得到阈值。在一些实施例中,基于集成电路的参数来计算阈值。在一些实施例中,由用户提供阈值。

如果比较操作506确定全局连接件容限K满足阈值,那么方法500继续至操作508,其中将单元存储在单元库中。在一些实施例中,单元与全局连接件容限值相关。在一些实施例中,存储与全局连接件容限值无关的单元。在一些实施例中,电路设计者将单元库用于设计电路布局。

如果比较操作506确定全局连接件容限K不满足阈值,那么方法500继续操作510,其中调节单元的至少一个引脚的长度或调节单元中的至少一个引脚的位置。在一些实施例中,操作510包括仅调节单元的至少一个引脚的长度。在一些实施例中,操作510包括仅调节单元的至少一个引脚的位置。在一些实施例中,操作510包括调节单元的至少一个引脚的长度和调节单元的至少一个引脚的位置两者。在一些实施例中,在操作510中调节第一引脚的长度,并且在操作510中调节与第一引脚不同的第二引脚的位置。在一些实施例中,在操作510中调节同一引脚的长度和位置。

如以上关于图1A-1和图1A-2所述,调节单元的至少一个引脚的长度。在一些实施例中,调节单元中的每一个引脚的长度。在一些实施例中,调节单元中的部分引脚的长度。调节单元中的至少一个引脚的长度增加了至具有调节的长度的引脚的连接件的位置。结果,在一些情况下,改变了单元的全局连接件容限。在操作510之后,方法500返回至操作502,确定修改的单元的跨越区域中的布线轨迹的数量和最大重叠引脚组中的引脚的 数量。

图5B是根据一些实施例的基于全局连接件布线的设计电路布局的方法500'的流程图。在操作512中,确定单元的全局连接件容限(K)。全局连接件容限K应该为零或正整数。单元的全局连接件容限K是单元容纳全局连接件的能力。大于零的全局连接件容限K表示该单元不是废弃单元,即,该单元能够允许至少一个全局连接件在单元上延伸。较高的全局连接件容限K表示:当只有一个全局连接件穿过单元时,单元具有用于接入引脚的较大数量的可能的布线方案,这增大了表现为可用单元的单元的布线方案的可能性。在一些实施例中,基于存储在单元库中的与单元相关的值来确定全局连接件容限K。在一些实施例中,通过如下操作来确定全局连接件容限K:识别最大重叠引脚组的跨越区域;识别最靠近单元的第一边缘的布线轨迹,该布线轨迹可用于连接至单元的引脚;识别最靠近单元的与单元的第一边缘相对的第二边缘的布线轨迹,该布线轨迹可用于连接至单元的引脚;以及识别单元中的引脚的数量。在单元包括水平延伸的引脚的一些实施例中,通过如下操作来确定全局连接件容限K:识别可用于连接至单元的引脚的最左侧布线轨迹;识别可用于连接至单元的引脚的最右侧布线轨迹;以及识别单元中的引脚的数量。在单元包括垂直延伸的引脚的一些实施例中,通过如下操作来确定全局连接件容限K:识别可用于连接至单元的引脚的最顶部布线轨迹;识别可用于连接至单元的引脚的最底部布线轨迹;以及识别单元中的引脚的数量。

基于图6中的单元的实例,提供了如何计算全局连接件容限K的实例。图6是根据一些实施例的包括引脚612至616的单元600的平面图。图6包括具有叠加在单元上方的更高的金属层级的多条布线轨迹602的单元600。在给出的实施例中,每一条布线轨迹都包括指数,单元600的边缘上的布线轨迹的指数从零开始。单元600的跨越区域620表示最大重叠引脚组(即,引脚612、614和616)的跨度。在单元600的实例中,可用于连接单元600的跨越区域中的引脚的最右侧布线轨迹的指数为“7”。引脚614完全延伸穿过具有指数“7”的布线轨迹602。可用于连接单元600的跨越区域中的引脚的最左侧布线轨迹的指数为“2”。虽然引脚616延伸进 具有指数“1”的布线轨迹602,但是引脚616未完全延伸穿过指数为“1”的布线轨迹。因此,在布线轨迹“1”中连接至引脚616会存在降低的制造可靠性的问题。结果,可用于连接至引脚616的最左侧布线轨迹为布线轨迹“2”。单元600的最大重叠引脚组中的引脚的数量为3,即,引脚612至616。基于以上给出的信息,单元600的全局连接件容限为3。

虽然单元600包括水平延伸的引脚,但是方法500和500'还可应用于具有垂直延伸的引脚的单元。

在方法500'的操作514中,确定单元的阻挡轨迹B的数量。与图4A至图4C类似,位于单元的引脚之上的金属层级上的阻挡件阻止连接至引脚。基于引脚阻挡件组来确定阻挡轨迹B的数量。

基于图7中的示例单元,提供了如何计算阻挡轨迹B的数量的实例。图7是根据一些实施例的包括引脚712至716以及阻挡件772和774的单元700的平面图。单元700类似于单元600。图7中相同元件的参考标号比图6中的标号增大了100。与单元600相比,单元700包括阻挡多个布线轨迹702的引脚阻挡件组770。引脚阻挡件组770包括第一阻挡件772和第二阻挡件774。阻挡件772和774位于单元的引脚之上的金属层级上。在一些实施例中,第一阻挡件772或第二阻挡件774独立地选自电源-地线或其他互连结构。

引脚阻挡件组770在四条布线轨迹上延伸,即,布线轨迹“4”、“5”、“6”和“7”。因此,单元700中的阻挡轨迹的数量为四。在一些实施例中,引脚阻挡件组770包括单个阻挡件。在一些实施例中,引脚阻挡件组770包括两个以上阻挡件。

再次参考图5B,方法500'继续比较操作516。在比较操作516中,将单元的全局连接件容限K与单元的阻挡轨迹B的数量比较。如果全局连接件容限K小于阻挡轨迹B的数量,那么该单元将不可用,即,为废弃单元。由于相对于单元的较小数量的连接点,单元的阻挡布线轨迹的数量较大,所以将没有用于单元的布线图方案,从而该单元不可用。

如果单元的全局连接件容限K小于单元的阻挡轨迹B的数量(意味着不满足预定条件),那么方法500'继续操作518,以在电路布局中修改单元 的位置。在一些实施例中,预定条件为全局连接件容限K小于阻挡轨迹B的数量。在一些实施例中,靠近单元的一个或多个附加的缓冲区插入电路布局中,以调节单元的位置。然而,在一些情况下,提供一个或多个期望的缓冲区还将增大整体电路布局的尺寸。而且,在一些情况下,期望的缓冲区的使用将增大从比较操作516至操作518的反馈的数量。

如以上关于图4A至图4C所述,调节单元的位置。在一些实施例中,调节单元的位置,以改变阻挡件相对于单元的位置。在一些实施例中,调节单元的位置,以将单元置于与阻挡件完全分离的位置处。

在操作518之后,方法500'返回至操作514,以确定修改的单元位置的阻挡轨迹B的数量。

如果全局连接件容限K和阻挡轨迹B的数量满足预定条件,那么方法500'继续至可选操作520。在一些实施例中,如果全局连接件容限K等于或大于阻挡轨迹B的数量,那么方法500'继续至可选操作520。在可选操作520中,基于电路布局,生成用于形成掩模的指令。在一些实施例中,如果有需要检查是否满足预定条件的其他的单元,那么省略操作520。在一些实施例中,如果通过与生成电路布局的实体不同的实体来形成掩模,那么省略操作520。掩模用于光刻工艺,以图案化晶圆,从而在衬底中形成器件。在一些实施例中,使用与分析和修改电路布局所使用的相同的工具来生成用于形成掩模的指令。在一些实施例中,使用与分析和修改电路布局所使用的不同的工具来生成用于形成掩模的指令。在一些实施例中,在生成用于形成掩模的指令之前,执行附加的操作。在一些实施例中,附加的操作包括布局对原理图(LVS)检查、设计规则检查(DRC)、电路布局的电阻-电容(RC)性能的模拟或其他合适的操作。

在一些实施例中,方法500'中包括附加的操作,诸如LVS检查、DRC、RC模拟或其他合适的操作。在一些实施例中,修改方法500'的操作顺序。在一些实施例中,同时执行方法500'的多个操作。例如,在一些实施例中,同时执行操作514和操作518。在一些实施例中,来自方法500(图5A)的操作与来自方法500'的操作相结合。例如,在一些实施例中,与方法500的操作510类似,方法500'改变单元内的引脚的长度或引脚的位置,以调 节全局连接件容限K。

图8是根据一些实施例的用于实施全局连接件布线的方法的专用系统的示意图。系统800包括硬件处理器802和非暂时性计算机可读存储介质804,该非暂时性计算机可读存储介质编码有(即,存储)计算机程序数据806(即,程序变量集)。计算机可读存储介质804还编码有指令807,该指令用于与其他的机器联系或用于实施全局连接件布线的方法(如,方法500或方法500'(图5A和图5B))。处理器802通过总线808电耦接至计算机可读存储介质804。处理器802也通过总线808电连接至I/O接口810。网络接口812也通过总线808电连接至处理器802。网络接口812连接至网络814,从而,处理器802和计算机可读存储介质804能够通过网络814连接至外部元件。将处理器802配置为执行编码在计算机可读存储介质804中的计算机程序代码806或807,以使得系统800可用于执行方法500或方法500'(图5A和图5B)中描述的部分或全部的操作。在一些实施例中,在执行方法500或方法500'期间,附加的信息存储在存储器804中或从该存储器读取。

在一些实施例中,处理器802是中央处理单元(CPU)、多处理器、分布式处理系统、专用集成电路(ASIC)和/或合适的处理单元。

在一些实施例中,计算机可读存储介质804是电子的、磁性的、光学的、电磁的、红外的和/或半导体的系统(或装置或器件)。例如,计算机可读存储介质804包括半导体或固相存储器、磁带、移动计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和/或光盘。在一些实施例中,计算机可读存储介质804包括光盘,诸如只读光盘存储器(CD-ROM)、读/写光盘(CD-R/W)和/或数字视频光盘(DVD)。

在一些实施例中,存储介质804存储计算机程序代码806或807,将该计算机程序代码配置为使系统800执行方法500或方法500'(图5A和图5B)。在一些实施例中,存储介质804还存储用于执行方法500或方法500'(图5A和图5B)所需要的信息以及在执行方法500或方法500'期间生成的信息,诸如引脚长度参数816、全局连接件容限参数818、阻挡轨迹参数820、单元位置参数822和/或可执行指令集,以执行方法500或方法500' (图5A和图5B)的操作。

在一些实施例中,存储介质804存储用于与制造机器联系的指令807。指令807使处理器802能够生成通过制造机器可读的制造指令,以在全局连接件布线工艺期间有效地实施方法500或方500'。在一些实施例中,在执行方法500或方法500'期间,附加的信息存储在存储器804中或从该存储器读取。

系统800包括I/O接口810。I/O接口810耦接至外部电路。在一些实施例中,I/O接口810包括键盘、小型键盘、鼠标、轨迹球、触控板和/或向处理器802传达信息和命令的光标方向键。

系统800还包括耦接至处理器802的网络接口812。网络接口812允许系统800与网络814通信,其中一个或多个其他计算机系统连接至该网络。网络接口812包括诸如BLUETOOTH、WIFI、WIMAX、GPRS或WCDMA的无线网络接口;或诸如ETHERNET、USB或IEEE-1394的有线网络接口。在一些实施例中,在两个或多个系统800中实施方法500或方法500',并且通过网络814在不同系统800之间交换诸如引脚长度、全局连接件容限、阻挡轨迹和单元位置的信息。

将系统800配置为:通过I/O接口810或网络接口812接收与单元中的引脚的引脚长度相关的信息。通过总线808将信息传输至处理器802,以在电路布局中放置单元。然后将引脚长度存储在计算机可读介质804中作为引脚长度参数816。将系统800配置为:在执行方法500或方法500'(图5A和图5B)期间,确定与全局连接件容限相关的信息。在一些实施例中,将系统800配置为:通过I/O接口810或网络接口812接收与全局连接件容限相关的信息。将信息存储在计算机可读介质804中作为全局连接件容限参数818。将系统800配置为:在执行方法500或方法500'(图5A和图5B)期间,确定与阻挡轨迹相关的信息。在一些实施例中,将系统800配置为:通过I/O接口810或网络接口812接收与阻挡轨迹相关的信息。将信息存储在计算机可读介质804中作为阻挡轨迹参数820。将系统800配置为:通过I/O接口810或网络接口812接收与单元位置相关的信息。在一些实施例中,将系统配置为:在执行方法500或方法500'(图 5A和图5B)期间,确定与单元位置相关的信息。将信息存储在计算机可读介质804中作为单元位置参数822。

系统800是被配置为用于执行方法500或方法500'(图5A和图5B)的专用计算器件。虽然系统800可以包括用于其他计算器件的组件,但是将系统800配置为专门用于执行全局连接件布线的方法。

该说明书的一个方面涉及一种全局连接件布线的方法。方法包括:确定用于在电路布局中使用的单元的全局连接件容限,其中单元包括多个引脚以及相对于单元限定的多条布线轨迹。方法还包括确定单元内的阻挡轨迹的数量。方法还包括比较全局连接件容限与阻挡轨迹的数量。方法还包括:如果全局连接件容限和阻挡轨迹的数量不满足预定条件,那么调节电路布局内的单元的位置。

该说明书的另一方面涉及一种用于实施全局连接件布线方法的系统。系统包括:至少一个处理器、被配置为存储指令和/或程序数据的非暂时性计算机可读介质。非暂时性计算机可读介质连接至至少一个处理器,将至少一个处理器配置为执行存储的指令。将至少一个处理器配置为:确定用于电路布局的单元的全局连接件容限,其中单元包括多个引脚以及关于单元限定的多条布线轨迹。将至少一个处理器配置为确定单元内的阻挡轨迹的数量。将至少一个处理器配置为比较全局连接件容限与阻挡轨迹的数量。将至少一个处理器配置为:如果全局连接件容限和阻挡轨迹的数量不满足预定条件,那么调节电路布局内的单元的位置。

该说明书的又一方面涉及一种修改单元的方法。方法包括:识别单元的最大重叠引脚组中的引脚的数量;确定跨越区域中的布线轨迹的数量;以及确定单元的全局连接件容限K。方法还包括:确定全局连接件容限K是否满足阈值。方法还包括:如果全局连接件容限K不满足阈值,那么修改单元中的至少一个引脚的长度或至少一个引脚的位置。

根据本发明的一些实施例,提供了一种全局连接件布线的方法,所述方法包括:确定用于在电路布局中使用的单元的全局连接件容限,其中,所述单元包括多个引脚,和相对于所述单元限定的多条布线轨迹;确定所述单元内的阻挡轨迹的数量;比较所述全局连接件容限与所述阻挡轨迹的 数量;以及如果所述全局连接件容限和所述阻挡轨迹的数量不满足预定条件,则调节所述电路布局内的单元的位置。

在上述方法中,确定所述全局连接件容限包括:识别所述多条布线轨迹的最靠近所述单元的第一边缘的第一布线轨迹,所述第一布线轨迹用于连接至所述多个引脚的第一引脚;识别所述多条布线轨迹的最靠近所述单元的第二边缘的第二布线轨迹,所述第二布线轨迹用于连接至所述多个引脚的第二引脚,其中,所述第二边缘与所述第一边缘相对;以及识别所述多个引脚中的引脚的数量。

在上述方法中,确定所述全局连接件容限包括:基于最大重叠引脚组中的引脚的数量和与所述最大重叠引脚组中的引脚相交的布线轨迹的数量,确定所述全局连接件容限。

在上述方法中,还包括:如果所述全局连接件容限小于阈值,则调节所述单元中的多个引脚的至少一个引脚的长度。

在上述方法中,还包括:确定包括具有调节的长度的至少一个引脚的单元的全局连接件容限。

在上述方法中,还包括:如果所述全局连接件容限小于阈值,则调节所述电路布局中的单元的位置。

在上述方法中,还包括:确定具有调节的位置的单元的阻挡轨迹的数量。

在上述方法中,确定所述单元的阻挡轨迹的数量包括:识别被位于所述单元之上的金属层级中的互连结构阻挡的多条布线轨迹的数量。

在上述方法中,识别被互连结构阻挡的多条布线轨迹的数量包括:识别被电源-地(PG)线阻挡的多条布线轨迹的数量。

在上述方法中,比较所述全局连接件容限与所述阻挡轨迹的数量包括:确定所述全局连接件容限是否小于所述阻挡轨迹的数量。

在上述方法中,比较所述全局连接件容限与所述阻挡轨迹的数量包括:确定所述全局连接件容限是否小于所述阻挡轨迹的数量与缓冲因子的和。

在上述方法中,还包括:调节所述多个引脚的至少一个引脚的长度和调节所述至少一个引脚的位置。

在上述方法中,调节所述至少一个引脚的长度包括:调节所述多个引脚的一个以上的引脚的长度。

在上述方法中,确定所述单元的全局连接件容限包括:确定一维布线图中的单元的全局连接件容限。

在上述方法中,还包括:基于所述单元的调节的位置,生成用于形成掩模的指令。

根据本发明的另一些实施例,还提供了一种用于实施全局连接件布线方法的系统,所述系统包括:至少一个处理器;以及非暂时性计算机可读介质,被配置为存储指令,其中,所述非暂时性计算机可读介质连接至所述至少一个处理器,并且将所述至少一个处理器配置为执行存储的指令,以用于:确定用于在电路布局中使用的单元的全局连接件容限,其中,所述单元包括多个引脚,和相对于所述单元限定的多条布线轨迹;确定所述单元内的阻挡轨迹的数量;比较所述全局连接件容限与所述阻挡轨迹的数量;以及如果所述全局连接件容限和所述阻挡轨迹的数量不满足预定条件,则调节所述电路布局内的单元的位置。

在上述系统中,将所述至少一个处理器配置为执行所述存储的指令,以用于通过如下操作来确定所述全局连接件容限:识别所述多条布线轨迹的最靠近所述单元的第一边缘的第一布线轨迹,所述第一布线轨迹用于连接至所述多个引脚的第一引脚;识别所述多条布线轨迹的最靠近所述单元的第二边缘的第二布线轨迹,所述第二布线轨迹用于连接至所述多个引脚的第二引脚,其中,所述第二边缘与所述第一边缘相对;以及识别所述多个引脚中的引脚的数量。

在上述系统中,将所述至少一个处理器配置为执行所述存储的指令,以用于:如果所述全局连接件容限小于阈值,则调节所述多个引脚的至少一个引脚的长度。

在上述系统中,将所述至少一个处理器配置为执行所述存储的指令,以用于:如果所述全局连接件容限和所述阻挡轨迹的数量不满足预定条件,则调节所述单元的位置。

根据本发明的又一些实施例,还提供了一种修改单元的方法,所述方 法包括:识别最大重叠引脚组中的引脚的数量;确定覆盖所述最大重叠引脚组的跨越区域中的布线轨迹的数量;确定所述单元的全局连接件容限;确定所述全局连接件容限是否满足阈值;以及如果所述全局连接件容限不满足所述阈值,则修改所述单元中的至少一个引脚的长度或至少一个引脚的位置。

上面论述了若干实施例的部件,使得本领域普通技术人员可以更好地理解本发明的各个方面。本领域普通技术人员应该理解,可以很容易地使用本发明作为基础来设计或更改其他用于达到与这里所介绍实施例相同的目的和/或实现相同优点的处理和结构。本领域普通技术人员也应该意识到,这种等效构造并不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,可以进行多种变化、替换以及改变。

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