CN113657067B - 基于多策略优化的超大规模集成电路多层总体布线方法 - Google Patents

基于多策略优化的超大规模集成电路多层总体布线方法 Download PDF

Info

Publication number
CN113657067B
CN113657067B CN202110739932.8A CN202110739932A CN113657067B CN 113657067 B CN113657067 B CN 113657067B CN 202110739932 A CN202110739932 A CN 202110739932A CN 113657067 B CN113657067 B CN 113657067B
Authority
CN
China
Prior art keywords
wiring
algorithm
channel
node
subarea
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.)
Active
Application number
CN202110739932.8A
Other languages
English (en)
Other versions
CN113657067A (zh
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.)
Fuzhou University
Original Assignee
Fuzhou University
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 Fuzhou University filed Critical Fuzhou University
Priority to CN202110739932.8A priority Critical patent/CN113657067B/zh
Publication of CN113657067A publication Critical patent/CN113657067A/zh
Application granted granted Critical
Publication of CN113657067B publication Critical patent/CN113657067B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3947Routing global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/06Structured ASICs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种基于多策略优化的超大规模集成电路多层总体布线方法,包括步骤S1:在预连接布线阶段,采用虚拟容量的动态调整策略对通道容量进行适当调整缩减;步骤S2:在全局考量下的布线重组阶段找到最拥挤的布线区域,采用布线子区域的自适应扩展策略对其进行自适应扩展,根据布线后的不同拥堵度,对应地调整扩大的范围和扩张速度;步骤S3:在布线时采用虚拟容量的动态调整策略对通道虚拟容量进行动态调整,对不同通道方向上的通道容量进行相互补充,及时补充剩余通道容量较小的布线通道;步骤S4:采用基于A*算法的启发式搜索策略通过A*算法进行启发式搜索和布线。本发明能够提高布线容量的利用率,平衡布线器的布线效率和全局搜索的压力。

Description

