CN116090402A - 一种基于聚类算法的全局布线方法、装置和电子设备 - Google Patents

一种基于聚类算法的全局布线方法、装置和电子设备 Download PDF

Info

Publication number
CN116090402A
CN116090402A CN202310080024.1A CN202310080024A CN116090402A CN 116090402 A CN116090402 A CN 116090402A CN 202310080024 A CN202310080024 A CN 202310080024A CN 116090402 A CN116090402 A CN 116090402A
Authority
CN
China
Prior art keywords
clustered
wiring
wires
routing
result
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
Application number
CN202310080024.1A
Other languages
English (en)
Inventor
程雷
丁鸿志
黄嘉荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Lixin Software Technology Co ltd
Original Assignee
Shanghai Lixin Software Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Lixin Software Technology Co ltd filed Critical Shanghai Lixin Software Technology Co ltd
Priority to CN202310080024.1A priority Critical patent/CN116090402A/zh
Publication of CN116090402A publication Critical patent/CN116090402A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • G06F30/3953Routing detailed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本公开实施例中提供了一种基于聚类算法的全局布线方法,包括:获取初始走线,并基于预设规则将所述初始走线分为待聚类走线和无需聚类走线;对每个所述待聚类走线上的引脚进行聚类处理,并得到聚类结果,所述聚类结果包括聚类引脚;基于所述聚类引脚生成已聚类走线;基于所述待聚类走线、所述无需聚类走线和所述已聚类走线生成全局布线结果。通过本公开的处理方案,减小了每个走线的边界框,减小了每个走线对应边界框的重叠机会,提高了算法的并行度以及加快了算法的布线时间,解决了当前布线算法布线效率低的问题。

Description

