CN117787193A - 一种集成电路布线方法、系统、设备及介质 - Google Patents
一种集成电路布线方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117787193A CN117787193A CN202311831135.8A CN202311831135A CN117787193A CN 117787193 A CN117787193 A CN 117787193A CN 202311831135 A CN202311831135 A CN 202311831135A CN 117787193 A CN117787193 A CN 117787193A
- Authority
- CN
- China
- Prior art keywords
- wiring
- integrated circuit
- path
- processing
- algorithm
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 239000002245 particle Substances 0.000 claims abstract description 72
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 61
- 238000005457 optimization Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000012805 post-processing Methods 0.000 claims abstract description 26
- 238000010845 search algorithm Methods 0.000 claims abstract description 23
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 10
- 230000002829 reductive effect Effects 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000002922 simulated annealing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000001816 cooling Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000001259 photo etching Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请公开了一种集成电路布线方法、系统、设备及介质,方法包括:获取集成电路布局模型;根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域;根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径;根据所述布线路径对冗余线段进行去除处理,得到后处理路径;对所述后处理路径进行字典转换处理,得到布线版图。本申请实施例能够使用离散粒子群优化算法降低布线搜索空间,并通过改进A星搜索算法确定详细布线区域,进一步提升布线速度,提高了集成电路的布线效率,可以广泛应用于集成电路领域。
Description
技术领域
本申请涉及集成电路技术领域,尤其涉及一种集成电路布线方法、系统、设备及介质。
背景技术
随着现代超大规模集成电路设计的特征尺寸不断缩小,片上通信变得非常复杂,增大了集成电路的布线设计难度。相关技术中,传统的布线方法例如迷宫算法、Dijkstra算法等难以应对布线的速度、性能等要求,随着布线规模的不断增加,导致搜索空间过大,显著制约了布线速度及质量,甚至出现内存泄漏的情况,影响了集成电路的布线效率。
综上,相关技术中存在的技术问题有待得到改善。
发明内容
本申请实施例的主要目的在于提出一种集成电路布线方法、系统、设备及介质,能够提高集成电路的布线效率。
为实现上述目的,本申请实施例的一方面提出了一种集成电路布线方法,所述方法包括:
获取集成电路布局模型;
根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域;
根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径;
根据所述布线路径对冗余线段进行去除处理,得到后处理路径;
对所述后处理路径进行字典转换处理,得到布线版图。
在一些实施例中,所述根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域,包括:
根据粒子群优化算法对所述集成电路布局模型进行直角斯坦纳树生成处理,得到直角斯坦纳树;
根据所述直角斯坦纳树确定引脚连接关系和连线方式;
根据所述引脚连接关系和所述连线方式对所述集成电路布局模型进行划分处理,得到布线缓冲区;
根据所述布线缓冲区的顶点坐标确定所述集成电路布局模型的布线局域。
在一些实施例中,所述根据粒子群优化算法对所述集成电路布局模型进行直角斯坦纳树生成处理,得到直角斯坦纳树,包括:
获取接受概率和所述集成电路布局模型的布局参数;
对所述布局参数进行初始化处理,并根据所述布局参数在解空间中生成随机分布的初始粒子种群;
根据适应度函数对所述初始粒子种群进行适应度计算处理,得到初始适应度;
对所述初始粒子种群进行更新处理,得到更新粒子种群;
根据适应度函数对所述更新粒子种群进行适应度计算处理,得到更新适应度;
根据所述接受概率和所述初始适应度对所述更新适应度进行比较,得到比较结果;
当所述比较结果满足终止条件时,根据所述更新粒子种群生成直角斯坦纳树;
否则,返回至所述对所述初始粒子种群进行更新处理这一步骤。
在一些实施例中,所述获取接受概率,包括:
设置初始温度和温度更新公式;
根据所述温度更新公式对所述初始温度进行降低处理,得到温度调节表;
根据所述温度调节表获取接受概率。
在一些实施例中,所述根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径,包括:
获取代价权重因子;
根据曼哈顿距离确定所述改进A星搜索算法的启发式函数;
根据所述代价权重因子和所述启发式函数对所述改进A星搜索算法进行代价优化处理,得到优化代价函数;
根据所述优化代价函数对所述布线区域进行搜索布线处理,得到布线路径。
在一些实施例中,所述根据所述优化代价函数对所述布线区域进行布线处理,得到布线路径,包括:
对所述布线区域进行搜索点检查处理,确定待选邻居节点;
通过所述优化代价函数对所述待选邻居节点进行代价计算处理,得到节点代价;
根据所述节点代价确定目标节点,并对所述目标节点进行回溯处理,得到布线路径。
在一些实施例中,所述根据所述布线路径对冗余线段进行去除处理,得到后处理路径,包括:
根据布线规则对所述布线路径进行检查处理,得到通孔位置和冗余线段;
根据所述通孔位置和所述冗余线段对所述布线路径进行重置处理,得到后处理路径。
为实现上述目的,本申请实施例的另一方面提出了一种集成电路布线系统,所述系统包括:
第一模块,用于获取集成电路布局模型;
第二模块,用于根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域;
第三模块,用于根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径;
第四模块,用于根据所述布线路径对冗余线段进行去除处理,得到后处理路径;
第五模块,用于对所述后处理路径进行字典转换处理,得到布线版图。
为实现上述目的,本申请实施例的另一方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前面所述的方法。
为实现上述目的,本申请实施例的另一方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前面所述的方法。
本申请实施例至少包括以下有益效果:本申请提供一种基层电路布线方法、系统、设备及介质,该方案通过粒子群优化算法对集成电路布局模型进行布线区域生成处理得到布线区域,能够确定连接关系及布线范围,降低布线搜索空间;该方案还通过改进A星搜索算法对所述布线区域进行布线处理,确定详细布线区域,同时改进A星搜索算法对代价函数进行指数函数优化,进一步提升布线速度,提高了集成电路的布线效率。
附图说明
图1是本申请实施例提供的一种集成电路布线方法的流程图;
图2是本申请实施例提供的一种布线区域可视化示意图;
图3是本申请实施例提供的一种布线实例示意图;
图4是本申请实施例提供的一种布线版图;
图5是本申请实施例提供的一种集成电路布线系统的结构示意图;
图6是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请实施例相一致的所有实施方式,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。例如,在不脱离本申请实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“若”、“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”等,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,每个是指对应的多个中的每一个,任一是指多个中的任意一个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在对本申请实施例进行详细说明之前,首先对本申请实施例中涉及的部分名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。
布线区域,指的是一个拥有布线轨道资源的区域,布线轨道是指水平或垂直的导线。
超大规模集成电路(Very Large Scale Integration Circuit,VLSI)是一种将大量晶体管组合到单一芯片的集成电路,其集成度大于大规模集成电路。
随着集成电路技术的不断发展,芯片的尺寸越来越小,互连线的规模越来越大,物理设计是中发展速度最快和自动化程度最高的领域之一,随着集成电路的特征和尺寸不断的减小,电路的规模和大规模的集成电路的工艺,以及摩尔定律都经历了巨大的进步。集成电路的设计的复杂性不断的增长,进一步增加了在自动化物理设计中的困难程度。
布线则是物理后端设计中不可或缺的一环,随着现代超大规模集成电路设计的特征尺寸不断缩小,片上通信变得非常复杂。电路元件和互连密度的增加给现代VLSI布线器带来了巨大的挑战。因为不同网络间连接的数量增大和布线拥塞的集中,同时在芯片上的布线资源是有限的,导致当今的设计出的芯片更难以布线。超大规模的集成电路带来的大量的布线需求,直接根据布线需求和设计规则进行布线是不符合实际的。各种各样的约束导致布线过程十分复杂且耗时,传统的布线方法例如迷宫算法、Dijkstra算法等难以应对布线的速度、性能等要求,A星搜索算法凭借其良好的性能受到了广泛关注,但是随着布线规模的不断增加,导致搜索空间过大,显著制约了布线速度及质量,甚至出现内存泄漏的情况。
有鉴于此,本申请实施例中提供一种集成电路布线方法、系统、设备及介质,该方案结合布线引脚位置关系、优化算法、布线算法,开展联合粒子群优化和A星搜索的集成电路布线方法,其中,使用离散粒子群优化(DPSO)算法构建直角斯坦纳树确定连接关系及大致布线范围,降低布线搜索空间,同时在粒子更新时加入模拟退火策略,避免陷入局部最优的情况;并且采用了改进的A星搜索算法确定详细布线区域,同时对代价函数进行指数函数优化,进一步提升布线速度,提高布线效率。
本申请实施例提供的集成电路布线方法,涉及集成电路设计技术领域。本申请实施例提供的集成电路布线方法可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表以及车载终端等,但并不局限于此;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器,服务器还可以是区块链网络中的一个节点服务器;软件可以是实现集成电路布线方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图1是本申请实施例提供的集成电路布线方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S101至步骤S105。
步骤S101,获取集成电路布局模型;
步骤S102,根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域;
步骤S103,根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径;
步骤S104,根据所述布线路径对冗余线段进行去除处理,得到后处理路径;
步骤S105,对所述后处理路径进行字典转换处理,得到布线版图。
本申请实施例所示意的步骤S101至步骤S106,通过获取集成电路布局模型,基于离散粒子群优化(DPSO)算法确定直角斯坦纳树(RSMT),从而对布线区域进行初步规划,再使用改进的A星搜索算法对布线区域进一步进行详细的布线处理,从而得到布线路径。在通过改进A星搜索算法对所有线网完成布线后,通过对布线路径中的冗余线段进行去除后得到后处理路径,再将后处理路径根据字典实际转换成可供生产的布线版图,该布线版图为GDSII格式。其中,GDSII流格式是一个数据库文件格式,用于集成电路版图的数据转换,并成为事实上的工业标准。本申请实施例中的布线版图是一个二进制文件,其中含有集成电路版图中的平面的几何形状,文本或标签,以及其他有关信息并可以由层次结构组成,从而用于重建所有或部分的版图信息,可以用作制作光刻掩膜版。
在一些实施例的步骤S101中,可以通过对集成电路进行布局建模获取得到集成电路布局模型。也可以通过计算机等其他方法对已建模完成的集成电路布局模型进行获取,不限于此。
在一些实施例中的步骤S102中,所述根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域,包括:
步骤S1021、根据粒子群优化算法对所述集成电路布局模型进行直角斯坦纳树生成处理,得到直角斯坦纳树;
步骤S1022、根据所述直角斯坦纳树确定引脚连接关系和连线方式;
步骤S1023、根据所述引脚连接关系和所述连线方式对所述集成电路布局模型进行划分处理,得到布线缓冲区;
步骤S1024、根据所述布线缓冲区的顶点坐标确定所述集成电路布局模型的布线局域。
在一些实施例的步骤S1021中,根据粒子群优化算法对集成电路布局模型进行直角斯坦纳树生成处理,得到直角斯坦纳树。其中,直角斯坦纳树旨在找到一棵连接所有给定点的树,使得树中的所有边都是水平或垂直的,而非斜线。在集成电路设计中,这种树结构被用来最小化布线的总长度,从而减少电路的延迟和功耗。可以通过粒子群优化算法进行直角斯坦纳树的生成,粒子群优化算法是一种群体智能算法,粒子群S是在一个多维连续解空间中包含多个粒子的群体。每个粒子都有自己的位置和速度,通过对粒子的位置和速度进行更新,从而生成得到直角斯坦纳树。本申请实施例通过使用离散粒子群优化(DPSO)算法构建直角斯坦纳树,从而确定集成电路的连接关系及大致布线范围,降低了集成电路布线的搜索空间。
其中,在一些实施例中的步骤S1021中,所述根据粒子群优化算法对所述集成电路布局模型进行直角斯坦纳树生成处理,得到直角斯坦纳树,包括:
获取接受概率和所述集成电路布局模型的布局参数;
对所述布局参数进行初始化处理,并根据所述布局参数在解空间中生成随机分布的初始粒子种群;
根据适应度函数对所述初始粒子种群进行适应度计算处理,得到初始适应度;
对所述初始粒子种群进行更新处理,得到更新粒子种群;
根据适应度函数对所述更新粒子种群进行适应度计算处理,得到更新适应度;
根据所述接受概率和所述初始适应度对所述更新适应度进行比较,得到比较结果;
当所述比较结果满足终止条件时,根据所述更新粒子种群生成直角斯坦纳树;
否则,返回至所述对所述初始粒子种群进行更新处理这一步骤。
在本申请实施例中,首先获取得到接受概率和集成电路布局模型的布局参数,该接受概率的具体获取方式在下文中进行说明,在此不作具体介绍。集成电路布局模型的布局参数可以为引脚坐标等数据。通过对相应的参数进行初始化操作,并在解空间中生成随机分布的初始粒子种群,然后根据应度函数f=L(Tx)+α×bends(其中L为总线长,α为加权因子,bends为转弯个数)分别对每个粒子计算对应的适应度值,并记录每个粒子的个体最优解和种群的全局最优解,此时的适应度记为f_old。然后对初始粒子种群进行更新处理,更新每个粒子的位置和速度,得到更新粒子种群。对于每个新的粒子位置,计算适应度值,此时适应度记为f_new。通过结合接受概率比较f_new与该粒子当前个体最优解的适应度f_old,当f_new较好,即高于该粒子当前个体最优解的适应度f_old时,接受新位置,并相应更新个体最优解;当f_new较差,即高低于该粒子当前个体最优解的适应度f_old时,以接受概率p接受新位置。其中,接受概率p按一定冷却速率逐步降低,p需要根据具体线网情况确定,接受规则可以为模拟退火算法,通过设置初始温度,并设定温度冷却速率,从而控制概率p的减小速度,具体接受概率的具体获取方式在下文中进行说明。最后重新计算种群全局最优解,当比较结果满足终止条件时,根据所述更新粒子种群生成直角斯坦纳树,即检查终止条件是否满足,是就停止,否则继续更新粒子位置和速度,其中,终止条件可以为最优解或达到迭代次数。本申请实施例通过利用粒子群优化算法构建直角斯坦纳树,能够降低布线搜索空间,提高了集成电路的布线效率。
所述获取接受概率,包括:
设置初始温度和温度更新公式;
根据所述温度更新公式对所述初始温度进行降低处理,得到温度调节表;
根据所述温度调节表获取接受概率。
其中,本申请实施例通过设置初始温度T0和温度更新公式构建温度调节表,其中,初始温度T0直接影响接受概率p的初始值,若T0设置太高,会使得过程接受太多次较差解;设置太低,则少有较差解被接受,因此可以通过预实验确定一个合适的T0,使初始p值控制在0.7-0.8左右。温度更新公式可以设置为每迭代一定次数(比如每迭代50次),降低温度。常用的更新公式有:Tnew=α*Told或者更新为Tnew=Told–ΔT,其中α是温度衰减系数,一般取0.8-0.99;ΔT是固定下降梯度。在本申请实施例中,接受概率用于对粒子更新进行比较确定,当粒子更新的新解适应度值较差时,以概率p接受:p=exp(-(fnew-fold)/T),当温度T越高,P值也越大。然后可以设置最小温度值或接受较差解的次数下限为终止条件,从而通过上述方法设计出一个渐进降低的温度调节表,从而从温度调节表中获取接受概率,控制接受概率p按合适速率下降,充分发挥跳出局部最优的作用。本申请实施例通过在更新粒子时,以一定的概率接受较差解,从而使得算法避免陷入局部最优,增强了算法的全局寻优能力,提高了集成电路布线的效率。
在一些实施例的步骤S1022中,根据直角斯坦纳树确定引脚连接关系和连线方式,其中直角斯坦纳树问题是通过一些额外的点(称为斯坦纳点)连接所有引脚,以实现最小化线长,因此通过生成直角斯坦纳树可以确定得到集成电路布线的引脚连接关系和连线方式。
在一些实施例的步骤S1023中,根据引脚连接关系和连线方式对集成电路布局模型进行划分处理,得到布线缓冲区。在获取得到引脚连接关系和连线方式时,可以根据引脚位置和相应的布线规则对集成电路布线模型进行划分,从而划分得到适当的布线缓冲区。
在一些实施例的步骤S1024中,参照图2,可以根据布线缓冲区的顶点坐标确定集成电路布局模型的布线局域,其中,该布线缓冲区可以为矩形缓冲区,从而获取得到矩形缓冲区的顶点坐标作为布线区域。
在一些实施例的步骤S103中,所述根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径,包括:
步骤S1031、获取代价权重因子;
步骤S1032、根据曼哈顿距离确定所述改进A星搜索算法的启发式函数;
步骤S1033、根据所述代价权重因子和所述启发式函数对所述改进A星搜索算法进行代价优化处理,得到优化代价函数;
步骤S1034、根据所述优化代价函数对所述布线区域进行搜索布线处理,得到布线路径。
在一些实施例的步骤S1031中,获取得到代价权重因子,其中,代价权重因子包括控制布线速度的权重因子,需要根据具体布线要求来确定。
在一些实施例的步骤S1032中,根据曼哈顿距离确定改进A星搜索算法的启发式函数,由于集成电路布线时通常规定走线只能为水平或竖直路径,因此,本申请实施例采用曼哈顿距离作为启发函数来进一步的改进。
在一些实施例的步骤S1033中,根据代价权重因子和启发式函数对改进A星搜索算法进行代价优化处理,得到优化代价函数。其中,A星算法是一种常用的启发式搜索算法,通常用于在图或网络中寻找最短路径或最优解。它结合了Dijkstra算法的最短路径搜索和贪婪最优化搜索的特点,以一种高效的方式在图中找到从起点到目标点的最优路径。A星算法使用总代价f(n)来评估每个节点的优先级。总代价由两部分组成:从起点到当前节点的实际代价g(n),以及当前节点到目标节点的估算代价h(n)。即f(n)=g(n)+h(n)。当引脚的坐标竖直很多大时,采用传统的A星搜索算法来进行布线,由于解空间过大,极容易造成布线速度的下降,甚至发生内存泄漏,造成布线失败。对此问题,本发明针对代价函数做出相应优化,优化后的代价函数为:f(n)=g(n)+h(n)*w,其中w=e(α*h(n))-1,α为控制布线速度的权重因子,需要根据具体布线要求来确定。更改为该代价函数后,在搜索的初始阶段,算法将会更快的搜索那些代价更小的点,从而使整个布线效率大幅提升。
在一些实施例的步骤S1032中,所述根据所述优化代价函数对所述布线区域进行布线处理,得到布线路径,包括:
对所述布线区域进行搜索点检查处理,确定待选邻居节点;
通过所述优化代价函数对所述待选邻居节点进行代价计算处理,得到节点代价;
根据所述节点代价确定目标节点,并对所述目标节点进行回溯处理,得到布线路径。
在本申请实施例中,将包含已知连接关系和布线区域的布线字典送入基于指数函数优化的A星布线算法中,同时送入的还有障碍物的坐标信息,从而对布线区域进行搜索点检查处理。在A星搜索过程中,首先将检查搜索点是否处于布线区域内,不是直接跳过,是的话检查是否位于障碍物中,位于的话直接跳过该节点;如果一个点既在布线区域内,又不在障碍物当中,则该节点可作为一个待选邻居节点,通过代价函数计算每个节点的代价,并选择代价最小的节点作为新的起点,得到待选邻居节点。当找到目标节点后,触发终止条件,从目标节点开始,沿着父节点一直向前回溯,直到回溯到起始节点。在每一步中,算法将当前节点设置为它的父节点,直到回溯到起始节点。这个过程中,路径上的每个节点都被添加到最终的路径列表中。最后重复下一对引脚布线,当一个子线网内的所有引脚布线完成后,根据布线规则将该线网周围的部分区域的信息添加到障碍物中,需要注意的是,在添加过程中避免与其它线网的连线发生短路。对下一个子线网重复上述过程,直到所有线网完成布线,参照图3,得到布线路径。本申请实施例通过改进A星算法确定详细布线区域,同时对代价函数进行指数函数优化,进一步提升布线速度,提高布线效率。
在一些实施例的步骤S104中,所述根据所述布线路径对冗余线段进行去除处理,得到后处理路径,包括:
根据布线规则对所述布线路径进行检查处理,得到通孔位置和冗余线段;
根据所述通孔位置和所述冗余线段对所述布线路径进行重置处理,得到后处理路径。
在本申请实施例中,在改进A星搜索算法对所有线网完成布线后,需要对布线路径进行后处理,具体通过获取对应的布线规则对布线路径进行检查,从而确定通孔位置,并根据通孔位置对冗余线段进行去除,得到后处理路径。本申请实施例通过对布线路径进行后处理,从而去除冗余线段,提高了集成电路布线的可靠性。
在一些实施例的步骤S105中,参照图4,对后处理路径进行字典转换处理后,即可以得到布线版图。
下面,结合具体的应用场景,对本申请实施例的方案作详细介绍和说明:
本申请实施例应用于集成电路的布线场景中,通过结合布线引脚位置关系、优化算法、布线算法,开展联合粒子群优化和A星搜索的集成电路布线方法,其中,布线引脚位置关系通过使用离散粒子群优化(DPSO)算法构建直角斯坦纳树确定连接关系及大致布线范围,降低布线搜索空间,同时优化算法采用在粒子更新时加入模拟退火策略,避免陷入局部最优的情况;布线算法采用改进的A星搜索算法确定详细布线区域,同时对代价函数进行指数函数优化,进一步提升布线速度,提高布线效率。
请参阅图5,本申请实施例还提供一种集成电路布线系统,可以实现上述集成电路布线方法,该系统包括:
第一模块501,用于获取集成电路布局模型;
第二模块502,用于根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域;
第三模块503,用于根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径;
第四模块504,用于根据所述布线路径对冗余线段进行去除处理,得到后处理路径;
第五模块505,用于对所述后处理路径进行字典转换处理,得到布线版图。
可以理解的是,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述集成电路布线方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
可以理解的是,上述方法实施例中的内容均适用于本设备实施例中,本设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
请参阅图6,图6示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器601,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器602,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器602可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器602中,并由处理器601来调用执行本申请实施例的集成电路布线方法;
输入/输出接口603,用于实现信息输入及输出;
通信接口604,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线605,在设备的各个组件(例如处理器601、存储器602、输入/输出接口603和通信接口604)之间传输信息;
其中处理器601、存储器602、输入/输出接口603和通信接口604通过总线605实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述集成电路布线方法。
可以理解的是,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的集成电路布线方法、系统、设备及介质,其通过基于离散粒子群优化算法确定直角斯坦纳树,从而对布线区域进行初步规划,再使用改进的A星搜索算法对布线区域进一步进行详细布线,从而得到布线路径,能够使用离散粒子群优化算法构建直角斯坦纳树确定连接关系及大致布线范围,降低布线搜索空间,同时在粒子更新时加入模拟退火策略,避免陷入局部最优的情况;采用改进的A星搜索算法确定详细布线区域,同时对代价函数进行指数函数优化,进一步提升布线速度,提高布线效率。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种集成电路布线方法,其特征在于,所述方法包括:
获取集成电路布局模型;
根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域;
根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径;
根据所述布线路径对冗余线段进行去除处理,得到后处理路径;
对所述后处理路径进行字典转换处理,得到布线版图。
2.根据权利要求1所述的方法,其特征在于,所述根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域,包括:
根据粒子群优化算法对所述集成电路布局模型进行直角斯坦纳树生成处理,得到直角斯坦纳树;
根据所述直角斯坦纳树确定引脚连接关系和连线方式;
根据所述引脚连接关系和所述连线方式对所述集成电路布局模型进行划分处理,得到布线缓冲区;
根据所述布线缓冲区的顶点坐标确定所述集成电路布局模型的布线局域。
3.根据权利要求2所述的方法,其特征在于,所述根据粒子群优化算法对所述集成电路布局模型进行直角斯坦纳树生成处理,得到直角斯坦纳树,包括:
获取接受概率和所述集成电路布局模型的布局参数;
对所述布局参数进行初始化处理,并根据所述布局参数在解空间中生成随机分布的初始粒子种群;
根据适应度函数对所述初始粒子种群进行适应度计算处理,得到初始适应度;
对所述初始粒子种群进行更新处理,得到更新粒子种群;
根据适应度函数对所述更新粒子种群进行适应度计算处理,得到更新适应度;
根据所述接受概率和所述初始适应度对所述更新适应度进行比较,得到比较结果;
当所述比较结果满足终止条件时,根据所述更新粒子种群生成直角斯坦纳树;
否则,返回至所述对所述初始粒子种群进行更新处理这一步骤。
4.根据权利要求3所述的方法,其特征在于,所述获取接受概率,包括:
设置初始温度和温度更新公式;
根据所述温度更新公式对所述初始温度进行降低处理,得到温度调节表;
根据所述温度调节表获取接受概率。
5.根据权利要求1所述的方法,其特征在于,所述根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径,包括:
获取代价权重因子;
根据曼哈顿距离确定所述改进A星搜索算法的启发式函数;
根据所述代价权重因子和所述启发式函数对所述改进A星搜索算法进行代价优化处理,得到优化代价函数;
根据所述优化代价函数对所述布线区域进行搜索布线处理,得到布线路径。
6.根据权利要求5所述的方法,其特征在于,所述根据所述优化代价函数对所述布线区域进行布线处理,得到布线路径,包括:
对所述布线区域进行搜索点检查处理,确定待选邻居节点;
通过所述优化代价函数对所述待选邻居节点进行代价计算处理,得到节点代价;
根据所述节点代价确定目标节点,并对所述目标节点进行回溯处理,得到布线路径。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述布线路径对冗余线段进行去除处理,得到后处理路径,包括:
根据布线规则对所述布线路径进行检查处理,得到通孔位置和冗余线段;
根据所述通孔位置和所述冗余线段对所述布线路径进行重置处理,得到后处理路径。
8.一种集成电路布线系统,其特征在于,所述系统包括:
第一模块,用于获取集成电路布局模型;
第二模块,用于根据粒子群优化算法对所述集成电路布局模型进行布线区域生成处理,得到布线区域;
第三模块,用于根据改进A星搜索算法对所述布线区域进行布线处理,得到布线路径;
第四模块,用于根据所述布线路径对冗余线段进行去除处理,得到后处理路径;
第五模块,用于对所述后处理路径进行字典转换处理,得到布线版图。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311831135.8A CN117787193A (zh) | 2023-12-27 | 2023-12-27 | 一种集成电路布线方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311831135.8A CN117787193A (zh) | 2023-12-27 | 2023-12-27 | 一种集成电路布线方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117787193A true CN117787193A (zh) | 2024-03-29 |
Family
ID=90390555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311831135.8A Pending CN117787193A (zh) | 2023-12-27 | 2023-12-27 | 一种集成电路布线方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117787193A (zh) |
-
2023
- 2023-12-27 CN CN202311831135.8A patent/CN117787193A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7413580B2 (ja) | ニューラルネットワークを使用した集積回路フロアプランの生成 | |
CN110595482B (zh) | 一种带避障权重的路径规划方法、装置及电子设备 | |
Tosun | Cluster-based application mapping method for network-on-chip | |
CN110645991B (zh) | 一种基于节点调节的路径规划方法、装置及服务器 | |
Chen et al. | Edge intelligent networking optimization for internet of things in smart city | |
CN112163394B (zh) | 一种cpu芯片设计方法、装置及电子设备 | |
CN114021519A (zh) | 链状量子芯片的布线方法、装置、电子设备及存储介质 | |
CN105630800A (zh) | 一种节点重要性排序的方法和系统 | |
CN112560389B (zh) | 一种基于轨道分配的详细布线方法 | |
CN112395822B (zh) | 时延驱动的非曼哈顿结构Steiner最小树构建方法 | |
CN116822452B (zh) | 芯片布局优化方法及相关设备 | |
Boryczka et al. | An effective hybrid harmony search for the asymmetric travelling salesman problem | |
CN114970439A (zh) | 自动布线方法、装置、计算机设备、存储介质 | |
CN114386356A (zh) | 芯片设计的布线方法及装置、设备、存储介质 | |
CN104318025A (zh) | 八角结构Steiner最小树下的VLSI绕障布线器 | |
CN112308315A (zh) | 一种多点智能路径规划方法及系统 | |
CN117422041A (zh) | 模拟芯片自动化布线模型训练方法及自动化布线方法 | |
Ho et al. | An orthogonal simulated annealing algorithm for large floorplanning problems | |
Tusi et al. | Using ABC and RRT algorithms to improve mobile robot path planning with danger degree | |
CN115964984B (zh) | 用于数字芯片版图平衡绕线的方法和装置 | |
CN108289115B (zh) | 一种信息处理方法及系统 | |
CN117787193A (zh) | 一种集成电路布线方法、系统、设备及介质 | |
CN116679527A (zh) | 版图拆分方法、版图拆分系统及存储介质 | |
CN116401992A (zh) | 一种节点路由路径优化方法及装置 | |
CN112580803B (zh) | 模型获取方法、装置、电子设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |