首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种VLSI多端点线网绕障碍的布线方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:福州大学

摘要:本发明涉及一种VLSI多端点线网绕障碍的布线方法,其特征在于:包括以下步骤:步骤S1:读取障碍信息;步骤S2:根据障碍信息,利用matlab绘制障碍框;步骤S3:采用改进粒子群算法构建斯坦纳树,并得到最优解;步骤S4:根据最优解对该解表示的斯坦纳树树进行布线,并记录布线过程;步骤S5:根据布线过程记录,对在布线过程中重复布线部分进行修正,去除生成树中重复了两次到三次的布线长度,并计算通孔数,得到最优布线。本发明实现高效精准并且绕障碍的全局布线,适用于超大规模集成电路多端点线网绕障碍布线。

主权项:1.一种VLSI多端点线网绕障碍的布线方法,其特征在于:包括以下步骤:步骤S1:读取障碍信息;步骤S2:根据障碍信息,利用matlab绘制障碍框;步骤S3:采用改进粒子群算法构建斯坦纳树,并得到最优解;步骤S4:根据最优解对该解表示的斯坦纳树进行布线,并记录布线过程;步骤S5:根据布线过程记录,对在布线过程中重复布线部分进行修正,去除生成树中重复了两次到三次的布线长度,并计算通孔数,得到最优布线;所述障碍信息包括初始坐标点数和初始障碍点;所述步骤S3具体为:步骤S31:根据初始坐标点和初始障碍点数计算最大的迭代次数和待生成的种群粒子数;步骤S32:混沌生成初始粒子群,其中一半数量的粒子采用randint函数随机生成,另外一半数量的粒子通过将解空间划分生成,共产生par_num个粒子,其中i个粒子对应的位置Xi和速度Vi;步骤S33:采用迭代算法计算最优解;所述步骤S33具体为:步骤1:开始迭代算法,从第一代到第max_iter代,当前代为第iter代;步骤2:计算惯性权值;根据粒子k的适应度fitnessi在种群中的排序randk_ixk和当前迭代次数iter,采用的是线性递增策略与对粒子进行针对优化的策略,结合计算粒子的惯性权值;线性递增策略0.2+0.5*itermax_iter有助于保证粒子群的整体收敛;对粒子进行针对优化的策略0.6*rank_ixkpar_num有助于帮助每个粒子找到适合自己的惯性权值,使得较优粒子在附近寻找,较劣粒子在更大范围搜索;根据公式(1)计算这次迭代每个粒子的惯性权值Wrank_ixk:Wrank_ixk=0.2+0.5*itermax_iter+0.6*rank_ixkpar_num1步骤3:计算加速系数,对c1采用的是线性权值递减策略进行更新,即公式(2),根据c1与c2之和在4以内有利于收敛,将c2用公式(3)更新;c1=2.5-0.8*itermax_iter(2)c2=4-c1(3)步骤4:采用重组遗传算法,判断种群全局最优值是否15代未发生变化来决定是否对粒子群进行随机重组过程;步骤5:对粒子群进行这次迭代,其中粒子数为par_num个,当前粒子为第i个;步骤6:根据公式(4)更新粒子的速度Vi,根据公式(5)更新粒子的位置Xi;Vi+1=Wi·Vi+c1·rand·pi-Xi+c2·rand·pg-Xi(4)Xi+1=XiVi+1(5)其中,pi是第i个粒子迄今为止搜索到的最优位置,称为个体极值;pg是整个种群迄今为止搜索到的最优位置,为全局极值;W是惯性权值,c1,c2是加速因子,rand是(0,1)之间的随机数;采用变异遗传算法,迭代次数iter达到总迭代次数max_iter的30%后,如果满足一个随机概率,则随机产生行号j和序列号k,令矩阵中对应位置xjk=1;步骤7:填充初始点,选中要连接的目标点,将粒子在矩阵中对应的位置令为1;步骤8:去除无意义点,除去由初始点构成的多边形外围的点和在障碍中生成的点;步骤9:计算点与点的距离;步骤10:利用贪心策略的prime算法,构造最小生成树;步骤11:根据适应度函数式,计算粒子k的适应度值fitnessi;fitnessi表示第i个粒子的适应度,该适应度表示由p条变构成的斯坦纳树所有边的长度总和,lk代表第k条边的长度;步骤12:对每个粒子Xi,比较它目前位置和它经历过的最好位置pi,若目前位置更好,则更新pi;比较它目前位置和种群中的最好位置pg,若目前位置更好,则更新pg;步骤13:判断当前代是否结束,如没有,返回步骤5进行下一个粒子的更新操作;若结束,记录当前代得到的最优解,判断是否到达最后一次迭代,即iter==max_iter,若是,进行输出最优解;否则,转入步骤2进行下一轮迭代。

