一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于整数线性规划和两阶段划分策略的轨道分配方法与流程

2022-02-19 12:29:31 来源:中国专利 TAG:


1.本发明属于集成电路计算机辅助设计技术领域,具体涉及一种具有良好可扩展性和平行性的基于整数线性规划和两阶段划分策略的轨道分配方法。


背景技术:

2.物理设计是超大规模集成电路(very large scale integration,vlsi)设计中最重要最费时的环节之一,设计的结果直接影响着芯片的性能、可靠性、和制造产量等。在vlsi物理设计中,布线是极为关键的一步。为了降低布线过程的复杂度,通常将其分为两步骤:总体布线和详细布线。随着详细布线问题复杂度的不断升级,线网密度的不断提高,总体布线的结果越来越难以匹配详细布线的要求。因此,为了降低详细布线工作的难度,同时提高总体布线结果的利用率,学者们引入轨道分配这一步骤以更好地匹配总体布线和详细布线。
3.现如今,已经提出了一系列轨道分配相关的分配方法,包括wbm

ta、gta、troy等。上述传统的轨道分配算法均是在不允许发生冲突的情况下最大化分配导线的数量,没有考虑未分配的导线在详细布线阶段可能会与已经分配的导线产生大量的重叠,从而导致极为严重的短路问题,这在实际的工业生产中无法为详细布线提供有效的布线指导。
4.为了解决上述问题,提高详细布线阶段的可布线性,新颖的轨道分配技术在考虑最小化线长成本、重叠成本以及障碍成本的基础上,将所有导线都分配到轨道上。nta、ta

hdpso、rdta等在轨道分配阶段将导线全部分配到轨道上为目标,这样的目标更加有助于详细布线中短路问题的解决,更容易平衡总体布线与详细布线之间的不匹配性。在这里,我们将上述新颖的轨道分配技术所对应的问题模型称为可布线性驱动的轨道分配(routability

driven track assignment,rdta)问题。
5.轨道分配问题已被证明是一个np

困难问题。整数线性规划(integer linear programming,ilp)方法是决策系统的最优化数学规划方法之一,在解决np

困难问题以及多变量最优决策问题上具有良好的应用前景。目前,ilp方法已被应用于vlsi布线过程中的多个问题,如总体布线,轨道分配以及详细布线。上述基于ilp的一系列布线工作在解质量方面都得到了较为优秀的结果,体现了ilp应用在布线领域的可行性。
6.现有的可布线性驱动的轨道分配技术都是基于启发式方法,存在容易陷入局部最优的问题,从而无法得到一个精确的全局最优的轨道分配方案。为了给详细布线提供更可靠的轨道分配方案和更精确的可布线性估计,我们提出了spta算法,一种具有良好可扩展性和平行性的基于整数线性规划和两阶段划分策略的轨道分配方法。据我们的调研,本发明是首次采用ilp方法来解决rdta的研究工作。


技术实现要素:

7.本发明的目的在于提供一种基于整数线性规划和两阶段划分策略的轨道分配方法。
8.为实现上述目的,本发明的技术方案是:一种基于整数线性规划和两阶段划分策略的轨道分配方法,包括如下步骤:
9.步骤s1、提出一种基于panel级和subpanel级的并行机制,并基于该机制提出两阶段划分策略;
10.步骤s2、提出一种求解可布线性驱动的轨道分配问题的整数线性规划模型,以最小化iroutes之间的重叠从而显著提高可布线性。
11.在本发明一实施例中,步骤s1中,两阶段划分策略包括两个子流程,依次是第一阶段划分策略和第二阶段划分策略,其中第一阶段划分策略对panel细化为若干个独立的规模较小的subpanel,并且划分后的subpanel完全独立,第二阶段划分策略在第一阶段划分策略的基础上以subpanel为单位进行划分,将当前模型求解规模划分成更细粒度的单位。
12.在本发明一实施例中,步骤s2中,可布线性驱动的轨道分配问题描述为:给定一组待轨道分配的线网集合n,n包括全局线网和局部线网,每个线网n包含若干引脚和提取后的导线iroutes,令p表示一组panel集合,其中每个panel p由一行或一列布线单元组成,由一行或一列布线单元组成的panel为水平或垂直走向的panel,每个panel中分别包含待分配的轨道集合t
p
,所有障碍物的集合b
t
和待分配的iroutes集合i
p
;对于每个待布线的panelp,将集合i
p
中的所有iroutes分配给集合t
p
中的轨道,目标是最小化轨道分配方案的总重叠成本,总障碍成本和总线长成本;因此,求解可布线性驱动的轨道分配问题的整数线性规划模型如下:
13.1)决策变量
14.iroute在轨道上的分配情况仅有两种:已分配和未分配,将iroute i在轨道t分配情况定义成一个简单的二进制变量x
it
,如公式(1)所示:
[0015][0016]
其中,当iroute i被分配到轨道t上时,决策变量x
it
的值为1;否则,决策变量x
it
的值为0;
[0017]
2)约束条件
[0018]
排他性约束在一次分配中,排他性约束保证一条iroute能且只能分配给所属panel中的一条轨道,具体如公式(2)所示:
[0019][0020]
其中,对于集合i
p
中的任一iroute i都有|t
p
|个与之对应的x
it
,当且仅当|t
p
|个x
it
的和等于1时等式成立;否则,违反排他性约束;
[0021]
3)重叠数量合法性约束
[0022]
采用对panel分段计算重叠数量的方式求得最终的重叠成本,整个panel被划分成若干长度不等的段,在分段完成以后,公式(3)可以对s
t
中所有分段元素求得每段上的重叠数量,特别地,若轨道t的第k段上没有被分配任何导线,那么由公式(3)得出的onum
tk
的值为

1,根据重叠数量的意义可知,重叠数量是一个非负自然数,公式(4)为重叠数量设定一个下界以保证重叠数量的合法性;
[0023][0024][0025]
其中,onum
tk
为一个整型变量,表示轨道t在第k段上的重叠数量,c
ik
为i
p
中iroute i是否存在于第k段上,c
ik
是一个已知的二进制常量;
[0026]
4)目标函数
[0027]
由于轨道分配问题的目标是尽可能减少布线过程中产生的各项成本,优化的目标函数可由公式(5)

(8)表示:
[0028]
minimizeα
×
blkcost β
×
overlapcost γ
×
wlcost
ꢀꢀꢀꢀꢀꢀ
(5)
[0029][0030][0031][0032]
其中,blkcost、overlapcost和wlcost分别为panelp内产生的障碍成本、重叠成本和线长成本;olen(i,b)表示i
p
集合中iroute i与b
t
集合中障碍物b之间的重叠长度;slen
tk
表示轨道t的第k段的段长;distance(x
ij
,pin,j)表示iroute i所放置的位置与i所在线网内其他组件的最短距离,i,j,pin同属于i所在的线网n
i
;α,β和γ为自定义参数;由于在轨道分配过程中导线与障碍物发生冲突是最优先考虑的问题,所以α设置为一个非常大的值以保证障碍成本尽可能小。
[0033]
在本发明一实施例中,出于对运行时间的考虑,在模型优化过程中,计算线长成本的过程为:对从局部线网提取出的iroutes,将其分配至与其具有最短曼哈顿距离的轨道上,对从全局线网提取出的iroutes,分别计算将其放在不同轨道上与同线网内各组件的曼哈顿距离,随后将其分配至具有最短曼哈顿距离的轨道上,值得注意的是,在全局线网内计算当前iroute与其他组件的曼哈顿距离时,只考虑当前iroute与线网内的引脚以及已确定轨道的iroute之间的距离,而未确定位置的iroute则会在此过程中被忽略,通过此种方式计算得到的距离作为模型优化过程中的优化线长成本的依据。
[0034]
相较于现有技术,本发明具有以下有益效果:本发明首次公开了采用ilp方法来解决rdta。
附图说明
[0035]
图1是布线器总体流程图。
[0036]
图2(a)多层总体布线模型。
[0037]
图2(b)对应的多层轨道分配模型。
[0038]
图3(a)总体布线结果。
[0039]
图3(b)导线模型示意图。
circuit,ic)设计的可布线性基础上最小化互连成本。轨道分配阶段将总体布线器提供的布线方案中的每条导线分配至合适的轨道,并使得导线与导线的重叠成本,导线与障碍物之间的重叠成本和每个线网内的线长成本最小化。由于传统的轨道分配工作是最大化分配导线数量以求得一个成本最小的解决方案,可能存在部分导线未被分配的情况,且大部分轨道分配工作不会考虑局部线网中的导线,这将导致布线过程中所产生成本的计算不准确。因此,本发明问题模型除了从全局线网中提取导线外,还考虑了局部线网中的导线提取,充分利用了总体布线的信息,使得轨道分配结果更为接近详细布线。
[0064]
在多层布线问题中,同一层内部的布线方向是一致的(水平或垂直方向),相邻层之间的布线方向是相交的。图2(a)、(b)为多层轨道分配模型示意图。图2(a)中有布线层1、2、3,布线层1、3为垂直方向布线,2为水平方向。每一个圆形代表一个抽象化的布线单元,我们称之为g

cell。图2(b)中矩形为每个布线层的布线通道之一,我们称之为panel。panel中的虚线表示轨道,每个panel中都包含若干轨道用来放置导线。
[0065]
图3(a)、(b)为算法提取的导线模型示意图。其中圆形点为引脚,最小的矩形区域称为布线单元,所有引脚均存在于同一布线单元的线网称为局部线网,跨越多个布线单元的线网称为全局线网。图3(a)是两个线网的总体布线结果,n1为带有两个引脚的局部线网,n2为带有两个引脚的全局线网。图3(b)为spta提取导线的具体情况。在这里,本发明将穿过一个或者多个布线单元的线段称为导线。w1和w2是从全局线网n2提取的导线,w3是从局部线网n1提取的导线,本发明将提取后的导线称为iroute。
[0066]
2.成本计算方法
[0067]
2.1障碍成本
[0068]
根据所描述的导线模型,本发明从全局线网和局部线网提取出待分配的iroutes。当iroute被分配到某一轨道上时,若与该轨道上的一个或者多个障碍物的部分或全部产生重叠,那么称这种情况为iroute与障碍物产生了冲突。由该种冲突产生的重叠长度称为障碍成本。
[0069]
2.2重叠成本
[0070]
当iroute被分配到某一轨道上时,若与已经被分配到该轨道上的一条或多条iroute发生部分或全部重叠,那么称这种情况为iroute与iroute之间产生了冲突。由该种冲突产生的重叠长度称为重叠成本。
[0071]
图4为障碍成本和重叠成本的计算方式示意图。图中所示的panel包含三条轨道,带阴影的矩形为一个跨越轨道2和轨道3的障碍物。各轨道成本计算如下:
[0072]
track 1:障碍成本:0;重叠成本:1
×
1 3
×
2 2
×
1=9;
[0073]
track 2:障碍成本:0;重叠成本:0;
[0074]
track 3:障碍成本:2;重叠成本:1
×
1=1;
[0075]
2.3线长成本
[0076]
引脚和iroutes都是线网内部的组件,一个线网里包含若干引脚和iroutes。在轨道分配阶段,为每一个iroute选择一个轨道并将其放置在该轨道上。在后续的详细布线阶段,这些被放置好的iroutes将会与其所在线网的其他组件连接起来。将一个线网内部的所有组件连接在一起所产生的成本为线长成本。
[0077]
图5(a)

(d)为一个线网的线长成本的计算方式示意图。图5(a)为一个线网的俯视
图,该线网包含6个组件(3个引脚和3条iroutes)。p2和ir2分布在水平走向的panel上,其余四个组件分布在低一层的垂直走向的panel上。图5(b)列出了该线网内组件两两之间的曼哈顿距离。利用表中信息生成一个加权完全图,如图5(c)所示,通过最小生成树算法将6个组件连接在一起,所得树长即为该线网的线长成本(图5(c)所示的实线路径长度之和)。图5(d)为将该线网6组件连接在一起的3d视图。
[0078]
3.问题模型
[0079]
基于对导线模型和三种成本的讨论,本发明求解的可布线性驱动的轨道分配问题可详细地描述如下:
[0080]
给定一组待轨道分配的线网集合n(包括全局线网和局部线网),每个线网n包含若干引脚和iroutes。令p表示一组panel集合,其中每个panelp由一行或一列布线单元组成。由一行(一列)布线单元组成的panel为水平(垂直)走向的panel,每个panel中分别包含待分配的轨道集合t
p
,所有障碍物的集合b
t
和待分配的iroutes集合i
p
。对于每个待布线的panelp,本发明将集合i
p
中的所有iroutes分配给集合t
p
中的轨道,目标是最小化轨道分配方案的总重叠成本,总障碍成本和总线长成本。
[0081]
4.本发明的ilp模型
[0082]
传统的ilp模型不能用于求解rdta,为此,提出一种基于整数线性规划模型和两阶段划分策略的轨道分配算法。
[0083]
1)决策变量
[0084]
iroute在轨道上的分配情况仅有两种:已分配和未分配。我们可以将iroute i在轨道t分配情况定义成一个简单的二进制变量x
it
,如公式(1)所示:
[0085][0086]
其中,当iroute i被分配到轨道t上时,决策变量x
it
的值为1;否则,决策变量x
it
的值为0。
[0087]
2)约束条件
[0088]
定义1排他性约束在一次分配中,排他性约束保证了一条iroute能且只能分配给所属panel中的一条轨道,具体如公式(2)所示:
[0089][0090]
其中,对于集合i
p
中的任一iroute i都有|t
p
|个与之对应的x
it
,当且仅当|t
p
|个x
it
的和等于1时等式成立;否则,违反排他性约束。
[0091]
定义2iroute数量约束为了使轨道分配的方案能更好地指导详细布线的工作,需要更加充分的考虑布线资源,所以本发明将一个panel内提取出的所有iroutes分配到合适的轨道上。
[0092][0093]
其中,对于每个iroute集合i
p
都有|i
p
|
×
|t
p
|个x
it
,当且仅当|i
p
|
×
|t
p
|个x
it
的和为|i
p
|时等式成立;否则,违反iroute数量约束。
[0094]
针对求解rdta问题的ilp模型,需要同时满足定义1和定义2的两组约束。
[0095]
定理1:在本发明用于求解rdta问题的ilp模型中,排他性约束p1是真包含于iroute数量约束q1的,即
[0096]
证明:若证明只需证明p1是q1的充分非必要条件。令p1表示公式(2),q1表示公式(3)。
[0097]

充分条件:设|t
p
|=n,|i
p
|=m。将p1展开可得如下m个子式(公式(44)),将q1展开可得第m 1个子式(公式(5))。将公式(4)中等号左右两边分别相加可得公式(5)。令p1的一个解为x,则满足q1。可得,p1→
q1。
[0098][0099]
x
11
x
12
... x
1n
... x
mn
=|i
p
| (5)
[0100]