基于多策略优化的超大规模集成电路多层总体布线方法
技术领域
本发明涉及集成电路计算机辅助设计技术领域,特别是一种基于多策略优化的超大规模集成电路多层总体布线方法。
背景技术
芯片设计是世界上细微且宏大的一项工程,它将数百亿个允许或阻挡电流通过的“开关”集成到仅有指甲盖大小的芯片里。从微米级到纳米级,是人类不断攀登的工程极致。在芯片设计中,超大规模集成电路是设计工艺的关键,它可用于制造体积小、质量轻、耗能低但功能丰富且可靠性高的电子设备。起初的芯片电路集成度不高,开发者可以依靠手工绘制电路,而现在动辄包含几亿甚至数百亿个晶体管的芯片,如若依然依赖手工绘制,难免会导致许多问题和错误发生。到了1986年,一款电子设计自动化(Electronic DesignAutomation,EDA)工具——Design Compiler诞生,使开发者们使用代码描述电路得到实现,由此大幅提高了芯片制造在抽象设计这一领域的效率,推动了复杂度更高的芯片类型形成。
随着芯片工艺技术的不断发展,将代码转换成逻辑电路这一过程所需要的设计约束也不再仅限于时序、功耗、面积等方面,还包含了基础电路物理版图和技术工具的创新和进步。开发者们必须做好布局和布线工作,也就是确定好晶体管的位置和形态,以及晶体管之间的连接方式。在设计布局和布线时,需要确保各电路连接的准确性,而且要符合制造工艺的要求,即设计规则和约束等。此外还需要注意对电路的时序、功耗、面积等指标进行优化,找到一个平衡点从而寻求最优解。因此,VLSI对其设计流程的要求逐步增高,对布线技术的精度也更加的苛刻。面临随之而来的机遇和挑战,VLSI设计中的布线过程在设备制造中便显得尤为重要。布线结果直接影响了芯片的可集成度和消耗成本,这也是工业生产中较为注重的。因此,相关产业内的不少生产商和研究学者们都致力于不断优化布线流程,提高设计环节效率,打造高质量布线成果,以期制造出功能更加强大的芯片。
为了更好地解决VLSI设计中庞大复杂的布线问题,在布线过程中一般分成两个阶段进行处理,分别是总体布线和详细布线。在总体布线中,先将可以布线的区域划分为一些布线单元。针对划分后的布线单元进行初步布线连接,生成一个整体的布线方案。有了全局的布线方案后,再解决每一个布线单元内的布线问题,针对布线单元内的具体约束进行详细布线。总体布线为接下来的详细布线过程极大减少了布线的复杂性和冗余程度,从而更快更高质量地完成布线设计。良好的总体布线有利于提高整体布线的高效性,从而有助于运用集成电路的芯片高质量生产,由此可见,总体布线在整个布线过程中举足轻重。
发明内容
有鉴于此,本发明的目的是提供一种基于多策略优化的超大规模集成电路多层总体布线方法,避免直接运用传统布线算法而导致过程冗杂和布线结果陷入局部最优的问题。
本发明采用以下方案实现:一种基于多策略优化的超大规模集成电路多层总体布线方法,包括以下步骤:
步骤S1:在预连接布线阶段,采用虚拟容量的动态调整策略对通道容量进行适当调整缩减;即通过最小生成树算法将多端线网分解成多个两端线网后,将布线通道水平和垂直两个方向上的虚拟容量缩减为原来的1/2,剩余的45度方向和135度方向的通道容量保持不变;在新的通道容量约束下对简单线网直接以X结构网格的走线方式连接该两端线网;所述简单线网为两端线网所构成线段的斜率值为0,-1,+1或∞;
步骤S2:在全局考量下的布线重组阶段找到最拥挤的布线区域,然后采用布线子区域的自适应扩展策略对其进行自适应扩展,根据布线后的不同拥堵度,对应地调整扩大的范围和扩张速度;
步骤S3:在布线时采用虚拟容量的动态调整策略对通道虚拟容量进行动态调整,对不同通道方向上的通道容量进行相互补充,即水平方向与45度方向动态调整,垂直方向和135度方向动态调整,及时补充剩余通道容量即水平方向与45度方向之间对比,垂直方向与135度方向对比较小的布线通道;
步骤S4:采用基于A*算法的启发式搜索策略通过A*算法进行启发式搜索和布线。
进一步地,所述步骤S1具体包括以下步骤:
步骤S11:输入各个线网的引脚位置以及布线区域的通道容量以及引脚对应的布线层即输入benchmark给定的数据;
步骤S12:判断线网的引脚数是否等于2,若等于2则判断两引脚之间的位置关系是否满足直角结构,若满足且所在布线区域还有可用的布线资源,则连接这两个引脚,若大于2则继续执行步骤S13;
步骤S13:通过粒子群算法生成每个线网的X结构斯坦纳树;
步骤S14:通过最小生成树算法将多端线网分解成多个两端线网,并记录所有两引脚线网;
步骤S15:设定预连接阶段的通道容量约束条件即将X结构中的曼哈顿方向上的通道容量缩减为原来的一半,45度方向和135度方向的通道容量保持不变;
步骤S16:在不违反所设定的通道容量约束下,对所有的两引脚线网进行预连接。
进一步地,步骤S3中所述对不同通道方向上的通道容量进行相互补充需要满足约束条件,约束条件为:
约束条件如公式(1)和公式(2)所示:
d1=d1+C,d2=d2-C;d1<C&&d2>2C (1)
d1=d1-C,d2=d2+C;d1>2C&&d2<C (2)
其中,C是预设的通道容量阈值常数;d1表示水平或垂直方向上剩余的通道容量;d2表示45度或135度方向上剩余的通道容量;
由公式可知,只有当剩余通道容量小于阈值且另一方向的通道容量大于两倍的阈值时,才会触发该策略。
进一步地,所述步骤S2具体包括以下步骤:
步骤S21:寻找当前布线区域内最拥塞的布线单元;
步骤S22:对最拥塞布线子区域进行自适应扩张,并记录该布线子区域中未连接的两引脚线网;所述自适应扩张的扩张速度是由当前布线区域内的两引脚线网数量决定的;
步骤S23:在扩大后的布线子区域内,针对未连接的引脚线网,运用粒子群算法和A*算法布通当前子区域内给定的线网;
步骤S24:重复步骤S22、步骤S23直到布线子区域扩大到整个总体布线区域。
进一步地,步骤S21中所述寻找当前布线区域内最拥塞的布线单元的具体内容为:通过遍历整个总体布线区域,去对比寻找出最拥塞的布线单元作为布线子区域;在寻找过程中,将每次选中的子区域和当前已记录下最拥塞区域的拥塞程度进行比较,若选中的拥塞程度更高,则更新当前已记录的最拥塞区域;若程度相同,则判断两区域各自在总体布线区域的位置,选择更靠近中心的位置为最拥塞区域;否则保持记录不变;
判断布线区域拥塞程度的指标,是该区域内累计使用的通道容量;对于布线区域的一个布线单元,计算该节点水平、45度、垂直以及135度四个方向的通道容量;因此,拥塞程度计算方式如下所示:
其中,N代表当前的布线单元;d(i)代表布线单元N在方向i的通道容量使用数。
进一步地,所述步骤S22中所述对最拥塞布线子区域进行自适应扩张的具体内容为:
当布线子区域内的两引脚线网数量小于50时,布线子区域扩展的大小设置为3;当布线子区域内的两引脚线网数大于等于50且小于100时,布线子区域扩展的大小设置为2;当布线子区域内的两引脚线网数大于等于100且小于200时,布线子区域扩展的大小设置为1。
进一步地,所述步骤S23中先运用粒子群算法进行整体寻优,用一个集合extend_unconnect来储存未连接的两引脚线网;判断该集合是否为空,若为空,则说明粒子群算法有效地连接全部的两引脚线网;若非空,则粒子群算法无法有效连接全部的两引脚线网,则剩下的两引脚线网使用A*算法继续进行。
进一步地,所述步骤S4中
A*算法的代价函数如公式(4)所示:
F(x)=G(x)+H(X) (4)
其中,F(x)表示G中从起点出发经过节点x最后到终点的代价估计,G(x)表示G中从起点到达节点x的实际移动代价,H(x)表示G中从节点x到达终点的估算成本代价;
带权值的起点与当前点的曼哈顿距离作为选择实际代价G(t),如公式(5)所示;选择一个当前点与终点的X结构路径作为启发函数H(t),如公式(6)所示;
其中,w是权重;stnx和stny分别代表是的起点到当前节点t的水平方向和垂直方向的距离;ntex和ntey分别代表是的起点到当前节点t的水平方向和垂直方向的距离;
所述A*算法的具体实现为:利用OPEN表和CLOSE表;OPEN表是一个待检查的开放列表,存储在搜索过程中需要被检测的节点信息;CLOSE表是一个封闭列表,存储已经加入到最短路径中的节点,这些节点不需要被再次关注;算法开始时,将待连接的两端线网的两个引脚分别设置成当前节点与目标节点,当前节点作为起点;搜索当前节点的邻居节点,若无法到达该邻居节点,即路径不可行,则搜索当前节点的下一个邻居节点;若路径可行,则计算该邻居节点的F(x)值并将该邻居点加入OPEN表,直至所有邻居节点搜索完毕;接着将当前节点从OPEN表中删除,放入CLOSE表;取OPEN表中F(x)值最小的点作为当前节点,判断当前节点是否是目标节点,若不是,则重复上述搜索过程;若是,则算法停止。
与现有技术相比,本发明具有以下有益效果:有效地避免了搜索过程冗杂和布线结果陷入局部最优的问题,更加灵活地应对不同的布线环境,并且进一步缩短总体布线总线长。
附图说明
图1为本发明实施例的曼哈顿结构和X结构的区别图,其中,图1(a)为曼哈顿结构设计图;图1(b)为X结构设计图
图2为本发明实施例的X结构的计算方式图,其中,图2(a)为位于同一水平线,图2(b)为位于同一垂直线,图2(c)为垂直距离大于水平距离,图2(d)为垂直距离等于水平距离图2,图2(e)为垂直距离小于水平距离。
图3为本发明实施例的流程图。
图4为本发明实施例的A*算法流程图。
图5为本发明实施例的A*不同路径的选择图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例提供一种基于多策略优化的超大规模集成电路多层总体布线方法,包括以下步骤:
步骤S1:在预连接布线阶段,采用虚拟容量的动态调整策略对通道容量进行适当调整缩减;即通过最小生成树算法将多端线网分解成多个两端线网后,将布线通道水平和垂直两个方向上的虚拟容量缩减为原来的1/2,剩余的45度方向和135度方向的通道容量保持不变;在新的通道容量约束下对简单线网直接以X结构网格的走线方式连接该两端线网;所述简单线网为两端线网所构成线段的斜率值为0,-1,+1或∞;(X结构网格是由水平线、垂直线、45°的对角线、135°的对角线组成的)
步骤S2:在全局考量下的布线重组阶段找到最拥挤的布线区域,然后采用布线子区域的自适应扩展策略对其进行自适应扩展,根据布线后的不同拥堵度,对应地调整扩大的范围和扩张速度;
步骤S3:在布线时采用虚拟容量的动态调整策略对通道虚拟容量进行动态调整,对不同通道方向上的通道容量进行相互补充,即水平方向与45度方向动态调整,垂直方向和135度方向动态调整,及时补充剩余通道容量即水平方向与45度方向之间对比,垂直方向与135度方向对比较小的布线通道;
步骤S4:采用基于A*算法的启发式搜索策略通过A*算法进行启发式搜索和布线。
在本实施例中,所述步骤S1具体包括以下步骤:
步骤S11:输入各个线网的引脚位置以及布线区域的通道容量以及引脚对应的布线层即输入benchmark给定的数据;
步骤S12:判断线网的引脚数是否等于2,若等于2则判断两引脚之间的位置关系是否满足直角结构,若满足且所在布线区域还有可用的布线资源,则连接这两个引脚,若大于2则继续执行步骤S13;
步骤S13:通过粒子群算法生成每个线网的X结构斯坦纳树;
步骤S14:通过最小生成树算法将多端线网分解成多个两端线网,并记录所有两引脚线网;
步骤S15:设定预连接阶段的通道容量约束条件即将X结构中的曼哈顿方向上的通道容量缩减为原来的一半,45度方向和135度方向的通道容量保持不变;
步骤S16:在不违反所设定的通道容量约束下,对所有的两引脚线网进行预连接。
在本实施例中,步骤S3中所述对不同通道方向上的通道容量进行相互补充需要满足约束条件,约束条件为:
约束条件如公式(1)和公式(2)所示:
d1=d1+C,d2=d2-C;d1<C&&d2>2C (1)
d1=d1-C,d2=d2+C;d1>2C&&d2<C (2)
其中,C是预设的通道容量阈值常数;d1表示水平或垂直方向上剩余的通道容量;d2表示45度或135度方向上剩余的通道容量;
由公式可知,只有当剩余通道容量小于阈值且另一方向的通道容量大于两倍的阈值时,才会触发该策略。
在本实施例中,所述步骤S2具体包括以下步骤:
步骤S21:寻找当前布线区域内最拥塞的布线单元;
步骤S22:对最拥塞布线子区域进行自适应扩张,并记录该布线子区域中未连接的两引脚线网;所述自适应扩张的扩张速度是由当前布线区域内的两引脚线网数量决定的;
步骤S23:在扩大后的布线子区域内,针对未连接的引脚线网,运用粒子群算法和A*算法布通当前子区域内给定的线网;
步骤S24:重复步骤S22、步骤S23直到布线子区域扩大到整个总体布线区域。
在本实施例中,步骤S21中所述寻找当前布线区域内最拥塞的布线单元的具体内容为:通过遍历整个总体布线区域,去对比寻找出最拥塞的布线单元作为布线子区域;在寻找过程中,将每次选中的子区域和当前已记录下最拥塞区域的拥塞程度进行比较,若选中的拥塞程度更高,则更新当前已记录的最拥塞区域;若程度相同,则判断两区域各自在总体布线区域的位置,选择更靠近中心的位置为最拥塞区域;否则保持记录不变;
判断布线区域拥塞程度的指标,是该区域内累计使用的通道容量;对于布线区域的一个布线单元,计算该节点水平、45度、垂直以及135度四个方向的通道容量;因此,拥塞程度计算方式如下所示:
其中,N代表当前的布线单元;d(i)代表布线单元N在方向i的通道容量使用数。
在本实施例中,所述步骤S22中所述对最拥塞布线子区域进行自适应扩张的具体内容为:
当布线子区域内的两引脚线网数量小于50时,布线子区域扩展的大小设置为3;当布线子区域内的两引脚线网数大于等于50且小于100时,布线子区域扩展的大小设置为2;当布线子区域内的两引脚线网数大于等于100且小于200时,布线子区域扩展的大小设置为1。
在本实施例中,所述步骤S23中先运用粒子群算法进行整体寻优,若粒子群算法无法有效连接全部的两引脚线网,则剩下的两引脚线网使用A*算法继续进行。
在本实施例中,所述步骤S4中
A*算法的代价函数如公式(4)所示:
F(x)=G(x)+H(X) (4)
其中,F(x)表示G中从起点出发经过节点x最后到终点的代价估计,G(x)表示G中从起点到达节点x的实际移动代价,H(x)表示G中从节点x到达终点的估算成本代价;
带权值的起点与当前点的曼哈顿距离作为选择实际代价G(t),如公式(5)所示;选择一个当前点与终点的X结构路径作为启发函数H(t),如公式(6)所示;
其中,w是权重;stnx和stny分别代表是的起点到当前节点t的水平方向和垂直方向的距离;ntex和ntey分别代表是的起点到当前节点t的水平方向和垂直方向的距离;
所述A*算法的具体实现为:利用OPEN表和CLOSE表;OPEN表是一个待检查的开放列表,存储在搜索过程中需要被检测的节点信息;CLOSE表是一个封闭列表,存储已经加入到最短路径中的节点,这些节点不需要被再次关注;算法开始时,将待连接的两端线网的两个引脚分别设置成当前节点与目标节点,当前节点作为起点;搜索当前节点的邻居节点,若无法到达该邻居节点,即路径不可行,则搜索当前节点的下一个邻居节点;若路径可行,则计算该邻居节点的F(x)值并将该邻居点加入OPEN表,直至所有邻居节点搜索完毕;接着将当前节点从OPEN表中删除,放入CLOSE表;取OPEN表中F(x)值最小的点作为当前节点,判断当前节点是否是目标节点,若不是,则重复上述搜索过程;若是,则算法停止。
布线是超大规模集成电路(Very Large Scale Integration,VLSI)物理设计中的关键阶段之一。在复杂的布线过程中,总体布线的结果直接影响了布线质量。以往的总体布线算法大多是基于曼哈顿结构进行的,但曼哈顿结构在布线结果的线长优化上存在许多限制。相比于曼哈顿结构,X结构在绕线方向上进行了扩展,它多出了45°和135°两种绕线方向。同时,X结构的提出使得总体布线更加复杂。本发明提出了一种基于多策略优化的超大规模集成电路多层总体布线器,称为MS-XGRouter。本实施例提出了三种强化策略,在不同布线阶段进行对其布线效果进行加强。本实施例所提出的三个策略如下:(1)为了提高布线容量的利用率,提出虚拟容量的动态调整策略,对初始阶段中的水平和垂直方向的布线资源进行限制,同时在布线重组阶段对布线资源较少的通道进行补充;(2)为了更好地平衡布线器的布线效率和全局搜索的压力,提出布线子区域的自适应扩展策略,根据布线区域内两引脚数来控制扩张速度,减小粒子群优化算法(Particle Swarm Optimization,PSO)的寻优压力;(3)为了避免布线结果陷入局部最优,提出了基于A*算法的启发式搜索策略,利用启发函数寻找更合适的布线路径。
在本实施例中:
总体布线模型:
在总体布线设计中,线长是考量布线结果的一大重要指标,因此总体布线问题中非常重要的就是为每个线网寻找到给定布线图中的最短路径。总体布线问题可描述为:对于线网的集合N={n1,n2,...,nk},其中线网nk由若干个引脚组成且满足1≤k≤n,将线网集合N投影至由引脚集合V和边集合E组成的网格图G(V,E),在G(V,E)中对给定线网进行布线。在G(V,E)中,对于每个线网,总体布线需要找到一棵生成树,该生成树将线网中所有引脚对应的顶点连接起来。
在保证所有线网的连通前提下,为了使芯片达到最好的可布线性,布线结果应当使得所有边的总溢出数最小,且所需要的布线总线长也尽可能少。与传统的曼哈顿模型不同的地方是,除了水平方向和竖直方向,X结构在同样布线区域内对于每个可布线连接点多出了两种布线方向,即45度方向和135度方向,如图1所示。这使得在X结构下的布线设计变得更加复杂,但也显著提高了其物理性能,在相同区域内提供更多的路径选择和更短的布线路径。
假设X结构网格的每个单元边长为a,则对于同一个两引脚线网中引脚A与引脚B点之间的连接,在曼哈顿模型中,该两引脚线网的最短路径长度为2a,如图1(a)所示。在X结构下,该两引脚线网的最短路径长度为如图1(b)所示。
图2给出了同一平面内两引脚Pi(Xi,Yi)和Pj(Xj,Yj)间的五种位置关系,针对这五种位置关系,分别对两者间的距离d(Pi,Pj)采用下述公式进行计算。
(1)当Xi=Xj,Yi!=Yj时,d(Pi,Pj)=|Yi-Yj|;
(2)当Xi!=Xj,Yi=Yj时,d(Pi,Pj)=|Xi-Xj|;
(3)当Xi!=Xj,Yi!=Yj时,分别有以下三种情况:
(a)若|Xi-Xj|<|Yi-Yj|,
(b)若|Xi-Xj|=|Yi-Yj|,
(c)若|Xi-Xj|>|Yi-Yj|,
2.MS-XGRouter整体流程概述:
如图3所示,基于X结构多层工艺下的MS-XGRouter总体布线算法主要分为预连接阶段、全局考量下的布线重组阶段以及层分配阶段。
布线开始时,先经过预连接阶段,主要工作是读取当前线网信息,并对其作出分解和预先连接布线操作;接着经过全局考量下的布线重组阶段,通过一系列算法,利用全局搜索能力和启发搜索等优势,对选中的布线子区域进行自适应扩张和布线重组,实现线网布通;最后在层分配阶段通过相应的调度策略,实现线网段在布线层上的合理分配。本发明所提的三个优化策略在图3的MS-XGRouter布线算法整体流程图中分别框出。
3.预连接阶段:
在预连接阶段,MS-XGRouter需要处理总体布线所需的线网信息,并为每个线网构建拓扑结构,以得到初始布线结果。MS-XGRouter算法主要流程设计如下:
(1)读取各个线网的引脚位置以及布线区域的通道容量等信息;
(2)生成每个线网的X结构斯坦纳树;
(3)对多引脚线网进行拆解,并记录所有两引脚线网;
(4)设定预连接阶段的通道容量约束条件,将X结构中的曼哈顿方向上的通道容量缩减为原来的一半,45度方向和135度方向的通道容量保持不变;
(5)在不违反所设定的通道容量约束下,对所有的两引脚线网进行预连接。
值得注意的是,MS-XGRouter处理多引脚线网和两引脚线网的方式是不同的。对于引脚数小于2的线网,MS-XGRouter既不需要构建拓扑结构,也不需要对其线网分解。对于引脚数大于2的线网,则需要。另外,MS-XGRouter会分别记录已连接的两引脚线网和未连接的两引脚,用以后续阶段的布线。
4.全局考量下的布线重组阶段:
在全局考量下的布线重组阶段,MS-XGRouter基于布线区域的扩展,使用多种布线算法线网布线重组。MS-XGRouter优先选择比较拥塞的区域,记录其中需要连接的两引脚线网。最后先后使用粒子群算法和A*算法对需要连接的两引脚线网进行连接。全局考量下的布线重组阶段的算法主要流程设计如下:
(1)寻找当前布线区域内最拥塞的布线单元;
(2)对最拥塞布线子区域进行自适应扩张,并记录该布线子区域中未连接的两引脚线网;
(3)在扩大后的布线子区域内,针对未连接的引脚线网,运用粒子群算法和A*算法布通当前子区域内给定的线网。
(4)重复步骤(2)、步骤(3)直到布线子区域扩大到整个总体布线区域。
步骤(2)中的扩张速度是由当前布线区域内的两引脚线网数量决定的。步骤(3)中,对于子区域内的所有未连接的两引脚线网,MS-XGRouter先运用粒子群算法进行整体寻优。若粒子群算法无法有效连接全部的两引脚线网,则剩下的两引脚线网使用A*算法继续进行。
5.层分配阶段:
在总体布线过程中,本发明所使用的MS-XGRouter是基于多层工艺下布线连接的算法,因此该阶段主要用于解决在布线过程中多个布线层的分配和调度问题。
6.MS-XGRouter布线算法整体优化策略:
本实施例所提出的MS-XGRouter布线算法在ML-XGRouter基础上进行改进。MS-XGRouter提出了以下三个方面的策略:(1)虚拟容量的动态调整;(2)布线子区域的自适应扩展;(3)基于A*算法的启发式搜索策略。通过三个优化策略的同时进行,达到一定的优化目标,提升总体布线效率和最终布线结果的一些重要指标,从而影响芯片整体电路设计的可布性。
(1)(策略一)虚拟容量的动态调整策略:
策略一虚拟容量的动态调整策略提出的目的是提高布线容量的利用率,从而尽可能地发挥X结构的优势。策略一主要通过两部分对布线通道的虚拟容量进行动态调整和约束。第一部分是在预连接阶段,布线算法流程在结束线网分解后,将布线通道水平和垂直两个方向上的虚拟容量缩减为原来的1/2,剩余的45度方向和135度方向的通道容量保持不变。MS-XGrouter这样改进的原因:原始的布线容量在45度和135度与水平和垂直方向有显著的差异。一般而言,水平和垂直方向上的容量远多于45度和135度。若在预连接阶段将45度和135度方向的通道容量进行缩减,那么X结构在线长方面的优势将被大大削弱。第二部分是在全局考量下的布线重组阶段,对不同通道方向上的通道容量进行相互补充,即水平方向与45度方向动态调整,垂直方向和135度方向动态调整,及时补充剩余通道容量较小的布线通道。MS-XGRouter在此阶段进行通道容量的动态调整是为了让两引脚线网连接时,可以选择当前最佳的路径。
在全局考量下的布线重组阶段中,通道容量的调整满足用户预设定的约束条件。改约束条件如公式(1)和公式(2)所示。
d1=d1+C,d2=d2-C;d1<C&&d2>2C 公式(1)
d1=d1-C,d2=d2+C;d1>2C&&d2<C 公式(2)
其中,C是预设的通道容量阈值常数;d1表示水平或垂直方向上剩余的通道容量;d2表示45度或135度方向上剩余的通道容量。
由公式可知,只有当剩余通道容量小于阈值且另一方向的通道容量大于两倍的阈值时,才会触发该策略。
(2)(策略二)布线子区域的自适应扩展策略:
策略二主要针对在全局考量下的布线重组阶段,为算法流程的布线区域扩张提出新的约束定义。
本发明通过遍历整个总体布线区域,去对比寻找出最拥塞的布线单元作为布线子区域。在寻找过程中,将每次选中的子区域和当前已记录下最拥塞区域的拥塞程度进行比较,若选中的拥塞程度更高,则更新当前已记录的最拥塞区域;若程度相同,则判断两区域各自在总体布线区域的位置,选择更靠近中心的位置为最拥塞区域;否则保持记录不变。
判断布线区域拥塞程度的指标,是该区域内累计使用的通道容量。值得注意的是,对于布线区域的一个布线单元,MS-XGRouter只计算该节点水平、45度、垂直以及135度四个方向的通道容量。
因此,拥塞程度计算方式如下所示。
其中,N代表当前的布线单元;d(i)代表布线单元N在方向i的通道容量使用数。
布线子区域的自适应扩展策略的基本思想是:扩张前,先判断当前布线子区域内的两引脚线网数量满足的约束条件,调整相应条件下的扩张速度。该算法布线子区域内的两引脚线网数目越多,则扩张的速度也相应变慢;反之则越快。该算法可以更好地平衡总体布线效率和全局搜索算法的压力,达到所期待的优化目标。
策略二布线子区域的自适应扩展的伪代码如下所示。假设Bound是布线子区域到达边界的边数,d是布线子区域扩展的大小,twopins记录布线子区域内两引脚线网。该算法停止的条件是布线子区域完全覆盖整个布线区域。首先记录当前布线子区域内的两引脚线网,当布线子区域内的两引脚线网数量小于50时,d设置为3。当布线子区域内的两引脚线网数大于等于50且小于100时,d设置为2。当布线子区域内的两引脚线网数大于等于100且小于200时,d设置为1。只有当两引脚线网数量大于200时,MS-XGRouter会对其使用粒子群算法和A*算法进行布线。这样做的原因是可以充分发挥粒子群算法在全局寻优的优势,避免陷入部分最优的局面。同理,当粒子群算法无法得到有效的布线路径时,A*算法可以利用自身的启发函数在整个布线区域得到一个有效的布线结果。
正是综合利用粒子群算法和A*算法的各种优势,才使得MS-XGrouter在全局考量下的布线重组阶段能尽可能地优化线长。
(3)(策略三)基于A*算法的启发式搜索策略:
在静态路网中,A*算法是一种常用的寻找最短路径的启发式搜索算法。在总体布线网格图中,我们将需要每个连通的部分抽象为一个个节点,并且可以通过一些函数计算出节点间连通的相关代价。在A*算法中,综合考虑了当前节点的实际移动代价和估算成本代价,通过反复对比选择出一条最适合的路径。
在A*算法中,路径的选择取决于代价函数的设置。通常情况下,A*算法的代价函数包含两部分,分别是实际路径代价和估计成本代价。因此,A*算法的代价函数如公式(4)所示。
F(x)=G(x)+H(X) 公式(4)
其中,F(x)表示G中从起点出发经过节点x最后到终点的代价估计,G(x)表示G中从起点到达节点x的实际移动代价,H(x)表示G中从节点x到达终点的估算成本代价。
这个过程通常也被称为试探法。这是由于H(x)其实是对剩余距离的一种预估,并不是实际值,在路径连通过程可能存在许多影响代价的因素,所以只有找到最终路径才能知道它的准确值。因此,H(x)也被称为启发函数,它利用节点x到终点的信息,结合起点到节点x的权重展开启发式搜索。如果信息越多或者约束条件越多,那么估价函数F(x)就越好,这也是A*算法相较于广度优先搜索(Breadth First Search,BFS)算法的优势,因为在BFS算法中,其信息启发性H(x)=0。
在几何路网中,经常取两点之间的曼哈顿距离作为估计值。当实际移动代价G(x)一定时,估价函数F(x)就会受到H(x)的制约和影响,即节点越靠近终点,H(x)值越小,F(x)也相对更小,保证最短路径沿着目标点方向搜索。假设节点x到达终点的最小代价为d(x),则对于H(x)的选择有以下三种:(1)当H(x)<d(x)时,由于启发函数值较小,启发性信息弱,搜索的范围大,搜索的节点数相对多,则搜索效率较低,但可以得到一个最优解。(2)当H(x)=d(x)时,此时启发函数值与最小代价相同,则可以保证搜索按照最短路径进行,此时搜索效率最高。(3)当H(x)>d(x)时,由于启发函数值较大,启发性信息强,搜索的范围小,搜索的节点数相对少,则搜索效率较高,但不一定能够得到最优解。
但同样存在另一个算法运行的效率问题,即H(x)启发信息越多时,计算量也随之增大,耗费的时间也会相应增多,由此增加了布线算法压力。因此,这里就有一个权衡问题,也就是采取一个适当的H(x)启发信息量,来保证算法搜索路径的准确性和高效性。
与传统的A*算法的启发式函数不同,MS-XGRouter带权值的起点与当前点的曼哈顿距离作为选择实际代价G(t),如公式(5)所示。选择一个当前点与终点的X结构路径作为启发函数H(t),如公式(6)所示。
其中,w是权重;stnx和stny分别代表是的起点到当前节点t的水平方向和垂直方向的距离;ntex和ntey分别代表是的起点到当前节点t的水平方向和垂直方向的距离。
对于A*算法的具体实现,主要利用了两张表:OPEN表和CLOSE表。OPEN表是一个待检查的开放列表,存储在搜索过程中需要被检测的节点信息;CLOSE表是一个封闭列表,存储那些已经加入到最短路径中的节点,这些节点不需要被再次关注。由此A*算法的实现流程如图4所示。
通过利用A*算法的启发搜索优势,有效地解决了原布线算法ML-XGRouter中BFS算法在布线过程总是选择线长最短的路径且搜索效率差的缺陷。如图5所示,在给定的布线区域内,布线拥塞程度用颜色深浅来表示,颜色越深则拥塞程度越高,反之越低。在该布线区域内,有一个两引脚线网,为了连通这两个引脚,有以下三种连接路径:(1)不考虑当前布线区域内的拥塞情况,只重视线长因素的最短路径,如图5所示路径1;(2)不考虑线长因素,只重视拥塞情况的最短路径,如图5所示路径3;(3)综合考虑线长因素和拥塞程度寻找的最短路径,如图5所示路径2。
通常情况下,综合考虑下得到的路径2是最优解,因为它相较于路径1经过了更少的拥塞区域,相较于路径3消耗了更少的布线资源,使得连通该线网的线长更短。但永远选择路径2这样的布线方式,依然可能会陷入局部极值。因此在整体布线时,三种路径方式都需要充分利用。在布线初期,布线资源相对充裕,则可以在布线时更倾向选择路径1形式的路径;在布线中期,选择类似路径2的路径,可以尽量地避免布线资源被过度消耗,防止后续布线时发生溢出;在布线末期,由于大部分的布线资源已被使用,为了尽可能地避免和减少线网溢出,则会倾向于选择路径3形式的路径。
与直接使用A*算法有所区别的是,曼哈顿结构下只需遍历水平和垂直布线通道上的上、下、左、右四个方向,而本发明中所使用的A*算法在X结构下将其改为八个方向。同时结合PSO算法,可以寻求一个整体较优解,以成就优化目标。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (4)

