当前位置: 首页 > 专利查询>东南大学专利>正文

一种考虑先进制程约束和单元移动的全局布线方法技术

技术编号:36123372 阅读:21 留言:0更新日期:2022-12-28 14:29
本发明专利技术设计了一种考虑先进制程约束和单元移动的全局布线方法,属于集成电路设计自动化领域,该方法主要包括如下步骤:(1)对于给定的具有先进制程约束且有初始布局布线解的网表,执行功耗感知的布线优化;(2)构建布线层约束感知的查找表;(3)基于前级构建的查找表,提出时序驱动的增益图生成方法;(4)确定当前轮次单元移动的顺序;(5)根据前级确定的单元移动顺序,执行单元移动及线网部分拆线重布;(6)执行聚类移动及线网部分拆线重布线;(7)执行单元移动量合法化及线网布线优化。本发明专利技术能够在考虑先进制程约束的前提下,基于本方法中提出的高精度单元位置预测算法,执行高效的单元移动来有效降低全局布线线长。移动来有效降低全局布线线长。移动来有效降低全局布线线长。

【技术实现步骤摘要】
一种考虑先进制程约束和单元移动的全局布线方法


[0001]本专利技术涉及一种考虑先进制程约束和单元移动的全局布线方法,属于集成电路设计自动化


技术介绍

[0002]集成电路物理设计是典型的NP困难问题,当前主流的方法是将该问题分解成布局和布线这2个独立的问题,为了降低布局布线问题求解的难度,通常采用“分而治之”的方法来将这两个问题划分为如下若干子问题:全局布局、合法化、详细布局、全局布线和详细布线。然而,由于这些问题的优化目标并不完全一致,所以“分而治之”的方法会不可避免地导致解决方案质量的下降。此外,由于当前物理设计中施加了各种复杂先进制程约束(例如,时序、R/C特性、电压区域等),在满足先进制程约束的同时弥补布局和布线之间的差距变得更具挑战性。
[0003]为了增强布局布线之间的相关性,现有的布局工具通常采用不同的策略来优化可布线性。例如,通过在布线器中集成全局布线器来生成准确的拥塞图,然后采用有效的超线性单元膨胀技术,以减轻全局布局期间的布线拥塞。或者采用动态单元膨胀和拥塞消除模型来优化可布线性。然而,这些方法仅基于布线拥塞估计来指导布局,而不是产生布线解决方案。因此,布局布线之间的差距仍然无法直接弥补。与可布线性驱动的布局器不同,也有布线器在全局布线过程中采用单元交换技术来提高可布线性。
[0004]为了在先进工艺节点中实现卓越的性能和优化功耗,当前的物理设计中需要进一步考虑额外的先进制程约束/目标(即基于层的功耗、电压区域约束和时序)。具体来说,由于每个布线层的R/C特性往往不同,不同层的布线会导致不同的功耗。由于版图布局区域往往存在不同的电压区域,需要将不同电压要求的单元放置在特定的区域内。因此在考虑所有上述先进制程约束/目标的同时,弥补布局和布线之间的优化目标差距变得非常具有挑战性。为了解决这一问题,在布线阶段支持单元移动越来越受到关注。保持良好布局质量以及满足所有布线约束的情况下,在布线阶段对部分单元进行移动可以实现更好的解质量,大大提高物理设计方法的有效性和鲁棒性。因此,设计一种考虑上述所有先进制程约束及优化目标,并且能执行高效的单元移动的全局布线方法对优化集成电路物理设计解的质量以及提高芯片性能指标有重要的作用和意义。

技术实现思路

[0005]技术问题:本专利技术的目的是提供一种考虑先进制程约束和单元移动的全局布线方法,以增大布局和布线问题优化目标之间的关联性,优化布线的解决方案。
[0006]技术方案:本专利技术的一种考虑先进制程约束和单元移动的全局布线方法包括如下步骤:
[0007]步骤S1:对于给定的具有先进制程约束且有初始布局布线解的网表,执行功耗感知的布线优化来获得更优且收敛的布线结果,从而给后续的单元移动提供准确的位置信
息;
[0008]步骤S2:为了提高后续单元移动位置预测过程的效率,构建布线层约束感知的查找表;
[0009]步骤S3:基于前级构建的查找表,提出时序驱动的增益图生成方法;
[0010]步骤S4:对所有单元基于增益图生成方法,执行位置预测,根据每个单元的最大移动收益进行排序,确定当前轮次单元移动的顺序;
[0011]步骤S5:根据前级确定的单元移动顺序,执行单元移动及线网部分拆线重布;
[0012]步骤S6:执行聚类移动及线网部分拆线重布线;
[0013]步骤S7:执行单元移动量合法化及线网布线优化;
[0014]步骤S8:重复执行步骤S4

