基于最优适应启发式序列与组织进化的集成电路布图方法技术

技术编号:10068830 阅读:210 留言:0更新日期:2014-05-23 11:50
本发明专利技术公开一直基于最优适应启发式序列与组织进化的集成电路布图方法,属于物理设计布图规划技术领域。本发明专利技术将最优适应启发式序列作为编码和解码,与组织进化算法结合,用于求解超大规模集成电路布图方法,其特征在于:首先初始化每个个体,然后采用最优适应启发式序列对每个个体进行编码和解码,最后用设计的分裂算子、吞并算子、培训算子对组织进行优化,验证结果表明,本发明专利技术在评定求解超大规模集成电路布图规划问题方法效用的一个重要方面:求最优的芯片的面积利用率,有优势,是一种有效的求解超大规模集成电路布图规划问题的方法,还能扩展到求解多目标的超大规模集成电路布图规划问题。

【技术实现步骤摘要】
基于最优适应启发式序列与组织进化的集成电路布图方法
本专利技术涉及物理设计布图规划的一种方法,具体涉及一种基于最优适应启发式序列(BestFitHeuristicSequence,BFHS)与组织进化(OrganizationalEvolutionaryAlgorithms,OEA)的集成电路布图方法。
技术介绍
布图规划(floorplanning)是超大规模集成电路(verylargescaleintegration,VLSI)物理设计的关键环节,其结果对最终芯片的尺寸和全局互连结构有着重要影响。随着技术的日新月异,芯片设计的复杂度飞速增长,对芯片的尺寸和内部互连性能的要求也越来越高,这使得布图规划的作用尤为重要。针对布图规划问题,已有许多学者应用不同的数学工具提出了多种算法,包括最小分割算法、分级设计方法、解析型算法及随机优化算法等。随机优化算法的基本操作是对每次产生的新解进行评估,保留较优的解。由于它能够针对问题的特点和复杂性进行特定操作,设计灵活,可保证解的最优性,因而受到广泛的关注。随机优化算法的核心是设计布图表示方法,即设计一种表示布局结果的编码。已有的布图表示方法可分为两大类:二分布图表示(slicing)和非二分布图表示(non-slicing)。二分布图表示通过使用垂直或水平的划分线将布图区域递归二划分为若干子区域,每一子区域有且仅有一个模块。代表方法有二叉树表示、规范波兰表达式方法、规范后缀表达式方法等。这是最简单的一类方法、它的解空间较小,因而求解速度较快。但由于大部分的布图问题都不具有二划分结构,使得其适用范围较小。与此相比,非二分布图表示更具有一般性,也更加灵活,可获得更高的面积利用率和更优的互连性能,因此目前的研究均集中在非二分布图表示方法的设计上。代表方法有序列对、有界分割网格、O-tree、B*-tree、角模块序列、传递闭包图、双生二元序列、角序列等。纵观这些方法都是单向布图方法,在布图过程中,仅仅面对模块序列进行布局,很少利用已布模块的反馈信息对将要放置的模块进行有效的启发式指导,这使得布图效率不高,计算时间随布图规模成指数增长。它们对软矩形模块的处理也很粗糙,只是任意选用几个备选模块代替软矩形模块,然后按照硬模块的布图方法进行布局,这样做只是取了软矩形模块形状变化范围内的几个离散点,破坏了软矩形模块形状变化的任意性和连续性,与实际情况不相符。
技术实现思路
本专利技术的目的在于针对上述现有方法的不足,提出了一种基于最优适应启发式序列与组织进化的集成电路布图方法,本方法能够解决技术背景中存在的不足,从而得到最优解和最优面积利用率的布局结果。本专利技术的技术方案是这样实现的:基于最优适应启发式序列与组织进化的集成电路布图方法,其特征是:具体步骤如下:步骤101:开始基于最优适应启发式序列与组织进化的集成电路布图方法;步骤102:参数设定:最大进化代数T,初始个体数num,合法组织所允许的最大个体数nummax,模块的长宽比的变化范围[minh_w,maxh_w],最优个体的适应度COST,t为大于或等于0的整数,表示进化到第t代;步骤103:初始化每个个体,更新最优值COST,令t=0,采用随机生成的方法产生模块的放置顺序,模块的长宽比序列,芯片的初始化宽度,如果存在硬直线边界模块,则循环调用预处理算法对硬直线边界模块进行预处理;步骤104:循环调用基于最优适应启发式序列的算法对每个模块个体进行编码和解码;步骤105:使每个个体成为一个组织,将分裂算子作用在组织上,分裂算子根据下面条件:(orgp.num>nummax)or{(1<orgp.num≤nummax)and(U(0,1)<orgp.num/Nmember)}把一个组织orgp分裂成两个非空组织,其中num是一个合法组织中允许包含个体数目的最大值,U(0,1)是0到1之间的一个任意值,Nmember是所有组织中所有个体的总数,每个组织中的个体按适应度从大到小进行排列;步骤106:将吞并算子作用在两个组织上,随机选择两个组织orgp1和orgp2,如果COST(orgp1)<COST(orgp2),则orgp1吞并orgp2,否则orgp2吞并orgp1,其中对两个组织采用吞并算子的具体规则如下:假设组织orgp1吞并orgp2成一个新的组织orgc,这个新的组织由三部分组成:1)orgp1中的所有个体;2)由orgp1和orgp2根据下面公式生成orgp2.num/2个新的个体,membernew1:令0≤i≤orgp2.num/2,0≤j≤n,membernew1[i].b=orgp2.member[0].b3)随机生成orgp2.num/2个新个体,membernew2;步骤107:将培训算子作用在从组织选出的个体,被选出的个体称为该组织的代表,按照组织中个体的排列顺序,第一个未被培训过的个体被选为代表,若所有的个体都已经被培训过则选择第一个个体为代表;对培训后的个体进行最优启发式序列编码和解码,找出最优个体。其中对每个组织的代表个体进行培训的具体规则如下:对下面三步独立进行操作,每步执行5次;1)改变模块的放置顺序:对模块b[i](0≤i≤n),从b中选择另一个模块与其交换位置;2)改变模块的长宽比:对长宽比p[j](0≤j≤n),用[minh_w,maxh_w]中的任意值替换它;3)改变芯片的宽度:随机生成一个正实数代替W,每次改变后都可以得到一个新的个体,如果新的个体的COST小于选出的代表的COST,则用新的个体代替原来的个体,否则保留原有个体;培训完以后,将培训的个体标记为1,表示该个体已经培训过;步骤108:采用最优适应启发式序列对每个个体编码和解码,找出最优个体;步骤109:如果满足结束条件,即超过最大进化代数,则转向步骤110;否则,令t自加1,并转向步骤105;步骤110:输出布图结果;步骤111:结束基于最优适应启发式序列与组织进化的集成电路布图方法。所述的步骤103,包括如下步骤:步骤201:开始对硬直线边界模块预处理;步骤202:模块的序列为M={M0,M1,……,Mn-1},令i=0;步骤203:判断模块Mi是硬直线边界模块还是软矩形模块,如果是硬直线边界模块,转向步骤204;否则,转向步骤209;步骤204:当Mi是硬直线边界模块时,通过旋转模块操作,使得直线边界模块填补尽可能的软矩形模块,即模块的下边需要填补的模块最少k;步骤205:令m=1;步骤206:从软矩形模块中选择与缺失模块区面积之差的绝对值最小的软矩形模块Mj,并且Mj必须满足,Mj高为y=qy,宽x=area/y其中,area表示的是软矩形模块的面积,缺失模块区的宽为qx,高为qy,则minh_w≤y/x≤maxh_w;步骤207:令n=n-1,m=m+1;步骤208:如果m>k,转向步骤209;否则,转向步骤206;本文档来自技高网
...
基于最优适应启发式序列与组织进化的集成电路布图方法