1.基于多策略优化的超大规模集成电路多层总体布线方法,其特征在于:包括以下步骤:
步骤S1:在预连接布线阶段,采用虚拟容量的动态调整策略对通道容量进行适当调整缩减;即通过最小生成树算法将多端线网分解成多个两端线网后,将布线通道水平和垂直两个方向上的虚拟容量缩减为原来的1/2,剩余的45度方向和135度方向的通道容量保持不变;在新的通道容量约束下对简单线网直接以X结构网格的走线方式连接该两端线网;所述简单线网为两端线网所构成线段的斜率值为0,-1,+1或∞;
步骤S2:在全局考量下的布线重组阶段找到最拥挤的布线区域,然后采用布线子区域的自适应扩展策略对其进行自适应扩展,根据布线后的不同拥堵度,对应地调整扩大的范围和扩张速度;
步骤S3:在布线时采用虚拟容量的动态调整策略对通道虚拟容量进行动态调整,对不同通道方向上的通道容量进行相互补充,即水平方向与45度方向动态调整,垂直方向和135度方向动态调整,及时补充剩余通道容量即水平方向与45度方向之间对比,垂直方向与135度方向对比较小的布线通道;
步骤S4:采用基于A*算法的启发式搜索策略通过A*算法进行启发式搜索和布线;
所述步骤S1具体包括以下步骤:
步骤S11:输入各个线网的引脚位置以及布线区域的通道容量以及引脚对应的布线层即输入benchmark给定的数据;
步骤S12:判断线网的引脚数是否等于2,若等于2则判断两引脚之间的位置关系是否满足直角结构,若满足且所在布线区域还有可用的布线资源,则连接这两个引脚,若大于2则继续执行步骤S13;
步骤S13:通过粒子群算法生成每个线网的X结构斯坦纳树;
步骤S14:通过最小生成树算法将多端线网分解成多个两端线网,并记录所有两引脚线网;
步骤S15:设定预连接阶段的通道容量约束条件即将X结构中的曼哈顿方向上的通道容量缩减为原来的一半,45度方向和135度方向的通道容量保持不变;
步骤S16:在不违反所设定的通道容量约束下,对所有的两引脚线网进行预连接;
所述步骤S2具体包括以下步骤:
步骤S21:寻找当前布线区域内最拥塞的布线单元;
步骤S22:对最拥塞布线子区域进行自适应扩张,并记录该布线子区域中未连接的两引脚线网;所述自适应扩张的扩张速度是由当前布线区域内的两引脚线网数量决定的;
步骤S23:在扩大后的布线子区域内,针对未连接的引脚线网,运用粒子群算法和A*算法布通当前子区域内给定的线网;
步骤S24:重复步骤S22、步骤S23直到布线子区域扩大到整个总体布线区域;
所述步骤S22中所述对最拥塞布线子区域进行自适应扩张的具体内容为:
当布线子区域内的两引脚线网数量小于50时,布线子区域扩展的大小设置为3;当布线子区域内的两引脚线网数大于等于50且小于100时,布线子区域扩展的大小设置为2;当布线子区域内的两引脚线网数大于等于100且小于200时,布线子区域扩展的大小设置为1;
所述步骤S23中先运用粒子群算法进行整体寻优,用一个集合extend_unconnect来储存未连接的两引脚线网;判断该集合是否为空,若为空,则说明粒子群算法有效地连接全部的两引脚线网;若非空,则粒子群算法无法有效连接全部的两引脚线网,则剩下的两引脚线网使用A*算法继续进行。
2.根据权利要求1所述的基于多策略优化的超大规模集成电路多层总体布线方法,其特征在于:步骤S3中所述对不同通道方向上的通道容量进行相互补充需要满足约束条件,约束条件为:
约束条件如公式(1)和公式(2)所示:
d1=d1+C,d2=d2-C;d1<C&&d2>2C(1)
d1=d1-C,d2=d2+C;d1>2C&&d2<C(2)
其中,C是预设的通道容量阈值常数;d1表示水平或垂直方向上剩余的通道容量;d2表示45度或135度方向上剩余的通道容量;
由公式可知,只有当剩余通道容量小于阈值且另一方向的通道容量大于两倍的阈值时,才会触发该策略。
3.根据权利要求1所述的基于多策略优化的超大规模集成电路多层总体布线方法,其特征在于:步骤S21中所述寻找当前布线区域内最拥塞的布线单元的具体内容为:通过遍历整个总体布线区域,去对比寻找出最拥塞的布线单元作为布线子区域;在寻找过程中,将每次选中的子区域和当前已记录下最拥塞区域的拥塞程度进行比较,若选中的拥塞程度更高,则更新当前已记录的最拥塞区域;若程度相同,则判断两区域各自在总体布线区域的位置,选择更靠近中心的位置为最拥塞区域;否则保持记录不变;
判断布线区域拥塞程度的指标,是该区域内累计使用的通道容量;对于布线区域的一个布线单元,计算该布线单元水平、45度、垂直以及135度四个方向的通道容量;因此,拥塞程度计算方式如下所示:
其中,N代表当前的布线单元;d(i)代表布线单元N在方向i的通道容量使用数。
4.根据权利要求1所述的基于多策略优化的超大规模集成电路多层总体布线方法,其特征在于:所述步骤S4中
A*算法的代价函数如公式(4)所示:
F(x)=G(x)+H(X)(4)
其中,F(x)表示G中从起点出发经过节点x最后到终点的代价估计,G(x)表示G中从起点到达节点x的实际移动代价,H(x)表示G中从节点x到达终点的估算成本代价;
带权值的起点与当前点的曼哈顿距离作为选择实际代价G(t),如公式(5)所示;选择一个当前点与终点的X结构路径作为启发函数H(t),如公式(6)所示;
其中,w是权重;stnx和stny分别代表是的起点到当前节点t的水平方向和垂直方向的距离;ntex和ntey分别代表是的起点到当前节点t的水平方向和垂直方向的距离;
所述A*算法的具体实现为:利用OPEN表和CLOSE表;OPEN表是一个待检查的开放列表,存储在搜索过程中需要被检测的节点信息;CLOSE表是一个封闭列表,存储已经加入到最短路径中的节点,这些节点不需要被再次关注;算法开始时,将待连接的两端线网的两个引脚分别设置成当前节点与目标节点,当前节点作为起点;搜索当前节点的邻居节点,若无法到达该邻居节点,即路径不可行,则搜索当前节点的下一个邻居节点;若路径可行,则计算该邻居节点的F(x)值并将该邻居节点加入OPEN表,直至所有邻居节点搜索完毕;接着将当前节点从OPEN表中删除,放入CLOSE表;取OPEN表中F(x)值最小的点作为当前节点,判断当前节点是否是目标节点,若不是,则重复上述搜索过程;若是,则算法停止。
CN202110739932.8A 2021-06-30 2021-06-30 基于多策略优化的超大规模集成电路多层总体布线方法 Active CN113657067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110739932.8A CN113657067B (zh) 2021-06-30 2021-06-30 基于多策略优化的超大规模集成电路多层总体布线方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110739932.8A CN113657067B (zh) 2021-06-30 2021-06-30 基于多策略优化的超大规模集成电路多层总体布线方法

