基于文化基因的八角形斯坦纳树构建方法与流程

文档序号:18215866发布日期:2019-07-19 22:38阅读:231来源:国知局
基于文化基因的八角形斯坦纳树构建方法与流程
本发明涉及集成电路计算机辅助设计
技术领域
,特别是一种基于文化基因的八角形斯坦纳树构建方法。
背景技术
:随着集成电路技术的迅猛发展与成熟,其设计尺寸进入了超深亚纳米时代,可以在一个芯片集成数亿的晶体管,甚至更多,使得芯片具有微型化、高性能、高集成等优点。同时,随着集成电路的集成度和设计复杂性的提高,集成电路设计的难题也随着而来,即使是使用现有的计算机辅助设计和电子设计自动化工具都很难应付。在整个超大规模集成电路物理设计过程被分为以下几个步骤:电路划分、布图规划、布局和布线。随着设置尺寸的缩小,芯片的互连变得更加复杂,从而布线成为了整个物理设计中极其重要的一个环节。布线问题通常分为两个部分:总体布线和详细布线。在总体布线阶段,整个设计通常建模为二维网格图,然后从网格图中确定每个线网的总体路线,之后,通过层分配技术应用于多层设计。在详细布线阶段,详细布线器通过总体布线的结果,将线路分配到确切的布线轨道上去。总体布线的结果将决定后面详细布线的质量,从而影响到整个物理设计的结果。因此,总体布线是物理设计周期中非常关键的阶段。一般的总体布线算法都是以直角结构为模型基础,其布线的方式只能是水平和垂直,在一般情况下,每一层只有一种布线方式,不同层之间通过通孔连接,这样限制了研究人员优化布线可能性。因此,为了改变传统的直角布线结构,有些研究人员开始尝试以八角形结构为基础模型进行布线,并实现了一些资源的优化,比如线长的缩短,通孔数的减少,这样提升了实现芯片整体性能。但是绝大数针对八角形布线结构的研究是:八角形结构斯坦纳树的构造。这样存在的问题是现有八角形斯坦纳树的构造算法大多基于贪心策略,易陷入局部极值,无法得到最优解,所以并不能有效地发挥八角形结构所带来的优势。技术实现要素:有鉴于此,本发明的目的是提出一种基于文化基因的八角形斯坦纳树构建方法,以优化拓扑、减少布线线长为目标,最终可得到较好的斯坦纳树拓扑结构。本发明采用以下方案实现:一种基于文化基因的八角形斯坦纳树构建方法,具体包括以下步骤:步骤s1:采用prim算法预处理种群,产生初始种群;其中所述种种群参数的设置具体为:将所有边长度之和的倒数作为个体的适应度函数值、将个体交叉与变异的概率作为个体的速度、将走线模式选择与拐点选择作为个体的速度。步骤s2:采用混合优化遗传算子,分别进行基于最大并集的交叉操作和双重变异操作;其中,将w设置为基于最大并集的交叉操作中的权重因子,将m1、m2设置为双重变异操作中的权重因子;步骤s3:进行局部搜索,其中局部搜索的领域是个体所有边的所有走线模式,最终得到局部搜索领域中最优的个体,更新种群;步骤s4:计算适应度函数值;步骤s5:选择种群,合并父代和子代个体,将所有个体的适应度函数值按照大小排序,选择与种群规模大小相同的优秀个体组成新种群;步骤s6:判断是否满足终止条件,若满足,则结束,得到最优种群,否则返回步骤s2。较佳的,初始的种群一般是随机产生的,也可以利用已知问题所含的信息,人为选取一些比较优质的种群个体加入。由于在最初阶段使用比较的种群,能加速算法的收敛,并能在一定程度上辅助算法优化拓扑结构,进一步提升算法效率。因此,在本发明中,我们使用prim算法初始化种群,得到一个较优的种群,目的是为了避免因引脚数过多而无法收敛的情况。较佳的,文化基因算法是一种基于种群的全局搜索和基于个体的局部启发式搜索的结合体的算法,这种局部的启发式搜索与全局寻优搜索的混合搜索机制在进化效率上显然要比单纯在普通个体间搜索的高得多。在本发明中,使用是混合优化遗传算子,分别在使用基于最大并集的交叉操作和双重变异操作。进一步地,步骤s2中,所述双重变异操作的第一种是拐点的变异,第二种是引脚选取方式的变异。进一步地,步骤s2中,所述基于最大并集的交叉操作是选择当前最优的个体和迭代过程中最优的个体进行交叉;初始阶段是得到两个个体的交集,让个体能继承,第二个阶段是将剩下未连接到斯坦纳树上的引脚,随机选择原本两个个体中任意的一种连接方式连接,最终得到交叉操作的结果。例如个体a的连接方式是1-2,2-3,个体b的连接方式是1-2,1-3,交叉初始阶段先得到1-2,然后在第二阶段,在2-3和1-3两种方式中,随机取一种连接方式,得到个体c。较佳的,局部搜索的目的是得到局部区域内最优秀的个体。若不采用局部搜索算法,可能会导致算法的局部搜索能力变差,无法得到最优或者较优的结果。在本发明中,局部搜索的领域是个体所有边的所有走线模式,最终得到局部搜索领域中最优的个体,更新种群。进一步地,步骤s4中,适应度函数值f(ni)采用下式计算:式中,l(ni)是目标函数,代表整棵斯坦纳树拓扑结构的长度,目标函数值越小,表示拓扑结构越优秀;而适应度函数值的大小往往代表着个体的优劣,适应度函数值越大,代表个体越优秀;因此,在基于文化基因的八角形斯坦纳树构建方法中,个体的适应度函数值是一个非零常数和目标函数值之和的倒数;ni代表第i个线网;ej属于八角形斯坦纳树的一条边;c是一个非零常数;n表示需要连接的八角形斯坦纳树的顶点数。为了加速文化基因算法的收敛,提高基于文化基因的八角形斯坦纳树构建方法的效率,设置了w、m1、m2三个权重因子,分别用于基于最大并集的交叉操作和双重变异操作中。由于权重因子越大,种群的全局搜索能力越强;权重因子越小,种群的收敛速度越快,因此令设置的权重因子的大小随着迭代次数的增加而线性递减。其中,三个权重因子w、m1、m2采用下式计算:式中,total_eval代表的是文化基因算法最大的迭代次数;w_start、w_end、m1_start、m2_start、m1_end、m2_end是经实验后设定的系数。与现有技术相比,本发明有以下有益效果:1、本发明使用prim算法预处理取得初始种群,使其避免出现因引脚数量过多造成的无法收敛的情况。2、本发明通过修改编码方式和相关操作,使得其可以处理八角形斯坦纳树构建这一离散问题。3、本发明设计了三个权重因子,使其能在全局范围内,快速收敛并全局寻优。本发明能获得较好拓扑的八角形斯坦纳树拓扑。附图说明图1为本发明实施例的方法流程示意图。图2为本发明实施例的拐点变异图。图3为本发明实施例的引脚变异图。图4为本发明实施例的基于最大并集的交叉操作示意图。具体实施方式下面结合附图及实施例对本发明做进一步说明。应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
技术领域
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。如图1所示,本实施例提供了一种基于文化基因的八角形斯坦纳树构建方法,初始阶段,使用prim算法预处理种群,得到初始种群,目的是为了避免因引脚数过多而无法收敛的情况。主阶段,在新的文化基因编码的基础上,通过双重变异操作和基于最大并集的交叉操作后,再计算适应度函数值,若当前迭代次数达到迭代阈值或者迭代结果要求精度邻域,则算法终止。具体包括以下步骤:步骤s1:采用prim算法预处理种群,产生初始种群;其中所述种群参数的设置具体为:将所有边长度之和的倒数作为个体的适应度函数值、将个体交叉与变异的概率作为个体的速度、将走线模式选择与拐点选择作为个体的速度。步骤s2:采用混合优化遗传算子,分别进行基于最大并集的交叉操作和双重变异操作;其中,将w设置为基于最大并集的交叉操作中的权重因子,将m1、m2设置为双重变异操作中的权重因子;步骤s3:进行局部搜索,其中局部搜索的领域是个体所有边的所有走线模式,最终得到局部搜索领域中最优的个体,更新种群;步骤s4:计算适应度函数值;步骤s5:选择种群,合并父代和子代个体,将所有个体的适应度函数值按照大小排序,选择与种群规模大小相同的优秀个体组成新种群;步骤s6:判断是否满足终止条件,若满足,则结束,得到最优种群,否则返回步骤s2。较佳的,初始的种群一般是随机产生的,也可以利用已知问题所含的信息,人为选取一些比较优质的种群个体加入。由于在最初阶段使用比较的种群,能加速算法的收敛,并能在一定程度上辅助算法优化拓扑结构,进一步提升算法效率。因此,在本发明中,我们使用prim算法初始化种群,得到一个较优的种群,目的是为了避免因引脚数过多而无法收敛的情况。较佳的,文化基因算法是一种基于种群的全局搜索和基于个体的局部启发式搜索的结合体的算法,这种局部的启发式搜索与全局寻优搜索的混合搜索机制在进化效率上显然要比单纯在普通个体间搜索的高得多。在本发明中,使用是混合优化遗传算子,分别在使用基于最大并集的交叉操作和双重变异操作。采用双重变异操作为了降低造成局部收敛的可能性,避免种群选择的局限性。进一步地,步骤s2中,所述双重变异操作的第一种是拐点的变异,第二种是引脚选取方式的变异。如图2所示。从四个走线模式种随机选择一种走线模式。线网1的拐点发生了变异,从而得到了更优的个体。第二种是引脚选取方式的变异,如图3所示。引脚的变异是多点变异,改变了八角形斯坦纳树的拓扑结构。通过不同的拓扑结构来寻优,让基于文化基因的八角形斯坦纳树构建方法有较强的搜索能力,使其得到更好的结果。将线网2上的引脚1和引脚3的连接变异成为引脚1和引脚2的连接,得到了不同的拓扑结构。进一步地,用基于最大并集的交叉操作为了加快算法的收敛速度,步骤s2中,所述基于最大并集的交叉操作是选择当前最优的个体和迭代过程中最优的个体进行交叉;初始阶段是得到两个个体的交集,让个体能继承,第二个阶段是将剩下未连接到斯坦纳树上的引脚,随机选择原本两个个体中任意的一种连接方式连接起来,最终得到交叉操作的结果。如图4所示。较佳的,局部搜索的目的是得到局部区域内最优秀的个体。若不采用局部搜索算法,可能会导致算法的局部搜索能力变差,无法得到最优或者较优的结果。在本发明中,局部搜索的领域是个体所有边的所有走线模式,最终得到局部搜索领域中最优的个体,更新种群。其中,局部搜索的算法如下:进一步地,步骤s4中,适应度函数值f(ni)采用下式计算:式中,l(ni)是目标函数,代表整棵斯坦纳树拓扑结构的长度,目标函数值越小,表示拓扑结构越优秀;而适应度函数值的大小往往代表着个体的优劣,适应度函数值越大,代表个体越优秀;因此,在八角形斯坦纳树构建方法中,个体的适应度函数值是一个非零常数和目标函数值之和的倒数;ni代表第i个线网;ej属于八角形斯坦纳树的一条边;c是一个非零常数;n表示需要连接的八角形斯坦纳树的顶点数。为了加速文化基因算法的收敛,提高基于文化基因的八角形斯坦纳树构建方法的效率,设置了w、m1、m2三个权重因子,分别用于基于最大并集的交叉操作和双重变异操作中。由于权重因子越大,种群的全局搜索能力越强;权重因子越小,种群的收敛速度越快,因此设置的权重因子的大小随着迭代次数的增加而线性递减。式中,total_eval代表的是文化基因算法最大的迭代次数;w_start、w_end、m1_start、m2_start、m1_end、m2_end是经实验后设定的系数。本发明的算法采用c++编写,并在cpu为3.20ghz和ram为8.00gb的windows10环境执行。特别的,在本实施例中,为了验证预处理策略的有效性。将未预处理的和预处理的方法在相同的运行环境下,通过10组不同的测试数据,在线长方面优化效果的对比。如下表所示,随着引脚数量的增加,使用prim算法预处理得到的结果优化率更高。对于这10组数据,使用了预处理方案的结果比未使用预处理的结果平均优化了50.74%的布线线长。测试用例引脚数使用预处理未使用预处理减少率(%)1817107169181.10%2919273180406.40%31020955196956.01%420480603225732.88%5501278844858062.01%6701807525732968.28%71002151207008667.42%841092626414331884.53%9500124418115633187.44%101000257242022216091.36%平均---------50.74%为了验证基于文化基因的八角形斯坦纳树构建方法的优越性,将本实施例跟最近几年发表应用于布线的方法进行对比,以九个基准电路([ispd1998globalroutingbenchmarksuite.(1998)[online].available:http://cseweb.ucsd.edu/kastner/research/labyrinth/])作为测试实例用以验证本实施例方法的优越性。结果如下表所示。以总线长优化目标,本实施例方法相对文献1[kundus,roys,mukherjees.k-nearestneighbour(knn)approachusingsatbasedtechniqueforrectilinearsteinertreeconstruction[c].inproc.embed.comput.syst.des.,2017,pp.1-5.],文献2[kundus,roys,mukherjees.satbasedrectilinearsteinertreeconstruction[c].in20162ndinternationalconferenceonappliedandtheoreticalcomputingandcommunicationtechnology(icatcct),july2016,pp.623–627.],在每个测试用例在线长方面都有较大的优化,分别优化了11.52%和10.24%的布线线长。可见本实施例的方法对八角形斯坦纳树构建十分有效。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1