非必要条件:令y为q1的一个解,即x
11
=x
12
=...=x
1n
=1,x
21
=x
22
=...=x
mn
=0。
[0101]
此时,y不满足p1。即
[0102]
因此,p1为q1的充分非必要条件,
[0103]
综上,本发明用于求解rdta问题的ilp模型中满足排他性约束便可满足iroute数量约束,本发明的ilp模型仅需要加入公式(2)所示约束。
[0104]
3)重叠数量合法性约束
[0105]
在本发明提出的ilp模型中,我们采用对panel分段计算重叠数量的方式求得最终的重叠成本。以图6中的panel为例加以说明,图中实线矩形为一个panel,虚线为可放置iroute的轨道,放置在轨道上的阴影矩形为障碍物,图中水平放置的实心矩形为iroute。在进行iroute分配之前,本发明以panel中所有iroute的起点坐标与终点坐标为依据对panel进行标记,标记的结果如图中垂直虚线所示。我们将两条垂直虚线之间的区域称为段。如此,整个panel被划分成若干长度不等的段,起始段为图中first所指,结束段为last所指。
[0106]
在分段完成以后,公式(6)可以对s
t
中所有分段元素求得每段上的重叠数量。特别地,若轨道t的第k段上没有被分配任何导线,那么由公式(6)得出的onum
tk
的值为

1。根据重叠数量的意义可知,重叠数量是一个非负自然数,公式(7)为重叠数量设定一个下界以保证重叠数量的合法性。
[0107][0108][0109]
其中,onum
tk
为一个整型变量,表示轨道t在第k段上的重叠数量,c
ik
为i
p
中iroute i是否存在于第k段上,c
ik
是一个已知的二进制常量。
[0110]
为保证所求重叠成本是准确有效的,重叠数量取值应满足合法性约束。图6为该panel的一种轨道分配解决方案,底部所示的panel是各轨道在各段上的重叠情况。轨道1的第3段上放置有3条iroutes,轨道2的第3段上放置有0条iroute,轨道3的第3段上放置有1条iroute,则轨道1,2,3在第3段的重叠数量分别为:2,0,0。
[0111]
4)目标函数
[0112]
由于轨道分配问题的目标是尽可能减少布线过程中产生的各项成本,优化的目标函数可由公式(8)