Publications (2)

Publication Number Publication Date
CN113657067A CN113657067A (zh) 2021-11-16
CN113657067B true CN113657067B (zh) 2023-07-21

Family

ID=78477814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110739932.8A Active CN113657067B (zh) 2021-06-30 2021-06-30 基于多策略优化的超大规模集成电路多层总体布线方法

Country Status (1)

Country Link
CN (1) CN113657067B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114997088B (zh) * 2022-06-29 2022-11-04 西安电子科技大学 一种布线和tdm比率快速优化方法
CN115484172B (zh) * 2022-09-16 2023-09-26 深圳市兴海物联科技有限公司 一种基于物联网的计算机控制终端的管理系统及方法
CN116467997B (zh) * 2023-05-10 2023-09-26 南京邮电大学 基于决策协商算法的多实例化分块布图下的顶层布线方法
CN117669477B (zh) * 2024-01-31 2024-04-05 苏州元脑智能科技有限公司 一种集成电路的布线方案确定方法、装置及设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832519A (zh) * 2017-11-02 2018-03-23 福州大学 超大规模集成电路中高性能x结构多层总体布线方法
CN110795907A (zh) * 2019-09-30 2020-02-14 福州大学 一种考虑布线资源松弛的X结构Steiner最小树构造方法
CN110795908A (zh) * 2019-10-30 2020-02-14 福州大学 偏差驱动的总线感知总体布线方法
CN111368493A (zh) * 2018-12-26 2020-07-03 杭州广立微电子有限公司 一种基于稀疏网格的自动版图布线生成方法
CN111814420A (zh) * 2020-06-18 2020-10-23 福州大学 基于拓扑优化和启发式搜索的总体布线方法
CN112711930A (zh) * 2020-12-24 2021-04-27 西安国微半导体有限公司 一种基于线网分布的可布线性驱动的全局布局方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832519A (zh) * 2017-11-02 2018-03-23 福州大学 超大规模集成电路中高性能x结构多层总体布线方法
CN111368493A (zh) * 2018-12-26 2020-07-03 杭州广立微电子有限公司 一种基于稀疏网格的自动版图布线生成方法
CN110795907A (zh) * 2019-09-30 2020-02-14 福州大学 一种考虑布线资源松弛的X结构Steiner最小树构造方法
CN110795908A (zh) * 2019-10-30 2020-02-14 福州大学 偏差驱动的总线感知总体布线方法
CN111814420A (zh) * 2020-06-18 2020-10-23 福州大学 基于拓扑优化和启发式搜索的总体布线方法
CN112711930A (zh) * 2020-12-24 2021-04-27 西安国微半导体有限公司 一种基于线网分布的可布线性驱动的全局布局方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Wire Routing by Optimizing Channal As-signment Within Large Appertures|;Hashimoto;IEEE(第12期);全文 *
求解VLSI布线问题的离散粒子群优化算法;刘耿耿;计算机科学;第37卷(第10期);全文 *