【技术保护点】
一种基于最优适应启发式序列与组织进化的集成电路布图方法,其特征是:具体步骤如下:步骤101:开始基于最优适应启发式序列与组织进化的集成电路布图方法;步骤102:参数设定:最大进化代数T,初始个体数num,合法组织所允许的最大个体数nummax,模块的长宽比的变化范围[min h_w,max h_w],最优个体的适应度COST,t为大于或等于0的整数,表示进化到第t代;步骤103:初始化每个个体,更新最优值COST,令t=0,采用随机生成的方法产生模块的放置顺序,模块的长宽比序列,芯片的初始化宽度,如果存在硬直线边界模块,则循环调用预处理算法对硬直线边界模块进行预处理;步骤104:循环调用基于最优适应启发式序列的算法对每个模块个体进行编码和解码;步骤105:使每个个体成为一个组织,将分裂算子作用在组织上,分裂算子根据下面条件:(orgp.num>nummax)or{(1<orgp.num≤nummax)and(U(0,1)<orgp.num/Nmember)}把一个组织orgp分裂成两个非空组织,其中num是一个合法组织中允许包含个体数目的最大值,U(0,1)是0到1之间的一个任意值,Nmember是所有组织中所有个体的总数,每个组织中的个体按适应度从大到小进行排列;步骤106:将吞并算子作用在两个组织上,随机选择两个组织orgp1和orgp2,如果COST(orgp1)<COST(orgp2),则orgp1吞并orgp2,否则orgp2吞并orgp1,其中对两个组织采用吞并算子的具体规则如下:假设组织orgp1吞并orgp2成一个新的组织orgc,这个新的组织由三部分组成:1)orgp1中的所有个体;2)由orgp1和orgp2根据下面公式生成orgp2.num/2个新的个体,membernew1:令0≤i≤orgp2.num/2,0≤j≤n,membernew1[i].b=orgp2.member[0].bmembernew1[i].p[j]=orgp2.member[0].p[j]if(orgp1.member[0].p[j]=orgp2.member[i].p[j])=and(U(0,1)=0)orgp1.member[0].p[j]else]]>3)随机生成orgp2.num/2个新个体,membernew2;步骤107:将培训算子作用在从组织选出的个体,被选出的个体称为该组织的代表,按照组织中个体的排列顺序,第一个未被培训过的个体被选为代表,若所有的个体都已经被培训过则选择第一个个体为代表;对培训后的个体进行最优启发式序列编码和解码,找出最优个体。其中对每个组织的代表个体进行培训的具体规则如下:对下面三步独立进行操作,每步执行5次;1)改变模块的放置顺序:对模块b[i](0≤i≤n),从b中选择另一个模块与其交换位置;2)改变模块的长宽比:对长宽比p[j](0≤j≤n),用[min h_w,max h_w]中的任意值替换它;3)改变芯片的宽度:随机生成一个正实数代替W,每次改变后都可以得到一个新的个体,如果新的个体的COST小于选出的代表的COST,则用新的个体代替原来的个体,否则保留原有个体;培训完以后,将培训的个体标记为1,表示该个体已经培训过;步骤108:采用最优适应启发式序列对每个个体编码和解码,找出最优个体;步骤109:如果满足结束条件,即超过最大进化代数,则转向步骤110;否则,令t自加1,并转向步骤105;步骤110:输出布图结果;步骤111:结束基于最优适应启发式序列与组织进化的集成电路布图方法。...