一种基于聚类算法的全局布线方法、装置和电子设备
技术领域
本发明涉及布线算法领域,具体涉及一种基于聚类算法的全局布线方法,更具体地涉及一种基于聚类算法的全局布线方法、装置和电子设备。
背景技术
全局布线是集成电路中的一个关键要素,是指对整个芯片的走线做全局规划,以便确定即使是很大的芯片设计,它的最终布线计划也能实现。对于集成电路来说,只有全局布线的规划做得好,后期的最终布线才会准确无误。
现有的全局布线算法,如(CUGR,fastroute等),在布线时主要的优化目标包括线长、通孔个数、拥塞、时序以及一些像天线效应等设计违例。基于上述全局布线算法进行的全局布线,一般是使用并行算法进行实现的,当走线的边界框没有重叠时,是可以并行处理的,但若设计网表文件中有很多边界框较大的走线时,这些走线的并行度就较低,会降低并行算法的效率。其次,若是存在边界框较大的布线,由于其搜索空间也很大,同样也会降低布线算法的运行效率。另外,若一个布线与拥塞区域具有关联,现有算法中都会对其拆掉重新布线,这种方法也会对布线算法的运行效率产生一定影响。
基于此,传统的全局布线算法存在算法布线效率低的问题,需要一种可以高效进行全局布线的布线算法来解决当前算法布线效率低的问题。
发明内容
有鉴于此,本公开实施例提供一种基于聚类算法的全局布线方法,至少部分解决现有技术中存在的问题。
根据本公开实施例的一个方面,提供了一种基于聚类算法的全局布线方法,包括:
获取初始走线,并基于预设规则将所述初始走线分为待聚类走线和无需聚类走线;
对每个所述待聚类走线上的引脚进行聚类处理,并得到聚类结果,所述聚类结果包括聚类引脚;
基于所述聚类引脚生成已聚类走线;
基于所述待聚类走线、所述无需聚类走线和所述已聚类走线生成全局布线结果。
根据本公开实施例的一种具体实现方式,所述选取所述初始走线中的待聚类走线包括:
获取各所述初始走线中的引脚数量,基于所述引脚数量确定待聚类走线引脚阈值;
基于所述待聚类走线引脚阈值以及所述引脚数量确定所述初始走线中的待聚类走线。
根据本公开实施例的一种具体实现方式,所述基于所述待聚类走线、所述无需聚类走线和所述已聚类走线生成全局布线结果包括:
获取芯片尺寸、芯片金属层的数量以及每个所述芯片金属层轨道间距;
基于所述芯片尺寸、所述芯片金属层的数量、每个所述芯片金属层轨道间距生成布线网格,所述布线网格包括2D布线网格和3D布线网格;
基于所述布线网格和所述待聚类走线、所述无需聚类走线和所述已聚类走线生成所述全局布线结果。
根据本公开实施例的一种具体实现方式,所述基于所述布线网格和所述待聚类走线、所述无需聚类走线和所述已聚类走线生成所述全局布线结果包括:
基于FLUTE算法在所述2D布线网格上对所述已聚类走线和所述无需聚类走线生成2D初始布线结果;
基于动态规划算法在所述3D布线网格上对所述待聚类走线、所述已聚类走线以及所述无需聚类走线生成3D初始布线结果;
对所述2D初始布线结果进行布线结果优化,得到2D布线结果;
对所述3D初始布线结果进行布线结果优化,得到3D布线结果;
基于所述2D布线结果和3D布线结果生成所述全局布线结果。
根据本公开实施例的一种具体实现方式,所述对与所述对所述2D初始布线结果进行布线结果优化包括:
基于Z模式算法和/或U模式算法对所述2D布线结果进行单调布线优化。
根据本公开实施例的一种具体实现方式,所述对所述3D初始布线结果进行布线结果优化包括:
基于迷宫算法对所述3D布线结果进行布线结果优化。
根据本公开实施例的一种具体实现方式,所述迷宫算法包括多层次的迷宫布线算法。
根据本公开实施例的一种具体实现方式,所述对所述3D初始布线结果进行布线结果优化包括:
使用迷宫算法分别对每个待聚类走线中的每个走线生成布线结果。
第二方面,本公开实施例提供了一种基于聚类算法的全局布线装置,包括根据本公开第一方面或其任一实现方式所述的基于聚类算法的全局布线方法。
第三方面,本公开实施例提供了一种电子设备,包括根据本公开第一方面或其任一实现方式所述的基于聚类算法的全局布线方法或者包括根据本公开第二方面所述的基于聚类算法的全局布线装置。
本公开实施例中提供了一种聚类算法的全局布线方法,包括:获取初始走线,并基于预设规则将所述初始走线分为待聚类走线和无需聚类走线;对每个所述待聚类走线上的引脚进行聚类处理,并得到聚类结果,所述聚类结果包括聚类引脚;基于所述聚类引脚生成已聚类走线;基于所述待聚类走线、所述无需聚类走线和所述已聚类走线生成全局布线结果。通过本公开的处理方案,减小了每个走线的边界框,减小了每个走线对应边界框的重叠机会,提高了算法的并行度以及加快了算法的布线时间,解决了当前布线算法布线效率低的问题。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的一种基于聚类算法的全局布线方法的流程示意图;
图2为本公开实施例提供的另一种基于聚类算法的全局布线的最优实施例流程示意图;
图3为本公开实施例提供的一种基于聚类算法的全局布线方法的聚类布线示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例主要应用于芯片的EDA-Router-Global Router领域,即全局布线算法领域。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
首先,参考图1,图1为本公开实施例提供的一种基于聚类算法的全局布线方法的流程示意图,包括:
步骤101,获取初始走线,并基于预设规则将初始走线分为待聚类走线和无需聚类走线。
具体的,在本实施例中,首先获取初始走线,初始走线包括初始的引脚(pin),以及各初始引脚之间的走线(net),各部分走线还包括各自对应的边界框(bounding box)。容易理解的,各初始走线中,其大小和位置参差不齐。本方案的目的是将走线进行分类,将大的走线分为小的走线,再对每个小的走线进行单独处理。在本实施例中,主要是基于走线的大小,将较大的走线作为待聚类走线,等待聚类后进行单独处理,较小的走线则作为无需聚类走线,也就是说在后续操作过程中无需进行聚类处理,可以直接进行布线处理。
具体的,走线大小的判定可以基于引脚数量的大小,也可以是基于边界框的大小进行判定,对于引脚数量而言,可以基于预设的引脚数量,也可以是首先获取初始走线中每个走线的引脚数量,再基于每个走线的引脚数量计算相应的分类阈值,再基于分类阈值对每个走线进行比对分类,最后得到待聚类走线和无需聚类走线。对于边界框的大小,可以是基于周长,也可以是基于面积,不论是基于周长或面积进行区分,其区分阈值都可以是基于预设阈值或基于每个走线的周长或面积进行计算得到的区分与之进行判定,基于区分阈值,和实际边界框的数值,对对应的走线进行判定,得到待聚类走线和无需聚类走线。
在一些具体实施例中,待聚类走线还被称为supernet。
步骤102,对每个待聚类走线上的引脚进行聚类处理,并得到聚类结果,聚类结果包括聚类引脚。
具体的,在步骤101中已经将初始走线进行分类,且将较大的走线区分为待聚类走线,基于此,将待聚类走线中的引脚进行聚类处理。将待聚类走线中的引脚进行聚类处理的主要依据是基于各待聚类走线中各引脚的位置。进行聚类处理的主要聚类算法为DBSCAN聚类算法,在其他实施例中,还可以是其他聚类算法,只需要可以满足聚类功能且聚类算法的主要聚类依据为密度即可。接着,即可得到关于待聚类引脚的聚类结果,聚类结果中包括聚在一起的引脚,也就是聚类引脚。
步骤103,基于聚类引脚生成已聚类走线。
容易理解的,在步骤102中已经基于聚类算法,得到了相应的多个聚类引脚,接下来只需要获取各聚类引脚的位置,并基于各聚类引脚的位置生成每个聚类中各聚类引脚对应的走线即可,具体的,该走线可以被称为已聚类走线。
步骤104,基于待聚类走线、无需聚类走线和已聚类走线生成全局布线结果。
具体的,在上述步骤中,通过聚类算法生成了新的走线,其走线大小是小于聚类前的待聚类走线的,因此,接下来的全局布线除了初始已有的待聚类走线和无需聚类走线,还再对需要已聚类走线进行布线。因此,在本实施例中,是通过基于待聚类走线、无需聚类走线和已聚类走线共同生成全局布线结果,容易理解的,基于上述走线生成的布线结果相较于初始走线进行的布线结果,由于走线更小,其具有更高的布线效率。
基于上述基于聚类算法的全局布线方法,由于经过了聚类拆分,其每个走线都变得比较小(其边界框也比较小),因此,相较于现有技术的布线算法具有如下优势:
1.小的走线对应的边界框之间的重叠机会变得比较小,其相互之间并行运行的几率变大,增加了布线算法的并行度。
2.小的走线对应的布线速度较快,减少了布线时间,提高了布线效率。
3.通过聚类拆分,走线中紧凑的部分会在前几个布线阶段进行布线,距离较远的部分会在最后的阶段进行布线,另外,对于存在拥塞的区域,在最后布线阶段的时候也会尽量绕过,减小了布线的错误率,也提高了布线的效率。
在本公开另一个实施例中,选取初始走线中的待聚类走线包括:获取各初始走线中的引脚数量,基于引脚数量确定待聚类走线引脚阈值;基于待聚类走线引脚阈值以及引脚数量确定初始走线中的待聚类走线。
具体的,待聚类走线的选取方法是通过各走线各自的引脚数量确定的,并且,对于具有不同的初始走线的不同网表,会得到不同的待聚类走线引脚阈值。
相应的,在本实施例中,首先获取初始走线中各走线的引脚数量,接着将各引脚数量作为算法的参数,并通过计算,得到计算结果,基于计算结果,可以得到待聚类走线引脚阈值。
容易理解的,在获取到待聚类走线引脚阈值后,则基于各初始走线的引脚数量,与待聚类走线引脚阈值进行比对,将大于待聚类走线引脚阈值的引脚数量对应的初始走线作为待聚类走线,将小于待聚类走线引脚阈值的引脚数量对应的初始走线作为无需聚类走线。
在本公开的另一个实施例中,基于待聚类走线、无需聚类走线和已聚类走线生成全局布线结果包括:获取芯片尺寸、芯片金属层的数量以及每个芯片金属层轨道间距;基于芯片尺寸、芯片金属层的数量、每个芯片金属层轨道间距生成布线网格,布线网格包括2D布线网格和3D布线网格;基于布线网格和待聚类走线、无需聚类走线和已聚类走线生成全局布线结果。
具体的,生成全局布线结果的前提是需要生成布线网格,基于布线网格以及布线网格中的各走线进行布线,因此,在本实施例中,首先需要获取该芯片对应的布线网格。
布线网格的获取包括首先获取芯片的尺寸、芯片金属层的数量以及每个芯片金属层之间的轨道间距,将芯片的尺寸、芯片金属层的数量以及每个芯片金属层之间的轨道间距作为布线结构输出程序的输入,接着,则可以获取到对应的布线网格。
在本实施例中,布线网格的获取包括2D布线网格以及3D布线网格,容易理解的,通过2D布线网格和3D布线网格的分别布线以及共同优化,可以得到优化结果更好以及效率更高的全局布线结果。
在本公开的其中一个实施例中,基于布线网格和待聚类走线、无需聚类走线和已聚类走线生成全局布线结果包括:基于FLUTE算法在2D布线网格上对已聚类走线和无需聚类走线生成2D初始布线结果;基于动态规划算法在3D布线网格上对待聚类走线、已聚类走线以及无需聚类走线生成3D初始布线结果;对2D初始布线结果进行布线结果优化,得到2D布线结果;对3D初始布线结果进行布线结果优化,得到3D布线结果;基于2D布线结果和3D布线结果生成全局布线结果。
具体的,对于2D布线网格中已聚类走线和无需聚类走线,其布线结果是通过FLUTE算法进行的,基于此,可以生成2D初始布线结果,对于3D布线网格中的待聚类走线、已聚类走线和无需聚类走线,通过动态规划算法,生成3D布线网格的3D初始布线结果。
在本实施例中,由于3D布线网格的布线结果生成中还包括不同金属层数之间的布线结果生成,因此还需要包括走线较大的待聚类走线,有利于后期全局布线结果的生成。通过动态规划算法生成的3D初始布线结果,还可以对金属层数进行优化,提高布线结果的优化程度。接着,基于2D布线结果和3D布线结果进行整合,得到初始网表中每个初始走线之间的最终布线结果。
在本公开的其中一个实施例中,对与对2D初始布线结果进行布线结果优化包括:基于Z模式算法和/或U模式算法对2D布线结果进行单调布线优化。
具体的,在本实施例中,对于2D初始布线结果中所有走线之间的布线结果进行进一步优化,其优化方式是通过Z模式算法和/U模式算法,单独或组合进行布线结果的连接方式优化。
通过Z模式算法和/或U模式算法对2D初始布线结果进行优化,可以优化2D布线结果中每个走线之间的连接方式,使2D布线结果中每个走线之间的布线连接更流畅,避免走线之间出现连接错误的情况。
在本公开的另一个实例中,对3D初始布线结果进行布线结果优化包括:基于迷宫算法对3D布线结果进行布线结果优化。
具体的,对于3D布线结果的优化主要需要搜索各金属层之间走线结果的最短路径,将最短路径替换当前的布线结果,也就是将当前布线结果中不够短的路径替换为最短路径。
在本实施例中,对于3D布线结果优化的算法为迷宫算法,基于迷宫算法可以有效搜索各金属层之间走线结果的最短路径,并将其优化到3D初始布线结果中。
在本公开的其中一个实施例中,迷宫算法包括多层次的迷宫布线算法。
容易理解的,迷宫布线算法包括多层次的布线算法和单层次的布线算法,由于需要优化的布线结果为多金属层的3D初始布线结果,因此,对于其采用多层次的迷宫布线算法为本方案的最优实施例,采用多层次的迷宫布线算法可以提高布线算法的优化效率,以及减小布线算法优化中的错误率。
在本公开的另一个实施例中,对3D初始布线结果进行布线结果优化包括:使用迷宫算法分别对每个待聚类走线中的每个走线生成布线结果。
具体的,在布线结果中,每一个待聚类走线都是一个多引脚且边界框较大的走线,因此,对于每一个待聚类走线来说,还需要进行进一步的优化。
在本实施例中,对于待聚类走线的进一步优化是在3D初始布线结果中进行的,主要包括通过迷宫算法,分别对每个待聚类走线中的各个小的走线进行布线结果生成,小的走线包括两个引脚之间的最小走线,对于每个小走线之间,生成新的布线结果,可以有效对待聚类走线进行优化,相应的也会优化整体的3D初始布线结果。
在另一个实施例中,首先可以将待聚类走线中已被拆为已聚类走线的小走线作为一个单位结点。然后基于各个已聚类走线生成一个连通图,再基于该连通图生成一个最小生成树,基于该最小生成树作为待聚类走线的中已聚类走线的布线顺序,最小生成树上的每个边对应需要进行连接的已聚类走线,接着,通过多源多目标的迷宫算法连接每两个对应的已聚类走线。作为待聚类走线的优化结果。
如图2所示,图2为本公开实施例提供的另一种基于聚类算法的全局布线的最优实施例流程示意图。
首先,与上述实施例中的步骤101~步骤103相同,首先获取初始走线,并基于预设规则将初始走线分为待聚类走线和无需聚类走线,对每个待聚类走线上的引脚进行聚类处理,并得到聚类结果,聚类结果包括聚类引脚,基于聚类引脚生成已聚类走线。
接着,步骤104则通过待聚类走线、无需聚类走线和已聚类走线,生成全局布线结果。在步骤104中,包括6个布线结果生成步骤。
步骤201,首先基于芯片尺寸,芯片金属层的数量以及芯片金属层轨道间距生成对应的布线网格,布线网格包括2D布线网格和3D布线网格。
步骤202,基于FLUTE算法,对2D布线网格进行初始布线结果生成处理,这里进行布线结果生成处理是对于已聚类走线和无需聚类走线这种小走线进行的。
步骤203,基于动态规划算法,对3D布线网格中的所有走线生成对应的布线。
步骤204,基于Z模式算法和/或U模式的算法,对2D布线网格中的布线结果进行进一步连接方式的优化。
步骤205,基于多层次的迷宫布线算法,对3D网格中的所有布线结果进行进一步优化。
步骤206,基于迷宫算法,对待聚类走线中的每个已聚类走线,生成对应的布线结果。
步骤207,对步骤204、步骤205和步骤206中的布线结果进行整合,生成最终布线结果。
基于上述最优具体实施例进行的基于聚类算法的全局布线,可以解决上述背景技术中的技术问题,相较于现有技术中的布线算法具有提高布线并行度以及布线效率的优点。
如图3所示,图3为本公开实施例提供的一种基于聚类算法的全局布线方法的聚类布线示意图。
图3为布线阶段的走线聚类全阶段示意图,首先选取边界框较大的supernet a,也就是待聚类走线,使用聚类算法,将其拆分为Net a1,Net a2,Net a3,Net a4,Net a5,Neta6这6个小的走线,可以理解的,经过聚类拆分后的每个走线都变得比较小(边界框较小)。
这6个小的已聚类走线和原来没有被聚类拆分处理的无需聚类走线Net b、Net c以及Net d一共9个走线进行并行处理。经过FLUTE算法、Z模式算法和/或U模式算法、单调算法、动态规划算法以及迷宫算法等步骤后,这9个小的走线其内部的走线已经连接好,即实线部分。
接下来将每个被拆分后的小的走线,即图中的bouding box部分,看做是一个单位结点,接着根据各单位结点之间的距离生成一个连接结点的连通图,基于这个连通图生成一个最小生成树,该最小生成树上的每个边对应需要连接的两个小的已聚类走线的连接顺序。即使用最小生成树算法确定Net a1~Net a6之间的连接顺序。
接着使用多源多目标的迷宫算法连接对应的两个被拆分的走线,即图中的虚线连接,另外,对于存在拥塞的区域,在该阶段布线的时候需要尽量绕过。
基于图3所示的聚类布线方式,可以明显的看出,在聚类拆分前,Net a和Net b,Net c,Net d之间都有重叠,没有并行机会;Net a进行聚类拆分后,各个小的net之间并行度提高了很多。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
基于以上,本公开实施例提出了以下的方案:
1.一种一种基于聚类算法的全局布线方法,包括:
获取初始走线,并基于预设规则将初始走线分为待聚类走线和无需聚类走线;
对每个待聚类走线上的引脚进行聚类处理,并得到聚类结果,聚类结果包括聚类引脚;
基于聚类引脚生成已聚类走线;
基于待聚类走线、无需聚类走线和已聚类走线生成全局布线结果。
2.根据1的基于聚类算法的全局布线方法,选取初始走线中的待聚类走线包括:
获取各初始走线中的引脚数量,基于引脚数量确定待聚类走线引脚阈值;
基于待聚类走线引脚阈值以及引脚数量确定初始走线中的待聚类走线。
3.根据1的基于聚类算法的全局布线,基于待聚类走线、无需聚类走线和已聚类走线生成全局布线结果包括:
获取芯片尺寸、芯片金属层的数量以及每个芯片金属层轨道间距;
基于芯片尺寸、芯片金属层的数量、每个芯片金属层轨道间距生成布线网格,布线网格包括2D布线网格和3D布线网格;
基于布线网格和待聚类走线、无需聚类走线和已聚类走线生成全局布线结果。
4.根据3的基于聚类算法的全局布线,基于布线网格和待聚类走线、无需聚类走线和已聚类走线生成全局布线结果包括:
基于FLUTE算法在2D布线网格上对已聚类走线和无需聚类走线生成2D初始布线结果;
基于动态规划算法在3D布线网格上对待聚类走线、已聚类走线以及无需聚类走线生成3D初始布线结果;
对2D初始布线结果进行布线结果优化,得到2D布线结果;
对3D初始布线结果进行布线结果优化,得到3D布线结果;
基于2D布线结果和3D布线结果生成全局布线结果。
5.根据4的基于聚类算法的全局布线,对与对2D初始布线结果进行布线结果优化包括:
基于Z模式算法和/或U模式算法对2D布线结果进行单调布线优化。
6.根据4的基于聚类算法的全局布线,对3D初始布线结果进行布线结果优化包括:
基于迷宫算法对3D布线结果进行布线结果优化。
7.根据6的基于聚类算法的全局布线,迷宫算法包括多层次的迷宫布线算法。
8.根据4的基于聚类算法的全局布线,对3D初始布线结果进行布线结果优化包括:
使用迷宫算法分别对每个待聚类走线中的每个走线生成布线结果。
9.一种基于聚类算法的全局布线装置,包括根据1-10中任一项的基于聚类算法的全局布线方法。
10.一种电子设备,包括根据1-8中任一项的基于聚类算法的全局布线方法或者包括根据9的基于聚类算法的全局布线装置。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于聚类算法的全局布线方法,其特征在于,包括:
获取初始走线,并基于预设规则将所述初始走线分为待聚类走线和无需聚类走线;
对每个所述待聚类走线上的引脚进行聚类处理,并得到聚类结果,所述聚类结果包括聚类引脚;
基于所述聚类引脚生成已聚类走线;
基于所述待聚类走线、所述无需聚类走线和所述已聚类走线生成全局布线结果。
2.根据权利要求1所述的方法,其特征在于,所述选取所述初始走线中的待聚类走线包括:
获取各所述初始走线中的引脚数量,基于所述引脚数量确定待聚类走线引脚阈值;
基于所述待聚类走线引脚阈值以及所述引脚数量确定所述初始走线中的待聚类走线。
3.根据权利要求1所述的方法,其特征在于,所述基于所述待聚类走线、所述无需聚类走线和所述已聚类走线生成全局布线结果包括:
获取芯片尺寸、芯片金属层的数量以及每个所述芯片金属层轨道间距;
基于所述芯片尺寸、所述芯片金属层的数量、每个所述芯片金属层轨道间距生成布线网格,所述布线网格包括2D布线网格和3D布线网格;
基于所述布线网格和所述待聚类走线、所述无需聚类走线和所述已聚类走线生成所述全局布线结果。
4.根据权利要求3所述的方法,其特征在于,所述基于所述布线网格和所述待聚类走线、所述无需聚类走线和所述已聚类走线生成所述全局布线结果包括:
基于FLUTE算法在所述2D布线网格上对所述已聚类走线和所述无需聚类走线生成2D初始布线结果;
基于动态规划算法在所述3D布线网格上对所述待聚类走线、所述已聚类走线以及所述无需聚类走线生成3D初始布线结果;
对所述2D初始布线结果进行布线结果优化,得到2D布线结果;
对所述3D初始布线结果进行布线结果优化,得到3D布线结果;
基于所述2D布线结果和3D布线结果生成所述全局布线结果。
5.根据权利要求4所述的方法,其特征在于,所述对与所述对所述2D初始布线结果进行布线结果优化包括:
基于Z模式算法和/或U模式算法对所述2D布线结果进行单调布线优化。
6.根据权利要求4所述的方法,其特征在于,所述对所述3D初始布线结果进行布线结果优化包括:
基于迷宫算法对所述3D布线结果进行布线结果优化。
7.根据权利要求6所述的方法,其特征在于,所述迷宫算法包括多层次的迷宫布线算法。
8.根据权利要求4所述的方法,其特征在于,所述对所述3D初始布线结果进行布线结果优化包括:
使用迷宫算法分别对每个待聚类走线中的每个走线生成布线结果。
9.一种基于聚类算法的全局布线装置,其特征在于,包括根据权利要求1-8中任一项所述的基于聚类算法的全局布线方法。
10.一种电子设备,其特征在于,包括根据权利要求1-8中任一项所述的基于聚类算法的全局布线方法或者包括根据权利要求9所述的基于聚类算法的全局布线装置。
CN202310080024.1A 2023-01-17 2023-01-17 一种基于聚类算法的全局布线方法、装置和电子设备 Pending CN116090402A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310080024.1A CN116090402A (zh) 2023-01-17 2023-01-17 一种基于聚类算法的全局布线方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310080024.1A CN116090402A (zh) 2023-01-17 2023-01-17 一种基于聚类算法的全局布线方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN116090402A true CN116090402A (zh) 2023-05-09