Also Published As

Publication number Publication date
CN113657067A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN113657067B (zh) 基于多策略优化的超大规模集成电路多层总体布线方法
Liu et al. CUGR: Detailed-routability-driven 3D global routing with probabilistic resource model
Pan et al. FastRoute 2.0: A high-quality and efficient global router
Cho et al. BoxRouter 2.0: Architecture and implementation of a hybrid and robust global router
Dai et al. NCTU-GR: Efficient simulated evolution-based rerouting and congestion-relaxed layer assignment on 3-D global routing
US7296251B2 (en) Method of physical planning voltage islands for ASICs and system-on-chip designs
CN110795908A (zh) 偏差驱动的总线感知总体布线方法
WO2021253684A1 (zh) 基于拓扑优化和启发式搜索的总体布线方法
CN107832519B (zh) 超大规模集成电路中高性能x结构多层总体布线方法
CN116070575B (zh) 一种芯片布线优化方法及软件系统
CN116341480A (zh) 数字芯片布局布线全局优化方法及系统
Hsu et al. Multi-layer global routing considering via and wire capacities
Zhu et al. Minideviation: an efficient multi-stage bus-aware global router
Jongeneel et al. Area and search space control for technology mapping
Chen et al. Constraint graph-based macro placement for modern mixed-size circuit designs
Yao et al. Pathfinding Model and Lagrangian-Based Global Routing
Mak et al. A DP-network for optimal dynamic routing in network-on-chip
US11741289B2 (en) Routing of superconducting wires
Daboul et al. Global interconnect optimization
Wang et al. Performance-driven interconnect global routing
CN114970442B (zh) 考虑总线感知的多层全局布线方法
Zhu et al. Energy and switch area optimizations for FPGA global routing architectures
CN113723711B (zh) 一种全局布线中针对单元移动的位置预测方法
Shafiee et al. Application-aware deadlock-free oblivious routing based on extended turn-model
Zhang et al. V-GR: 3D Global Routing with Via Minimization and Multi-Strategy Rip-up and Rerouting

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
GR01 Patent grant
GR01 Patent grant