【技术特征摘要】
1.一种基于最优适应启发式序列与组织进化的集成电路布图方法,其特征是:具体步骤如下:步骤101:开始基于最优适应启发式序列与组织进化的集成电路布图方法;步骤102:参数设定:最大进化代数T,初始个体数num,合法组织所允许的最大个体数nummax,模块的长宽比的变化范围[minh_w,maxh_w],最优个体的适应度COST,t为大于或等于0的整数,表示进化到第t代;步骤103:初始化每个个体,更新最优值COST,令t=0,采用随机生成的方法产生模块的放置顺序,模块的长宽比序列,芯片的初始化宽度,如果存在硬直线边界模块,则循环调用预处理算法对硬直线边界模块进行预处理;步骤104:循环调用基于最优适应启发式序列的算法对每个模块个体进行编码和解码;步骤105:使每个个体成为一个组织,将分裂算子作用在组织上,分裂算子根据下面条件:(orgp.num>nummax)or{(1<orgp.num≤nummax)and(U(0,1)<orgp.num/Nmember)}把一个组织orgp分裂成两个非空组织,其中orgp.num是orgp中的个体数目,nummax是一个合法组织中允许包含个体数目的最大值,U(0,1)是0到1之间的一个任意值,Nmember是所有组织中所有个体的总数,每个组织中的个体按适应度从大到小进行排列;步骤106:将吞并算子作用在两个组织上,随机选择两个组织orgp1和orgp2,如果COST(orgp1)<COST(orgp2),则orgp1吞并orgp2,否则orgp2吞并orgp1,其中COST(orgp1)和COST(orgp2)为orgp1和orgp2的适应度值,对两个组织采用吞并算子的具体规则如下:假设组织orgp1吞并orgp2成一个新的组织orgc,这个新的组织由三部分组成:1)orgp1中的所有个体;2)由orgp1和orgp2根据下面公式生成orgp2.num/2个新的个体,membernew1:令0≤i≤orgp2.num/2,0≤j≤n,membernew1[i].b=orgp2.member[0].b其中orgp2.num为orgp2中的个体数,membernew1[i].b和orgp2.member[0].b为对应成员中的模块排列信息,member[0]指对应组织中的第一个个体,member[i]指对应组织中的第i+1个个体,member[0].p[j]与member[i].p[j]指对应个体第j+1个模块的长宽比;3)随机生成orgp2.num/2个新个体,membernew2;步骤107:将培训算子作用在从组织选出的个体,被选出的个体称为该组织的代表,按照组织中个体的排列顺序,第一个未被培训过的个体被选为代表,若所有的个体都已经被培训过则选择第一个个体为代表;对培训后的个体进行最优启发式序列编码和解码,找出最优个体,其中对每个组织的代表个体进行培训的具体规则如下:对下面三步独立进行操作,每步执行5次;1)改变模块的放置顺序:对模块b[i](0≤i≤n),从b中选择另一个模块与其交换位置;2)改变模块的长宽比:对长宽比p[j](0≤j≤n),用[minh_w,maxh_w]中的任意值替换它;3)改变芯片的宽...

【专利技术属性】
技术研发人员:刘静焦李成朱园王景润马文萍马晶晶
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

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

1