全文数据:一种VLSI多端点线网绕障碍的布线方法技术领域[0001]本发明涉及一种VLSI多端点线网绕障碍的布线方法。背景技术[0002]随着集成电路规模不断增加,集成度不断提高,芯片特征尺寸不断减小,势不可挡的集成电路发展趋势,导致片上互连线长度越来越长,分布越来越密集,占用面积越来越大,布线工作越来越复杂。以上诸多因素似的互连线带来的时延占整个芯片时延的60%以上,对芯片性能产生严重影响。互连线效应成为集成电路性能的瓶颈,高效精准的布线是提尚电路性能的关键。[0003]而在实际布线过程中,由于宏模块、知识产权(IP模块以及预布线等都将成为障碍,然而到目前为止,人们的研究多集中于无障碍的情况,相比之下,对于带障碍的最小矩形斯坦纳树MinimumRectangularSteinerTree,MRST方法的研究还相对较少,有必要进入深入的研究。针对布线的实际应用,考虑障碍情况进行斯坦纳树构造方法的研究是布线中的关键问题之一,具有很大的实际意义。发明内容[0004]有鉴于此,本发明的目的在于提供一种VLSI多端点线网绕障碍的布线方法,用以解决原始粒子群算法容易陷入局部最优,并且在中后期容易陷入停滞不更新的缺陷。[0005]为实现上述目的,本发明采用如下技术方案:[0006]—种VLSI多端点线网绕障碍的布线方法,其特征在于:包括以下步骤:[0007]步骤Sl:读取障碍信息;[0008]步骤S2:根据障碍信息,利用matlab绘制障碍框;[0009]步骤S3:采用改进粒子群算法构建斯坦纳树,并得到最优解;[0010]步骤S4:根据最优解对该解表示的斯坦纳树树进行布线,并记录布线过程;[0011]步骤S5:根据布线过程记录,对在布线过程中重复布线部分进行修正,去除生成树中重复了两次到三次的布线长度,并计算通孔数,得到最优布线。[0012]进一步的,所述障碍信息包括初始坐标点和初始障碍点[0013]进一步的,所述步骤S3具体为:[00M]步骤S31:根据初始坐标点数和初始障碍点数计算最大的迭代次数和待生成的种群粒子数;[0015]步骤S32:混纯生成初始粒子群,其中一半数量的粒子采用randint函数随机生成,另外一半数量的粒子通过将解空间划分生成,共产生par_num个粒子,其中i个粒子对应的位置Xi和速度Vi;[0016]步骤S33:采用迭代算法计算最优解。[0017]进一步的,所述步骤S33具体为:[0018]步骤1:开始迭代算法,从第一代到第maX_iter代,当前代为第iter代;[0019]步骤2:计算惯性权值;根据粒子k的适应度fitnessi在种群中的排序randk_ixk和当前迭代次数iter,采用的是线性递增策略与对粒子进行针对优化的策略结合计算粒子的惯性权值;线性递增策略〇.2+0.5*itermax_iter有助于保证粒子群的整体收敛;对粒子进行针对优化〇.6*rank_ixkpar_num有助于帮助每个粒子找到适合自己的惯性权值,使得较优粒子在附近寻找,较劣粒子在更大范围搜索;根据公式(1计算这次迭代每个粒子的惯性权值Wi:[0021]步骤3:计算加速系数,对^采用的是线性权值递减策略进行更新,即公式2,根据cl与c2之和在4以内有利于收敛,将:2用公式⑶更新;[0024]步骤4:采用重组遗传算法,判断种群全局最优值是否15代未发生变化来决定是否对粒子群进行随机重组过程;[0025]步骤5:对粒子群进行这次迭代,其中粒子数为par_nUm个,当前粒子为第i个;[0026]步骤6:根据公式⑷更新粒子的速度V1,根据公式⑸更新粒子的位置X1;[0029]其中,Pl是第i个粒子迄今为止搜索到的最优位置称为个体极值;Pg是整个种群迄今为止搜索到的最优位置为全局极值;W是惯性权值,C1,,C2是加速因子,rand是0,1之间的随机数;[0030]步骤S336:采用变异遗传算法,迭代次数iter达到总迭代次数maxjter的30%后,如果满足一个随机概率,则随机产生行号和序列号k,令粒子Xim^k=I;[0031]步骤7:填充初始点,选中要连接的目标点,将粒子在矩阵中对应的位置令为1;[0032]步骤8:去除无意义点,除去由初始点构成的多边形外围的点和在障碍中生成的占.[0033]步骤9:计算点与点的距离;在计算距离时,如果端点间没有障碍,[0034]则将以两点为矩形的对角点,距离为该矩形周长的一半;如果端[0035]点间连线一定有经过障碍物,判断怎么绕障碍使得距离最短。[0036]步骤10:利用贪心策略的prime算法,构造最小生成树;[0037]步骤11:根据适应度函数式计算粒子的适应度值fitness;fitneSSl表示第i个粒子的适应度,该适应度表示由p条变构成的斯坦纳树所有边的长度总和,Ik代表第k条边的长度;[0038]步骤12:对每个粒子X1,比较它目前位置和它经历过的最好位置Pl,若目前位置更好,则更新P1;比较它目前位置和种群中的最好位置口8,若目前位置更好,则更新Pg;[0039]步骤13:判断当前代是否结束,如没有,返回步骤5进行下一个粒子的更新操作;若结束,记录当前代得到的最优解,判断是否到达最后一次迭代,即itermax_iter,若是,进行输出最优解;否则,转入步骤2进行下一轮迭代。[0040]本发明与现有技术相比具有以下有益效果:[0041]1.本发明提出了一种具有均匀收敛,防止早熟、快速寻优的改进PSO算法,适用于超大规模集成电路多端点线网绕障碍布线的方法;[0042]2.本发明创造增加绕障碍布线方法,在实际应用中,具有更好的可行性、合理性和优良性。[0043]3.本发明在原始粒子群上引入惯性权值,该惯性权值既考虑了种群总体迭代过程的特点,又考虑到了种群中每个粒子的特点,惯性权值的改进思想对收敛速度及寻优能力有很大的改进,并具有极强的跳出局部极值能力。[0044]4.本发明在综合粒子群算法在后期的停滞更新特点与遗传算法的可塑造性,结合了遗传算法的两种策略进行迭代,这种改进思路极大的提高了算法的后期寻优能力。[0045]5.本发明提出的结合遗传算法的粒子群优化算法,该算法对目前电路中绝大部分线网都能精准快速的找到最优解,而对于电路中小部分端点极多的线网,也能在一定时限内找到十分接近最优解的近似最优布线解。附图说明[0046]图1是本发明方法流程图;[0047]图2是本发明一实施例中初始点坐标文档图;[0048]图3是本发明一实施例中障碍点坐标文档图;[0049]图4是本发明一实施例中绘制初始点和障碍框图;[0050]图5是本发明一实施例中重复布线策略的适用情形图;[0051]图6是本发明一实施例中采用策略的布线方案图;[0052]图7是本发明一实施例中不采用策略的布线方案图;[0053]图8是本发明一实施例中减少拐点策略的适用情形图;[0054]图9是本发明一实施例中采用策略的布线方案图;[0055]图10是本发明一实施例中不采用策略的布线方案图;[0056]图11是本发明一实施例中全局布线实验效果图。具体实施方式[0057]下面结合附图及实施例对本发明做进一步说明。[0058]请参照图1,本发明提供一种VLSI多端点线网绕障碍的布线方法,其特征在于:包括以下步骤:[0059]步骤S1:读取障碍信息;共POint_num个初始坐标点,和共bIOCk_num个初始障碍占.[0060]步骤S2:根据障碍信息,利用matlab绘制障碍框;[0061]步骤S3:采用改进粒子群算法构建斯坦纳树,并得到最优解;[0062]步骤S4:根据最优解对该解表示的斯坦纳树树进行布线,并记录布线过程;在布线过程中,尽可能重复利用布线,记录布线过程,例如图5所示,两红色*号为待连接的两端点,蓝线为已经布的线,现在连接两端点采取的是图6而不是图7;尽可能减少拐点数,在绕障碍时尽可能不贴合障碍边进行布线,如图8所示,两红色*号为待连接的两端点,绿色填充区域为障碍块,现在连接两端点采取的是图9而不是图10;[0063]步骤S5:根据布线过程记录,对在布线过程中重复布线部分进行修正,去除生成树中重复了两次到三次的布线长度,并计算通孔数,得到最优布线。[0064]进一步的,所述障碍信息包括初始坐标点和初始障碍点[0065]进一步的,所述步骤S3具体为:[0066]步骤S31:根据初始坐标点数和初始障碍点数计算最大的迭代次数和待生成的种群粒子数;[0067]步骤S32:混纯生成初始粒子群,其中一半数量的粒子采用randint函数随机生成,另外一半数量的粒子通过将解空间划分生成,共产生par_num个粒子,其中i个粒子对应的位置Xi和速度Vi;[0068]步骤S33:采用迭代算法计算最优解。[0069]进一步的,所述步骤S33具体为:[0070]步骤1:开始迭代算法,从第一代到第maX_iter代,当前代为第iter代;[0071]步骤2:计算惯性权值;根据粒子1^的适应度;^1:11688;[在种群中的排序抑1111^_1110和当前迭代次数iter,采用的是线性递增策略与对粒子进行针对优化的策略结合计算粒子的惯性权值;线性递增策略0.2+0.5*itermax_iter有助于保证粒子群的整体收敛;对粒子进行针对优化0.6*rank_ixkpar_num有助于帮助每个粒子找到适合自己的惯性权值,使得较优粒子在附近寻找,较劣粒子在更大范围搜索;根据公式(1计算这次迭代每个粒子的惯性权值Wi:[0073]步骤3:计算加速系数,对^采用的是线性权值递减策略进行更新,即公式2,根据cl与c2之和在4以内有利于收敛,将:2用公式⑶更新;[0076]步骤4:采用重组遗传算法,判断种群全局最优值是否15代未发生变化来决定是否对粒子群进行随机重组过程;[0077]步骤5:对粒子群进行这次迭代,其中粒子数为par_num个,当前粒子为第i个;[0078]步骤6:根据公式⑷更新粒子的速度V1,根据公式⑸更新粒子的位置X1;[0081]其中,Pl是第i个粒子迄今为止搜索到的最优位置称为个体极值;Pg是整个种群迄今为止搜索到的最优位置为全局极值;W是惯性权值,C1,,C2是加速因子,rand是0,1之间的随机数;[0082]步骤S336:采用变异遗传算法,迭代次数iter达到总迭代次数max_iter的30%后,如果满足一个随机概率,则随机产生行号和序列号k,令粒子Xim^k=I;[0083]步骤7:填充初始点,选中要连接的目标点,将粒子在矩阵中对应的位置令为1;[0084]步骤8:去除无意义点,除去由初始点构成的多边形外围的点和在障碍中生成的占.[0085]步骤9:计算点与点的距离;在计算距离时,如果端点间没有障碍,[0086]则将以两点为矩形的对角点,距离为该矩形周长的一半;如果端[0087]点间连线一定有经过障碍物,判断怎么绕障碍使得距离最短。[0088]步骤10:利用贪心策略的prime算法,构造最小生成树;[0089]步骤11:根据适应度函数式计算粒子的适应度值fitness;,fitneSSl表示第i个粒子的适应度,该适应度表示由p条变构成的斯坦纳树所有边的长度总和,Ik代表第k条边的长度;[0090]步骤12:对每个粒子X1,比较它目前位置和它经历过的最好位置P1,若目前位置更好,则更新P1;比较它目前位置和种群中的最好位置口8,若目前位置更好,则更新Pg;[0091]步骤13:判断当前代是否结束,如没有,返回步骤5进行下一个粒子的更新操作;若结束,记录当前代得到的最优解,判断是否到达最后一次迭代,即iter==max_iter,若是,进行输出最优解;否则,转入步骤2进行下一轮迭代。[0092]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

权利要求:1.一种VLSI多端点线网绕障碍的布线方法,其特征在于:包括以下步骤:步骤SI:读取障碍信息;步骤S2:根据障碍信息,利用matlab绘制障碍框;步骤S3:采用改进粒子群算法构建斯坦纳树,并得到最优解;步骤S4:根据最优解对该解表示的斯坦纳树树进行布线,并记录布线过程;步骤S5:根据布线过程记录,对在布线过程中重复布线部分进行修正,去除生成树中重复了两次到三次的布线长度,并计算通孔数,得到最优布线。2.根据权利要求1所述的一种VLSI多端点线网绕障碍的布线方法,其特征在于:所述障碍信息包括初始坐标点数和初始障碍点。3.根据权利要求2所述的一种VLSI多端点线网绕障碍的布线方法,其特征在于:所述步骤S3具体为:步骤S31:根据初始坐标点和初始障碍点数计算最大的迭代次数和待生成的种群粒子数;步骤S32:混纯生成初始粒子群,其中一半数量的粒子采用randint函数随机生成,另外一半数量的粒子通过将解空间划分生成,共产生par_num个粒子,其中i个粒子对应的位置Xi和速度Vi;步骤S33:采用迭代算法计算最优解。4.根据权利要求3所述的一种VLSI多端点线网绕障碍的布线方法,其特征在于:所述步骤S33具体为:步骤1:开始迭代算法,从第一代到第max_iter代,当前代为第iter代;步骤2:计算惯性权值;根据粒子k的适应度fitnessi在种群中的排序randk_ixk和当前迭代次数iter,采用的是线性递增策略与对粒子进行针对优化的策略结合计算粒子的惯性权值;线性递增策略〇.2+0.5*itermax_iter有助于保证粒子群的整体收敛;对粒子进行针对优化〇.6*rank_ix⑹par_num有助于帮助每个粒子找到适合自己的惯性权值,使得较优粒子在附近寻找,较劣粒子在更大范围搜索;根据公式(1计算这次迭代每个粒子的惯性权值Wi:Wrankixk=0.2+0.5*ΐtermax_iter+0.6*rank_ixkpar_num1步骤3:计算加速系数,对^采用的是线性权值递减策略进行更新,即公式⑵,根据cl与c2之和在4以内有利于收敛,将C2用公式⑶更新;ci=2.5-0.8*itermax_iter2C2=4_cl3步骤4:采用重组遗传算法,判断种群全局最优值是否15代未发生变化来决定是否对粒子群进行随机重组过程;步骤5:对粒子群进行这次迭代,其中粒子数为par_num个,当前粒子为第i个;步骤6:根据公式⑷更新粒子的速度V1,根据公式5更新粒子的位置X1;Vi+i=ffi·Vi+ci·rand·pi_Xi+C2·rand·pg~Xi4Xi+i=XiVi+i5其中,P1是第i个粒子迄今为止搜索到的最优位置称为个体极值;pg是整个种群迄今为止搜索到的最优位置为全局极值;W是惯性权值,C1,,C2是加速因子,rand是0,1之间的随机数;步骤S336:采用变异遗传算法,迭代次数iter达到总迭代次数max_iter的30%后,如果满足一个随机概率,则随机产生行号和序列号k,令粒子步骤7:填充初始点,选中要连接的目标点,将粒子在矩阵中对应的位置令为1;步骤8:去除无意义点,除去由初始点构成的多边形外围的点和在障碍中生成的点;步骤9:计算点与点的距离;步骤10:利用贪心策略的prime算法,构造最小生成树;步骤11:根据适应度函数式计算粒子的适应度值fitness;fitnessi,.:表示第i个粒子的适应度,该适应度表示由P条变构成的斯坦纳树所有边的长度总和,Ik代表第k条边的长度;步骤12:对每个粒子X1,比较它目前位置和它经历过的最好位置Pl,若目前位置更好,则更新P1;比较它目前位置和种群中的最好位置?8,若目前位置更好,则更新Pg;步骤13:判断当前代是否结束,如没有,返回步骤5进行下一个粒子的更新操作;若结束,记录当前代得到的最优解,判断是否到达最后一次迭代,即iter==max_iter,若是,进行输出最优解;否则,转入步骤2进行下一轮迭代。

百度查询: 福州大学 一种VLSI多端点线网绕障碍的布线方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。