S7,直到加权总线长收敛。
[0015]其中:
[0016]在所述步骤S1中,所述的功耗感知的布线优化方法,来获得基于固定布局的更优且收敛的布线结果,包括以下两步:
[0017]第一步,处理线网最小布线层约束;首先,为了简化最小布线层约束对整个布线过程的影响,采取一个简单而有效的操作来处理最小布线层约束:先将网络最小布线层以下的实际管脚投射到最小布线层上,形成虚拟管脚,然后,以最小布线层为界,将线网的布线路径分为两部分:最小层上连接段集合和最小层下连接段集合;在布线过程中,只要最小布线层下的引脚位置不发生变化,最小层下连接段集合中的连接部分就不会发生变化,因此,在实际布线过程中不需要处理最小层下连接段集合中的这部分连接,只需要在满足布线方向约束的前提下,将最小布线层上的实际引脚与投射到最小层上的虚拟管脚进行布线连接即可;
[0018]第二步,功耗感知的两级线网重布线;实现了一种功耗感知的两级线网重布线方案来优化初始布线结果;首先,通过直角Steiner最小树算法将网络最小布线层或之上的所有实际和虚拟引脚分解为多组引脚对;然后,利用模式布线与层分配技术来生成更好的3D布线结果;其次,采用直接在3D空间工作的多源多汇的迷宫路由算法,在考虑拥塞信息的情况下,进一步改善布线结果;在迷宫布线过程中,对于布线模型中的每个3D格点u,其迷宫布线的代价由式(1)计算,布线代价包括基本代价、拥塞代价和溢出惩罚代价三部分,
[0019][0020]其中是格点u所在层的基础功耗,也即布线的基础代价,capacity(u)与demand(u)分别是格点u的线网容量以及当前被消耗掉的资源;α1∈{0,1}是避免格点u溢出的惩罚因子,当格点u的可用布线资源为零,也即capacity(u)=demand(u)时,α1将为1,而u的溢出惩罚代价将是无穷大。
[0021]在所述步骤S2中,由于单元移动方法的表现极其依赖位置预测算法的表现,设计一个准确估计模型中任意两点之间的布线连接线长的方法,构建了一个最小加权布线线长的查找表;当布线模型中不存在任何布线约束时,任意两点之间的最小连接距离为他们之间的3D曼哈顿距离,当对模型施加最小层约束与布线方向约束后,最小的布线距离的估计会变得非常困难,在这种具有先进制程约束的场景下,对于两点之间的最小加权布线线长的计算方法,
[0022]在满足布线方向约束的前提下,给定格点u(x
u
,y
u
,z
v
),v(x
v
,y
v
,z
v
),这两点之间的加权布线线长wl(u,v,l
x
,l
y
)通过公式(2)进行估计,
[0023][0024]其中,Δx=|x
u

x
v
|,Δy=|y
u

y
v
|,l
x
,l
y
是布线路径中水平和垂直连接部分所处的布线层,wl
z
是布线路径在z方向上的加权线长长度,通过公式(3)进行计算,
[0025][0026]其中l=max(l
x
,l
y
),z1=min(z
u
,z
v
),z2=max(z
u
,z
v
);
[0027]用L...

【技术保护点】

【技术特征摘要】
1.一种考虑先进制程约束和单元移动的全局布线方法,其特征在于,该方法包括如下步骤:步骤S1:对于给定的具有先进制程约束且有初始布局布线解的网表,执行功耗感知的布线优化来获得更优且收敛的布线结果,从而给后续的单元移动提供准确的位置信息;步骤S2:为了提高后续单元移动位置预测过程的效率,构建布线层约束感知的查找表;步骤S3:基于前级构建的查找表,提出时序驱动的增益图生成方法;步骤S4:对所有单元基于增益图生成方法,执行位置预测,根据每个单元的最大移动收益进行排序,确定当前轮次单元移动的顺序;步骤S5:根据前级确定的单元移动顺序,执行单元移动及线网部分拆线重布;步骤S6:执行聚类移动及线网部分拆线重布线;步骤S7:执行单元移动量合法化及线网布线优化;步骤S8:重复执行步骤S4

