CN102867095B - 一种总线布线方法 - Google Patents
一种总线布线方法 Download PDFInfo
- Publication number
- CN102867095B CN102867095B CN201210353588.XA CN201210353588A CN102867095B CN 102867095 B CN102867095 B CN 102867095B CN 201210353588 A CN201210353588 A CN 201210353588A CN 102867095 B CN102867095 B CN 102867095B
- Authority
- CN
- China
- Prior art keywords
- gauze
- bus
- winding area
- wiring
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种总线布线方法,该方法包括:确定与总线线网相关的信息为布线信息;将总线线网作为一虚拟普通线网,根据所述布线信息搜索出从虚拟普通线网的源端点到目标端点的布线路径;基于预设的绕线样式在布线路径上搜索出第一可绕线区域和第二可绕线区域,并在第一可绕线区域和所述第二可绕线区域分别搭建绕线样式并完成绕线以得到总线线网的布线结果;分别确定水平层和垂直层的可扩展区域,在可扩展区域内对总线线网的布线结果进行扩展以得到最终的布线结果。该方法通过对总线线网先进行主体布线,然后进行双层线长匹配布线,有效地解决了在BUS线网起止端点阵列不能对齐,及布线区域存在有大量障碍物的布线问题。
Description
技术领域
本发明涉及超大规模集成电路自动布线领域,尤其涉及一种总线布线方法。
背景技术
随着集成电路的快速发展,以及系统级芯片(System on Chip,简称SoC)技术的出现,数模混合集成电路的需求不断增加,成为未来集成电路发展的重要方向。
数模混合集成电路的自动设计成为学术界和工业界研究的热点问题。其中,数模混合集成电路的顶层布线是自动设计的重要步骤之一,而总线(简称BUS)线网是顶层布线中的一类关键线网,BUS线网的自动布线要求满足长度匹配约束条件。好的BUS布线方法能够大大地节约布线资源,提高布线成功率,如何满足在BUS布线的精确长度匹配与线网顺序匹配是研究的重点。
现有的BUS布线方法主要分为单层布线方法与双层布线方法:
一、单层BUS布线的一种主流方法是将BUS线网在一个金属层上进行先布线后绕线的算法。该算法的主要思想是将BUS线网两端的引脚列分别以其几何上的中点作为虚拟的布线端点,这样,两排引脚之间的BUS布线就变成了在两个虚拟端点之间的普通两端线网布线,需要注意的是,这条两端线网的宽度相当于原BUS线网的总宽度。在虚拟的普通线网布线完成之后,再将该虚拟线网按实际情况处理成一段平行走线的BUS线网,如图1(a)所示,并根据长度匹配约束来进行绕线,绕线的方法如图1(b)所示。
二、双层BUS布线的一种主要的算法是定义主要层和次要层,在主要层布线而在次要层绕线。将用于布线的两个金属层一个设为水平布线层,一个设为垂直布线层,在布线时,如果主要的布线部分是在水平层,那么该层的拥挤程度应该是远大于垂直层的,此时,该算法将水平层定义为主要层,将垂直层定义为次要层,次要层的主要功能就是进行长度扩展,也称为绕线。如果主要的布线部分是在垂直层,则反之。算法在布线前就定义了BUS线网中每条线网的最小长度与最大长度约束条件,所以,在布线的过程中,一旦确定了次要层绕线的位置,就可以进行长度扩展,如图2的LAYER2中的虚线部分。
单层布线算法的优点是能够适应多种布局样式,且能较好地避开障碍物。但它的局限性也不可忽视。它从一开始就只考虑在一个金属层上的BUS布线,这就是一个很大的限制,事实上,在顶层布线的时候,因为布线资源已被大量占用,要在一个金属层上找到一条能容纳宽线网的路径比较难,且这条路径可能走了很多弯路,而如果将该算法扩展到双层布线或多层布线时,可能需要考虑新的绕线方法才能保证新的长度匹配约束条件。另外,一旦引脚的顺序发生变化,不再是正序或者反序而是乱序时,该算法就无法处理了。
双层布线算法解决了引脚乱序排列时的布线问题,且为双层布线的绕线方法提供了思路。但是该算法只能用于如图2中引脚相对排列的情况,且假设在布线区域没有障碍物或少量简单障碍物,从它的使用条件与假设中可以看出该算法的局限性,即无法处理较为复杂的布线情况,如非对称的引脚以及复杂的障碍物分布,而这些复杂情况才是布线中的实际情况。另外,该算法在输入时需要人工定义线网长度的最大最小值而无法在布线中自适应地计算线网需要扩展的长度。该算法是一种模糊匹配的算法,无法满足精确长度匹配的要求。
因此,亟需一种布线方法来解决上述问题,以满足精确长度匹配和线网顺序匹配。
发明内容
本发明所要解决的技术问题之一是需要提供一种能够满足精确长度匹配以及线网顺序匹配的总线布线方法。
为了解决上述技术问题,本发明提供了一种总线布线方法,该方法包括:步骤1,确定与总线线网相关的信息为布线信息;步骤2,将所述总线线网作为一虚拟普通线网,根据所述布线信息搜索出从所述虚拟普通线网的源端点到目标端点的布线路径;步骤3,基于预设的绕线样式在所述布线路径上搜索出第一可绕线区域和第二可绕线区域,并在所述第一可绕线区域和所述第二可绕线区域分别搭建所述绕线样式并完成绕线以得到所述总线线网的布线结果,其中,所述第一可绕线区域以水平层为主要层、以垂直层为次要层的区域,所述第二可绕线区域以垂直层为主要层、以水平层为次要层的区域;步骤4,分别确定所述水平层和所述垂直层的可扩展区域,在所述可扩展区域内对所述总线线网的布线结果进行扩展以得到最终的布线结果。
根据本发明另一方面的总线布线方法,所述布线信息包括布线区域大小、障碍物信息、障碍物所在金属层的工艺信息和待布线的总线线网信息,其中,
所述障碍物信息包括障碍物的顶点坐标与所在的金属层,所述工艺信息包括所述障碍物所在金属层的层数、该层的最小线宽和最小线间距以及该层线网与障碍物的最小距离,所述待布线的总线线网信息包括总线线网的规模、总线线网的源端点阵列以及目标端点阵列。
根据本发明另一方面的总线布线方法,在所述步骤2中,具体包括以下步骤,
分别将所述布线信息中的所述总线线网的源端点阵列的中点和目标端点阵列的中点设置为所述虚拟普通线网的源端点和目标端点;
利用基于隐式连接图的无网络布线模型和三维A*搜索算法进行路径搜索,以得到从所述源端点到目标端点的布线路径。
根据本发明另一方面的总线布线方法,在所述步骤3中,具体包括以下步骤,
步骤31,基于设定的参数条件来预设所述绕线样式,并根据所述绕线样式来确定可绕线区域的大小;
步骤32,在所述布线路径上搜索出与所述可绕线区域大小一致的不存在任何障碍物的第一可绕线区域以及第二可绕线区域,其中,
所述第一可绕线区域以水平层为主要层、以垂直层为次要层的区域,所述第二可绕线区域以垂直层为主要层、以水平层为次要层的区域;
步骤33,在所述第一可绕线区域的主要层和所述第二可绕线区域的主要层上分别搭建所述绕线样式,在所述第一可绕线区域的次要层和所述第二可绕线区域的次要层上完成绕线以得到所述总线线网的布线结果。
根据本发明另一方面的总线布线方法,所述设定的参数条件包括:设定的最小线网间距、设定的线网上游和下游方向、上游方向的线网样式为固定不变、设定的扩展方向以及所述上游方向线网和扩展方向的变形。
根据本发明另一方面的总线布线方法,所述上游方向线网和扩展方向的变形包括左上、左下、右上、右下、上右、上左、下右和下左。
根据本发明另一方面的总线布线方法,在所述步骤33中,进一步包括以下步骤,
第一绕线步骤,对在所述第一可绕线区域的主要层搭建的所述绕线样式,在所述第一可绕线区域的次要层进行第一次绕线;
第二绕线步骤,基于所述第一可绕线区域的下游方向的线网顺序以及所述总线线网的目标端点阵列的顺序,对在所述第二可绕线区域的主要层搭建的所述绕线样式,在所述第二可绕线区域的次要层进行第二次绕线。
根据本发明另一方面的总线布线方法,在所述第二绕线步骤中,进一步包括:
将所述第一可绕线区域的下游线网顺序作为第二可绕线区域的上游线网顺序;
确定所述第二可绕线区域的下游线网顺序,以使得基于所述第二可绕线区域的上游线网顺序和所述第二可绕线区域的下游线网顺序完成的第二次绕线后的所述总线线网的布线结果中,所述总线线网的源端点阵列的各线网号与所述目标端点阵列的各线网号相对应。
根据本发明另一方面的总线布线方法,在所述步骤4中,具体包括以下步骤,
确定所述水平层和所述垂直层的可扩展区域;
分别计算所述总线线网中每条线网所对应的在水平层的水平长度和在垂直层的垂直长度;
将水平长度的最大值作为水平层的扩展标准值,将垂直长度的最大值作为垂直层的扩展标准值;
利用所述扩展标准值对各个层的线网在所述扩展区域内进行扩展以使得所述总线线网中的各条线网的长度相等。
根据本发明另一方面的总线布线方法,在利用所述扩展标准值对各个层的线网在所述扩展区域内进行扩展以使得所述总线线网中的各条线网的长度相等的步骤中,
将垂直层的各个绕线分别向上下方向扩展,所要扩展的长度为所述垂直层的扩展标准值与当前线网的垂直长度的差值的四分之一;
将水平层的各个绕线分别向左右方向扩展,所要扩展的长度为所述水平层的扩展标准值与当前线网的水平长度的差值的四分之一。
根据本发明另一方面的总线布线方法,还包括:若扩展后的线网超出所述可扩展区域,则对所述线网进行调整,以使其超出部分缩短至所述可扩展区域,并向内部延长与缩短部分的长度相等的长度。
与现有技术相比,本发明的一个或多个实施例可以具有如下优点:
针对集成电路的BUS线网,提出了一种基于两次绕线的双层BUS布线方法。该方法是适用于双层BUS布线的两阶段布线算法,即先进行主体布线,然后进行双层线长匹配布线的方法,该方法有效地解决了在BUS线网起止端点阵列不能对齐,及布线区域存在有大量障碍物两种情况下的布线问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是现有技术中单层布线的两阶段布线示意图;
图2是现有技术中双层长度扩展布线示意图;
图3是根据本发明实施例的总线布线方法的流程示意图;
图4是根据本发明实施例的绕线样式的设计图;
图5(a)是根据本发明实施例的水平层绕线位置确定结果的示意图;
图5(b)是根据本发明实施例的进行长度扩展的示意图;
图6是根据本发明实施例的在垂直层和水平层布线结果图;
图7是根据本发明实施例的上游方向线网和扩展方向的8种变形的示例图;
图8是根据本发明实施例的布线拐弯后线序示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3是根据本发明实施例的总线布线方法的流程示意图,下面参考图3,详细说明本发明实施例的各个步骤。
步骤S310,确定与总线线网相关的信息为布线信息。
与总线线网相关的信息包括:布线区域大小、障碍物信息、障碍物所在金属层的工艺信息和待布BUS线网信息。
其中,障碍物信息包括障碍物的顶点坐标与所在金属层层数;工艺信息包括该层的层数,记为z,该层的最小线宽,记为width,该层的最小线间距,记为space,该层线网与障碍物的最小距离,记为obs space;待布BUS线网信息包括组成BUS线网的布线条数n,BUS的源端点阵列坐标source[n]和BUS的目标端点阵列坐标target[n]。
步骤S320,将BUS线网视作一段宽的虚拟普通线网,根据布线信息搜索出从虚拟普通线网的源端点到目的端点的布线路径。
该步骤将BUS线网视作一段宽的虚拟普通线网进行双层布线。
具体地,首先将BUS线网的源端点阵列source[n]的中点坐标设为虚拟普通线网的源端点s,将BUS线网的目标端点阵列target[n]的中点坐标设为虚拟普通线网的目标端点t。然后,利用基于隐式连接图的无网格布线模型与三维A*搜索算法进行三维路径搜索,以得到从源端点s到目标端点t的布线结果。
在本步骤(即主体布线阶段),采用了基于隐式连接图的布线模型和三维的A*路径搜索算法,使布线算法能够快速有效地进行三维路径搜径,解决布线区域存在有大量障碍物两种情况下的布线问题。
需要说明的是,上述主体布线的算法仅是本发明的一个示例,还可以根据实际需要对算法进行修改或优化,但是本步骤的最终目的需要达成将虚拟普通线网以最短路径及最少换层数布通。
步骤S330,基于预设的绕线样式在布线路径上搜索出第一可绕线区域和第二可绕线区域,并在第一可绕线区域和第二可绕线区域分别搭建绕线样式并完成绕线以得到总线线网的布线结果,其中,第一可绕线区域以水平层为主要层、以垂直层为次要层的区域,第二可绕线区域以垂直层为主要层、以水平层为次要层的区域。
需要说明的是,在此步骤中,搜索以水平层为主要层的可绕线区域与搜索以垂直层为主要层的可绕线区域是同时进行的。
一般地,将以水平层为主要层上搭建绕线样式,在次要层垂直层上进行绕线的过程称为水平层绕线,反之称为垂直层绕线。在整个BUS线网中,水平层绕线与垂直层绕线各只进行一次。
本步骤具体包括以下子步骤,下面详细说明各个步骤。
子步骤S331,基于设定的参数条件来预设绕线样式。
在对绕线样式进行设置时,需要满足一些参数条件,比如最小线间距约束、设定的线网上游和下游方向、上游方向的线网样式为固定不变、设定的扩展方向以及上游方向线网和扩展方向的变形等。
图4是根据本发明实施例的绕线样式的设计图,以此图为例,来说明如何来设置绕线样式。此图是一个水平层绕线的绕线样式,实际绕线过程发生在垂直层,其中,线网间距pitch为width+space。
需要说明的是,图4所示的路径的走线方向为从左到右,在本发明实施例中,规定该绕线区域的左为上游,右为下游,而如果走线方向是从右到左,那么应该定义上游为右,下游为左。图中扩展方向为向上,则基线网为线网4,如果扩展方向为向下,则基线网为线网1。
根据上述说明,总是固定绕线区域上游的模式,基线网4连接次要层的地方为从可绕线区域,即是两条虚线之间的区域,向下游延伸x=(n+1)×pitch。其中,n为引脚的个数,也是线网的条数,在图4中n为4,并且,向扩展方向延伸y=0,其余线网连接次要层的地方分别为基于前一条线网的位置,同时向下游与扩展方向分别延伸2×pitch。下游的样式根据线网顺序进行调整,上游线网各自之间的线间距和下游线网各自之间的线间距均变为2×pitch,且上游线网和下游线网互相插入对方线网的中间间隙中,如图4中所示的下游线网4插入上游线网1和上游线网2的中间间隙中。
子步骤S332,根据绕线样式确定可绕线区域的大小。
举例而言,从图4中可以得到可绕线位置的约束条件,用于绕线的区域的长度应至少为4n×pitch,宽度为向上展宽的宽度至少为n×pitch,即,虚拟线网的中心位置与原虚拟线网中心的距离为(n×pitch)/2。
需要说明的是,该样式的上游部分根据线网方向以及扩展方向有8种变形,其上游与扩展方向分别为左上、左下、右上、右下、上右、上左、下右、下左,每种变形都能通过对原形进行对称与旋转得到,具体如图7所示。
子步骤S333,在布线路径上搜索出与可绕线区域的大小一致的不存在任何障碍物的第一可绕线区域和第二可绕线区域,其中,第一可绕线区域以水平层为主要层、以垂直层为次要层的区域,第二可绕线区域以垂直层为主要层、以水平层为次要层的区域。搜索到可绕线区域的同时将绕线样式搭建完成。
具体地,在本发明实施例中,还以图4为例,根据上一步的设计,只需要在步骤S320搜索到的布线路径的某一侧寻找到一个长为4n×pitch,宽为n×pitch的矩形,如果在这个矩形中不出现障碍物,那么这个矩形就是可绕线区域。水平层绕线的区域一旦确定之后,就不需要再对水平层进行搜索,垂直层绕线区域的搜索方式同上。各个层上搜索到可绕线区域的同时将绕线样式搭建完成。
子步骤S334,在第一可绕线区域的主要层和第二可绕线区域的主要层上分别搭建绕线样式,在第一可绕线区域的次要层和第二可绕线区域的次要层上完成绕线以得到总线线网的布线结果。
具体地,对在第一可绕线区域的主要层搭建绕线样式,在第一可绕线区域的次要层进行第一次绕线;基于第一可绕线区域的下游方向的线网顺序以及总线线网的目标端点阵列的顺序,对在第二可绕线区域的主要层搭建绕线样式,在第二可绕线区域的次要层进行第二次绕线。
进一步,说明第二次绕线的过程。首先,将第一可绕线区域的下游线网顺序作为第二可绕线区域的上游线网顺序,然后,根据线网走线的拐弯情况及目标端点的顺序来确定第二可绕线区域的下游线网顺序,以使得基于第二可绕线区域的上游线网顺序和第二可绕线区域的下游线网顺序完成的第二次绕线后的总线线网的布线结果中,总线线网的源端点阵列的各线网号与目标端点阵列的各线网号相对应。
在主体布线中,经过多次转弯,端点的顺序可能发生相反的变化。举例而言,如图8所示,假设线网走线是从左到右,那么线网拐向上边和下边会导致到达端点顺序发生相反的变化,图8(a)中线网到达端点的顺序从左到右为1234,而图8(b)中线网到达端点的顺序为左到右为4321。
因此,可以通过下游线网在主体布线时走线的拐弯情况及目标端点的顺序来确定第二次绕线的下游线网顺序,使其与目标端点阵列的顺序一致。
对于两个绕线区域(水平层和垂直层)来说,前一个绕线区域上游线网顺序是BUS线网起始端点的顺序,如图4中的最左侧的“1234”的顺序,而下游线网顺序是随机的,并且该顺序作为后一个绕线区域上游的线网顺序,但是后一个绕线区域的下游线网则需要根据BUS线网走线拐弯情况和目标端点阵列的顺序来决定线网顺序,这样就能保证源端点阵列的顺序与目标端点阵列的顺序一致,使源端点各线网号与目标端点相应的线网号对应布线。
本步骤为双层线长匹配布线阶段,通过基于通道布线的绕线方法,在水平层和垂直层各自完成一次线长匹配布线过程,在保证长度匹配约束条件的同时将BUS线网端点顺序进行重排,解决了在线网端点阵列乱序排列时的布线问题。
步骤S340,分别确定水平层与垂直层的可扩展区域,在可扩展区域内,对在步骤S330得到的总线线网的布线结果进行扩展以得到最终的布线结果。
具体地,首先确定水平层和垂直层的可扩展区域,然后分别计算BUS线网中每条线网所对应的在水平层与垂直层的水平长度和垂直长度,将各自层中的最大值作为各自层的扩展标准值,利用扩展标准值对各个层的线网在扩展区域内进行扩展,以使BUS线网中各条线网的布线长度相等。
如图5(a)表示水平层绕线位置确定的结果,其中实线为水平层线网,虚线为垂直层线网,在计算所有垂直层的线网长度时,需要将此结果中的垂直层线网一并加入计算,得到垂直层的线网长度最大值为max_vlength。
具体地,首先分别对每条线网进行标准扩展。
对每条线网进行一次标准扩展,对于水平层绕线,需要将垂直层的各个绕线线网分别向上下方向扩展,所要扩展的长度为垂直层的扩展标准值(最大垂直层长度)与当前线网的垂直层长度的差值的四分之一,对于垂直层绕线,需要将水平层的各个绕线线网分别向左右方向扩展,所要扩展的长度为水平层的扩展标准值(最大水平层长度)与当前线网的水平层长度的差值的四分之一。
图5(b)中对线网1做的扩展为标准扩展。标准扩展过程需要将垂直层线网向上下两侧分别扩展(max_vlength-vlength)/4,其中vlength表示当前线网的在垂直层的长度,经此扩展之后,当前线网的垂直层长度将等于max_vlength。分别对每条线网做标准扩展。
然后,分别对每条线网进行扩展调整。
标准扩展之后,如果绕线线网的某一端超出了可扩展区域,那么需要将超出长度扩展部分缩短直到不再超出可扩展区域,而内部的长度扩展部分则延长相应的长度。如图5(b)中的线网2和线网3。标准扩展超出可扩展区域多少,就将扩展部分向区域内移动多少。
如果布线及绕线均成功,则输出布线路径,否则,布线失败,图6为一种可能的布线结果图。
需要说明的是,本发明布线方法可以使用C++面向对象思想设计和实现,其具有平台通用性,能跨平台使用。程序输入为布线区域大小、障碍物信息、金属层工艺信息和待布BUS线网信息,输出为使用该方法进行布线后的BUS线网路径。
该方法通过对总线线网进行两阶段布线,即先进行主体布线,然后进行双层线长匹配布线,有效地解决了在BUS线网起止端点阵列不能对齐,及布线区域存在有大量障碍物两种情况下的布线问题。
本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种总线布线方法,其特征在于,包括:
步骤1,确定与总线线网相关的信息为布线信息;
步骤2,将所述总线线网作为一虚拟普通线网,根据所述布线信息搜索出从所述虚拟普通线网的源端点到目标端点的布线路径,在所述步骤2中,具体包括以下步骤,
分别将所述布线信息中的所述总线线网的源端点阵列的中点和目标端点阵列的中点设置为所述虚拟普通线网的源端点和目标端点;利用基于隐式连接图的无网络布线模型和三维A*搜索算法进行路径搜索,以得到从所述源端点到目标端点的布线路径;
步骤3,基于预设的绕线样式在所述布线路径上搜索出第一可绕线区域和第二可绕线区域,并在所述第一可绕线区域和所述第二可绕线区域分别搭建所述绕线样式并完成绕线以得到所述总线线网的布线结果,其中,
所述第一可绕线区域以水平层为主要层、以垂直层为次要层的区域,所述第二可绕线区域以垂直层为主要层、以水平层为次要层的区域;
步骤4,分别确定所述水平层和所述垂直层的可扩展区域,在所述可扩展区域内对所述总线线网的布线结果进行扩展以得到最终的布线结果。
2.根据权利要求1所述的总线布线方法,其特征在于,
所述布线信息包括布线区域大小、障碍物信息、障碍物所在金属层的工艺信息和待布线的总线线网信息,其中,
所述障碍物信息包括障碍物的顶点坐标与所在的金属层,所述工艺信息包括所述障碍物所在金属层的层数、该层的最小线宽和最小线间距以及该层线网与障碍物的最小距离,所述待布线的总线线网信息包括总线线网的规模、总线线网的源端点阵列以及目标端点阵列。
3.根据权利要求1或2所述的总线布线方法,其特征在于,在所述步骤3中,具体包括以下步骤,
步骤31,基于设定的参数条件来预设所述绕线样式,并根据所述绕线样式来确定可绕线区域的大小;
步骤32,在所述布线路径上搜索出与所述可绕线区域大小一致的不存在任何障碍物的第一可绕线区域以及第二可绕线区域,其中,
所述第一可绕线区域以水平层为主要层、以垂直层为次要层的区域,所述第二可绕线区域以垂直层为主要层、以水平层为次要层的区域;
步骤33,在所述第一可绕线区域的主要层和所述第二可绕线区域的主要层上分别搭建所述绕线样式,在所述第一可绕线区域的次要层和所述第二可绕线区域的次要层上完成绕线以得到所述总线线网的布线结果。
4.根据权利要求3所述的总线布线方法,其特征在于,
所述设定的参数条件包括:设定的最小线网间距、设定的线网上游和下游方向、上游方向的线网样式为固定不变、设定的扩展方向以及所述上游方向线网和扩展方向的变形。
5.根据权利要求4所述的总线布线方法,其特征在于,
所述上游方向线网和扩展方向的变形包括左上、左下、右上、右下、上右、上左、下右和下左。
6.根据权利要求4或权利要求5所述的总线布线方法,其特征在于,在所述步骤33中,进一步包括以下步骤,
第一绕线步骤,对在所述第一可绕线区域的主要层搭建的所述绕线样式,在所述第一可绕线区域的次要层进行第一次绕线;
第二绕线步骤,基于所述第一可绕线区域的下游方向的线网顺序以及所述总线线网的目标端点阵列的顺序,对在所述第二可绕线区域的主要层搭建的所述绕线样式,在所述第二可绕线区域的次要层进行第二次绕线。
7.根据权利要求6所述的总线布线方法,其特征在于,在所述第二绕线步骤中,进一步包括:
将所述第一可绕线区域的下游线网顺序作为第二可绕线区域的上游线网顺序;
确定所述第二可绕线区域的下游线网顺序,以使得基于所述第二可绕线区域的上游线网顺序和所述第二可绕线区域的下游线网顺序完成的第二次绕线后的所述总线线网的布线结果中,所述总线线网的源端点阵列的各线网号与所述目标端点阵列的各线网号相对应。
8.根据权利要求1所述的总线布线方法,其特征在于,在所述步骤4中,具体包括以下步骤,
确定所述水平层和所述垂直层的可扩展区域;
分别计算所述总线线网中每条线网所对应的在水平层的水平长度和在垂直层的垂直长度;
将水平长度的最大值作为水平层的扩展标准值,将垂直长度的最大值作为垂直层的扩展标准值;
利用所述扩展标准值对各个层的线网在所述扩展区域内进行扩展以使得所述总线线网中的各条线网的长度相等。
9.根据权利要求8所述的总线布线方法,其特征在于,在利用所述扩展标准值对各个层的线网在所述扩展区域内进行扩展以使得所述总线线网中的各条线网的长度相等的步骤中,
将垂直层的各个绕线分别向上下方向扩展,所要扩展的长度为所述垂直层的扩展标准值与当前线网的垂直长度的差值的四分之一;
将水平层的各个绕线分别向左右方向扩展,所要扩展的长度为所述水平层的扩展标准值与当前线网的水平长度的差值的四分之一。
10.根据权利要求9所述的总线布线方法,其特征在于,还包括:
若扩展后的线网超出所述可扩展区域,则对所述线网进行调整,以使其超出部分缩短至所述可扩展区域,并向内部延长与缩短部分的长度相等的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210353588.XA CN102867095B (zh) | 2012-09-20 | 2012-09-20 | 一种总线布线方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210353588.XA CN102867095B (zh) | 2012-09-20 | 2012-09-20 | 一种总线布线方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102867095A CN102867095A (zh) | 2013-01-09 |
CN102867095B true CN102867095B (zh) | 2015-03-04 |
Family
ID=47445963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210353588.XA Expired - Fee Related CN102867095B (zh) | 2012-09-20 | 2012-09-20 | 一种总线布线方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102867095B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919761A (zh) * | 2016-12-30 | 2017-07-04 | 北京华大九天软件有限公司 | 一种集成电路版图中快速连通两组总线的方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291528B (zh) * | 2020-01-21 | 2023-06-16 | 杭州广立微电子股份有限公司 | 一种用于不同绕线层间的3d绕线方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957876A (zh) * | 2010-09-15 | 2011-01-26 | 清华大学 | 考虑通孔的基于不均匀网格的多层布线方法 |
CN101980216A (zh) * | 2010-10-18 | 2011-02-23 | 清华大学 | 基于网块的快速多层布线方法 |
CN102117350A (zh) * | 2009-12-31 | 2011-07-06 | 中国科学院微电子研究所 | 多线网之间物理短路位置的自动定位方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657859B2 (en) * | 2005-12-08 | 2010-02-02 | International Business Machines Corporation | Method for IC wiring yield optimization, including wire widening during and after routing |
-
2012
- 2012-09-20 CN CN201210353588.XA patent/CN102867095B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117350A (zh) * | 2009-12-31 | 2011-07-06 | 中国科学院微电子研究所 | 多线网之间物理短路位置的自动定位方法 |
CN101957876A (zh) * | 2010-09-15 | 2011-01-26 | 清华大学 | 考虑通孔的基于不均匀网格的多层布线方法 |
CN101980216A (zh) * | 2010-10-18 | 2011-02-23 | 清华大学 | 基于网块的快速多层布线方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919761A (zh) * | 2016-12-30 | 2017-07-04 | 北京华大九天软件有限公司 | 一种集成电路版图中快速连通两组总线的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102867095A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947100B (zh) | 路径规划方法、系统及终端设备 | |
CN108335356B (zh) | 地铁车站三维模型自动生成方法 | |
US7143385B2 (en) | Wiring design method and system for electronic wiring boards | |
US20170193133A1 (en) | Method and device for automatically routing multi-branch cable | |
CN112560389B (zh) | 一种基于轨道分配的详细布线方法 | |
JP6702328B2 (ja) | ワイヤーハーネス経路設計方法 | |
CN102867095B (zh) | 一种总线布线方法 | |
US7251802B2 (en) | Method and system for deciding a wiring route | |
CN116029254B (zh) | 一种基于路径优化的集成电路版图自动布线方法及系统 | |
CN103488816A (zh) | 模拟电路的多层精确匹配布线方法 | |
CN103678741A (zh) | 一种集成电路版图验证中短路路径的图形优化方法 | |
CN115859899A (zh) | 一种多驱动能力的集成电路标准单元版图迁移的方法 | |
CN113987995A (zh) | 一种布线方案确定方法、装置、电子设备及存储介质 | |
US20120240090A1 (en) | Clock tree designing apparatus and clock tree designing method | |
CN107239618A (zh) | 一种异形版图中多端口跨障碍布线方法 | |
CN112997183A (zh) | 确定电气部件的电气连接的三维布局的方法 | |
JP4696988B2 (ja) | レイアウト設計装置、方法、及び、プログラム | |
CN103838897A (zh) | 一种集成电路版图验证的层次化天线检查方法 | |
CN113255284B (zh) | 全局布线中快速局部拆线重布方法 | |
CN105183693B (zh) | 一种基于三维片上网络的多播传输方法 | |
CN113804197A (zh) | 基于复杂轨道地图的多台机器小车路径规划方法 | |
CN113919277A (zh) | 电路设计方法、平台及终端设备 | |
CN114189450A (zh) | 用于生成和使用网络综合中的物理路线图的系统和方法 | |
JP2006146712A (ja) | 半導体集積回路の設計方法と設計装置並びにプログラム | |
Mata et al. | PCB Auto Routing Algorithm Based on Morphological Operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150304 Termination date: 20160920 |
|
CF01 | Termination of patent right due to non-payment of annual fee |