Family

ID=86198946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310080024.1A Pending CN116090402A (zh) 2023-01-17 2023-01-17 一种基于聚类算法的全局布线方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN116090402A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116663488A (zh) * 2023-08-01 2023-08-29 北京邮电大学 一种多层级总体布线方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116663488A (zh) * 2023-08-01 2023-08-29 北京邮电大学 一种多层级总体布线方法及系统
CN116663488B (zh) * 2023-08-01 2023-11-07 北京邮电大学 一种多层级总体布线方法及系统

Similar Documents

Publication Publication Date Title
JP4227304B2 (ja) 概略配線方法及び装置並びに概略配線プログラムを格納した記録媒体
US8713498B2 (en) Method and system for physical verification using network segment current
US11392741B2 (en) Computer implemented system and method for generating a layout of a cell defining a circuit component
CN111291525B (zh) 考虑总线和非总线线网的层分配方法
US11709987B2 (en) Method and system for generating layout design of integrated circuit
KR20200037104A (ko) 퍼지 머신 러닝을 사용한 집적 회로 설계
TW202013065A (zh) 靜態電壓降違規預測系統及方法
US11003826B1 (en) Automated analysis and optimization of circuit designs
US20160110490A1 (en) System and method for obstacle-avoiding signal bus routing
CN116090402A (zh) 一种基于聚类算法的全局布线方法、装置和电子设备
CN116070575B (zh) 一种芯片布线优化方法及软件系统
US20140331196A1 (en) Analyzing sparse wiring areas of an integrated circuit design
US10565347B2 (en) Global routing optimization
US8881089B1 (en) Physical synthesis optimization with fast metric check
KR102338365B1 (ko) 레이아웃 분리 방법 및 레이아웃 분리 시스템
He et al. SPRoute 2.0: A detailed-routability-driven deterministic parallel global router with soft capacity
US20210390241A1 (en) Fast topology bus router for interconnect planning
US20210232749A1 (en) Timing driven cell swapping
JP2019159538A (ja) データセット検証装置、データセット検証方法、およびデータセット検証プログラム
US7856610B2 (en) Method and apparatus for semiconductor integrated circuit
EP4224377A1 (en) Quantum topology graph optimization method and apparatus, terminal, and storage medium
Fontana et al. ILPGRC: ILP-Based Global Routing Optimization With Cell Movements
CN108304278B (zh) 一种基于改进的模因算法的工程代码模块冗余度最优分配的防护方法
US11861283B2 (en) Placement method and non-transitory computer readable storage medium
CN113255283B (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