S7,直到加权总线长收敛。2.根据权利要求1所述的一种考虑先进制程约束和单元移动的全局布线方法,其特征在于:在所述步骤S1中,所述的功耗感知的布线优化方法,来获得基于固定布局的更优且收敛的布线结果,包括以下两步:第一步,处理线网最小布线层约束;首先,为了简化最小布线层约束对整个布线过程的影响,采取一个简单而有效的操作来处理最小布线层约束:先将网络最小布线层以下的实际管脚投射到最小布线层上,形成虚拟管脚,然后,以最小布线层为界,将线网的布线路径分为两部分:最小层上连接段集合和最小层下连接段集合;在布线过程中,只要最小布线层下的引脚位置不发生变化,最小层下连接段集合中的连接部分就不会发生变化,因此,在实际布线过程中不需要处理最小层下连接段集合中的这部分连接,只需要在满足布线方向约束的前提下,将最小布线层上的实际引脚与投射到最小层上的虚拟管脚进行布线连接即可;第二步,功耗感知的两级线网重布线;实现了一种功耗感知的两级线网重布线方案来优化初始布线结果;首先,通过直角Steiner最小树算法将网络最小布线层或之上的所有实际和虚拟引脚分解为多组引脚对;然后,利用模式布线与层分配技术来生成更好的3D布线结果;其次,采用直接在3D空间工作的多源多汇的迷宫路由算法,在考虑拥塞信息的情况下,进一步改善布线结果;在迷宫布线过程中,对于布线模型中的每个3D格点u,其迷宫布线的代价由式(1)计算,布线代价包括基本代价、拥塞代价和溢出惩罚代价三部分,其中是格点u所在层的基础功耗,也即布线的基础代价,capacity(u)与demand(u)分别是格点u的线网容量以及当前被消耗掉的资源;α1∈{0,1}是避免格点u溢出的惩罚因子,当格点u的可用布线资源为零,也即capacity(u)=demand(u)时,α1将为1,而u的溢出惩罚代价将是无穷大。3.根据权利要求1所述的一种考虑先进制程约束和单元移动的全局布线方法,其特征在于,在所述步骤S2中,由于单元移动方法的表现极其依赖位置预测算法的表现,设计一个准确估计模型中任意两点之间的布线连接线长的方法,构建了一个最小加权布线线长的查
找表;当布线模型中不存在任何布线约束时,任意两点之间的最小连接距离为他们之间的3D曼哈顿距离,当对模型施加最小层约束与布线方向约束后,最小的布线距离的估计会变得非常困难,在这种具有先进制程约束的场景下,对于两点之间的最小加权布线线长的计算方法,在满足布线方向约束的前提下,给定格点u(x
u
,y
u
,z
v
),v(x
v
,y
v
,z
v
),这两点之间的加权布线线长wl(u,v,l
x
,l
y
)通过公式(2)进行估计,其中,Δx=|x
u

x
v
|,Δy=|y
u

y
v
|,l
x
,l
y
是布线路径中水平和垂直连接部分所处的布线层,wl
z
是布线路径在z方向上的加权线长长度,通过公式(3)进行计算,其中l=max(l
x
,l
y
),z1=min(z
u
,z
v
),z2=max(z
u
,z
v
);用L
H
与L
V
分别代表布线模型中布线方向是水平和垂直的所有布线层,连接格点u和v的最小加权布线线长可以定义如下,显然,遍历每一组l
x
,l
y
,就可以得到最小的加权布线线长;通过分析布线模型的特点,对计算过程进行简化,基于格点u和v的相对位置关系,将wl
min
(u,v)的计算情况分为如下四种情况:(1)x
u
≠x
v
,y
u
≠y
v
;(2)x
u
=x
v
,y
u
≠y
v
;(3)x
u
≠x
v
,y
u
=y
v
;(4)x
u
=x
v
,y
u
=y
v
,以最复杂的情况(1)为例来阐述一下我们的简化操作;对于给定的l
x
∈L
H
,l
y
∈L
V
,假设l
x
>l
y
,由于在布线模型中,从低层到高层,功耗逐渐减小,因此所以得到因为式(3),所以可以得到wl(u,v,l
x
,l
y
)≥wl(u,v,l
x
,l
x

1),因此同样地,如果l
x
<l
y
,可以得到,从式(6)(7)中可以发现,可以尝试遍历所有相邻层l,l+1,并进行布线,即可得到最短的加权布线线长,这样算法的时间复杂度会大大降低(简化后的时间复杂度为O(N
layer
)),需要注意的是,如果pf
l
‑1=pf
l+1
,则相邻层l,l+1的遍历不需要进行计算;为了减少单元移动位置预测过程中的冗余计算,基于两格点之间的相对位置信息构建了最短加权布线线长的查找表mwrw,也即wl
min
(u,v)=mwrw(|x
u

...

【专利技术属性】
技术研发人员:申福恒朱自然
申请(专利权)人:东南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1