(11)表示。
[0113]
minimizeα
×
blkcost β
×
overlapcost γ
×
wlcost(8)
[0114][0115][0116][0117]
其中,blkcost、overlapcost和wlcost分别为panel p内产生的障碍成本、重叠成本和线长成本;olen(i,b)表示i
p
集合中iroute i与b
t
集合中障碍物b之间的重叠长度;slen
tk
表示轨道t的第k段的段长。distance(x
ij
,pin,j)表示iroute i所放置的位置与i所在线网内其他组件的最短距离,i,j,pin同属于i所在的线网n
i
。α,β和γ为自定义参数。由于在轨道分配过程中导线与障碍物发生冲突是最优先考虑的问题,所以本发明中α设置为一个非常大的值以保证障碍成本尽可能小。在实验部分,本发明给出了α,β和γ的调整过程,保证障碍成本达到最优值的前提下最小化重叠成本和线长成本。
[0118]
出于对运行时间的考虑,在本模型优化过程中,计算线长成本的过程为:对从局部线网提取出的iroutes,将其分配至与其具有最短曼哈顿距离的轨道上。对从全局线网提取出的iroutes,分别计算将其放在不同轨道上与同线网内各组件的曼哈顿距离,随后将其分配至具有最短曼哈顿距离的轨道上。值得注意的是,在全局线网内计算当前iroute与其他组件的曼哈顿距离时,我们只考虑当前iroute与线网内的引脚以及已确定轨道的iroute之间的距离,而未确定位置的iroute则会在此过程中被忽略。通过此种方式计算得到的距离作为本模型优化过程中的优化线长成本的依据。在解决方案质量稍有下降的前提下,采用此种近似的方法来计算线长成本比最小生成树方法可以节省更多时间成本。
[0119]
由于求解时间过大,传统的ilp通常在一定的时间内或者一定的迭代次数内被手动停止,以满足布线设计对时间的要求。spta不去打断ilp的求解过程也不设置迭代次数,而是让其找到最优解后自动停止。因此,本发明的ilp模型可以获得本发明的轨道分配问题模型下的最优解。
[0120]
5.两阶段划分策略
[0121]
由于ilp是np完全的,因此spta的计算成本花费较高。因此,在本节中,本发明提出了一种ilp模型的划分技术,称之为两阶段划分策略,来缩减解空间的大小以达到节省时间成本的目的。在划分之前,原本的问题以panel为单位来建立ilp模型求解。现在,将初始轨道分配问题划分为多个子问题,即将panel以某种规律划分为多个子集,本发明称划分后形
成的更小的单位为subpanel。然后,应用ilp方法对subpanel的轨道分配问题建模求解。
[0122]
(1)第一阶段划分策略
[0123]
第一阶段划分策略是对panel细化为若干个独立的规模较小的subpanel。图7为第一阶段划分策略示意图。图7上半部分为一个划分前完整的panel,图底部为划分后形成的两个subpanel。在上述小节,我们已经完成了panel的分段工作。选择不存在任何iroute的段作为划分subpanel的依据,即图中虚线圈所指空白段。如图7所示,以第一条分段线作为subpanela的起始坐标,以空白段的起始坐标作为subpanel a的结束坐标;以空白段的结束坐标作为subpanel b的起始坐标,以最后一条分段线作为subpanel b的结束坐标。由此,panel被划分成两个subpanel。
[0124]
第一阶段划分缩减解空间,并且划分后的subpanel完全独立,因此第一阶段划分前后的轨道分配结果保持一致,并且很大程度上缩减时间成本。
[0125]
(2)第二阶段划分策略
[0126]
第一阶段划分策略仅考虑将panel根据空白段划分为无关的subpanel,但仍存在规模较大的subpanel,这类subpanel的存在使得ilp模型求解的时间成本过大。因此,提出了第二阶段划分策略。
[0127]
由于第一阶段划分策略已经将所有不涉及到导线位置的划分情况全部找出,接下来我们可以考虑选取subpanel内合适的位置来达到划分大规模subpanel的目的。本发明设置了两个可切割条件:导线数条件和切割数条件,当且仅当两个可切割条件都得到满足时,才会对subpanel进行进一步的划分。
[0128]
定义3导线数条件:引入一个常量i_num,该参数表示一个subpanel中可容忍包含的最大iroute数量。一个待切割的subpanel需满足|i
subp
|>i_num才可成为被划分的候选subpanel。为了能够得到划分后iroute数量均匀的subpanel,本发明在该subpanel分段标记的1/3~2/3区间内选择切割位置。
[0129]
定义4切割数条件:仅考虑切割后iroute的分布情况,不考虑切割到的iroute数量可能会给最终轨道分配结果带来较坏的影响。由此,本发明引入i_cut参数,该参数表示在一次切割中可容忍切割iroute的数量。一个待切割的subpanel需满足iroutecut<i_cut才可成为被划分的候选subpanel。其中,iroutecut为该subpanel的所有切割位置中,切割导线的最小数量。当且仅当条件a,b全被满足时,当前subpanel才会被划分。
[0130]
图8顶部为第一阶段划分策略得到的两个结果subpanela和b,左下角两个实线矩形为进一步划分后得到的结果subpanela1和a2,左下角虚线矩形表示被移除的iroute集合。设两个参数i_num、i_cut分别被设置为4和3,那么subpanelb不满足导线数条件,不能被划分。从图8可知,subpanela共有6段,分段标记共7处(包括subpanel的左右两边缘)。我们将(1/3,2/3)区间内的分段标记作为候选切割位置,即图中打钩的三条虚线。其中,两条虚线切断的导线都为3条,一条虚线切断的导线为2条。其中一条虚线满足切割数条件,最终,我们沿着该条虚线的位置将subpanela切开。图中虚线框位置的两条iroutes会被切开,将其移出至另一个容器中保存。待subpanela1和a2分配完毕后,将被移除的iroutes贪心的分配至合适的轨道,即选择具有最小成本的轨道。
[0131]
6.划分法有效性证明
[0132]
所提出的第一阶段划分策略以panel为单位进行划分,对单个panel进行分析:令
panel内的导线数量为i,轨道数量为t,划分后两个subpanel的导线数量分别为i1,i2,且i=i1 i2。
[0133]
定理2:根据ilp模型可知一个panel的决策变量个数为i
×
t,且本模型决策变量为一个二进制变量。那么,决策变量x的取值只能为0或1。由此可得,未划分前的panel搜索空间的大小为2
t
×
i
,划分后的subpanel搜索空间大小分别为和那么,一定有
[0134]
证明(反证法):假设令a=2
t
,因为t≥1,所以a≥2。原式化为a
i1
a
i2
>a
i
,不等式两边同除a
i
后得1/a
i1
1/a
i2
>1。因为a≥2,所以a
i2
≥2,则1/a
i2
≤1/2,同理可得1/a
i1
≤1/2。因此1/a
i1
1/a
i2
≤1。与原式不符,不等式2
t
×
i1
2
t
×
i2
<2
t
×
i
不成立。
[0135]
所提出的第二阶段划分策略在第一阶段的划分基础上以subpanel为单位进行划分,将当前模型求解规模划分成更细粒度的单位。第二阶段划分策略在运行时间约减原理上与第一阶段类似,证明过程如一阶段划分证明所示,在此不过多赘述。
[0136]
综上所述,所提出的两阶段划分策略可以有效的解决ilp模型求解时间冗长问题。并且,在第一阶段划分后仍可以得到与划分前相同质量的轨道分配结果。通过对导线数条件和切割数条件的调整,第二阶段划分也能保证解质量足够高的前提下,实现了的求解速度提升。
[0137]
7.spta算法的并行策略
[0138]
图9展示了spta算法采用的并行策略实施方法。所有线程共享包含所有布线资源的panel集合和包括全局和局部的线网集合。spta算法在布线过程中分两部分进行并行处理,其一是将panel划分为多个小规模的subpanel,其二是为各个独立的subpanel建立ilp模型求解,即图9中的panel行以及subpanel行。本发明将panel级和subpanel级的并行机制结合得到基于panel级和subpanel级的并行策略。首先,spta对当前panel进行第一阶段划分操作以及第二阶段划分操作。完成两阶段划分策略后得到一个subpanel集合。接着,spta对当前subpanel进行ilp建模求解以及求解之后的被移除iroutes再分配操作。特别地,本发明的并行策略使得两阶段划分操作以及ilp建模求解是同时进行的。即图9中存在p1到p
m
中多个panel同时进行两阶段划分操作,存在多个subpanel同时进行ilp建模求解操作。
[0139]
未加入两阶段划分策略的spta并行求解单位为panel,由于panel与panel之间的布线资源是相互独立的,即轨道,iroutes,障碍物,则基于panel级的并行策略是可行的且不会破坏ilp方法所求的轨道分配最优解。加入第一阶段划分策略的spta并行求解单位为subpanel,且划分时没有改变iroutes的位置以及固定iroutes的分配顺序,则加入第一阶段划分策略的spta算法所得到的轨道分配结果仍为最优解。加入第二阶段划分策略的spta并行求解单位为更细粒度的subpanel。但是,第二阶段划分策略固定了被移除的iroutes的分配顺序,即需在被移除的iroutes所属未进行划分的subpanel中其他iroutes分配完毕后才可进行分配。所以,加入两阶段划分策略的spta所得的最终轨道分配结果为近似最优解。最终,实验结果证明基于panel级和subpanel级的并行策略是有效的。
[0140]
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献