基于区域中心负载均衡的自适应电路分割方法与流程

文档序号:25950243发布日期:2021-07-20 17:06阅读:222来源:国知局
基于区域中心负载均衡的自适应电路分割方法与流程

本发明涉及门级仿真的电路分割方法,特别是一种基于区域中心负载均衡的自适应电路分割方法。



背景技术:

目前,电路划分的启发式算法研究可以大致分为两类。一种是基于组迁移技术的划分算法,最经典的是fm算法。该算法对移动策略和数据结构进行了改进,可以对电路进行很好的细化分,但粗划分没有很好的方法且fm算法的全局搜索能力仍较差,易陷入局部最优。另一种是基于传统组合优化的划分方法,如基于遗传算法、模拟退火算法、蚁群算法等的划分方法,这类方法虽然具有较好的全局搜索能力,但因为其收敛速度慢、运算代价大而很少应用。

因此,如何设计一种能根据区域中心的个数自适应地调整电路分块个数,提高电路分割效果的基于区域中心负载均衡的自适应电路分割方法是业界亟待解决的技术问题。



技术实现要素:

针对现有技术中无法根据区域中心的个数自适应的调整电路分块个数的问题,本发明提出了一种基于区域中心负载均衡的自适应电路分割方法。

本发明的技术方案为,提出了一种基于区域中心负载均衡的自适应电路分割方法,包括:

步骤s1:将门电路转换为无向图;

步骤s2:将所述无向图中所有的顶点按其顶点的度依次排序,并将所述顶点的度低于第一预设度的顶点与相邻的顶点合并为一个顶点,并将合并顶点后的无向图作为当前无向图;

步骤s3:从所述当前无向图中所述顶点的度最大的顶点开始遍历,直至遍历过的所有顶点复杂度之和达到预设复杂度阈值,并将当前遍历过的顶点划分为一个分块;

步骤s4:将剩余未遍历的顶点所组成的无向图作为当前无向图返回步骤s3,直至所有顶点均被遍历完毕后,进入步骤s5;

步骤s5:判断各分块是否满足预设划分要求,若是则完成分割,若否则调整所述复杂度阈值,将步骤s2中合并顶点后的无向图作为当前无向图返回步骤s3进行重新划分,直至各分块满足预设划分要求。

进一步,所述将顶点的度低于第一预设度的顶点与相邻的顶点合为一个顶点包括:

步骤s21:将所述无向图中顶点的度低于第一预设度的顶点与其相邻的顶点合并;

步骤s22:将合并后顶点的度低于所述第一预设度、且复杂度低于预设复杂度范围的下限值的顶点与其相邻的顶点合并。

进一步,所述将无向图中所有的顶点按顶点的度依次排序包括:

确定所述无向图中顶点的度最大的顶点为初始顶点,并按照顶点的度从大至小依次排列。

进一步,所述顶点的度为与该顶点相连的边的个数。

进一步,在所述步骤s3之前还需要确定所述当前无向图的初始划分块数,所述初始划分块数根据预设复杂度范围的上限值与所述无向图的总复杂度确定,所述预设复杂度阈值根据所述无向图的总复杂度与所述初始划分块数确定。

进一步,所述将当前遍历过的顶点划分为一个分块之前还需要判断是否存在不可分割的顶点,所述不可分割的顶点包括:顶点的度低于第一预设度的顶点、以及顶点的度为2且一边被分割过的顶点;

若判定存在不可分割的顶点则将所述不可分割的顶点划分到与之相连的分块中。

进一步,所述第一预设度为2。

进一步,所述预设划分要求包括:

分割得到的所有分块均满足容忍范围,且任意两个分块之间的顶点复杂度之和的差不超过预设值,所述容忍范围为所述预设度范围的下限值减x、上限值加x所形成的取值范围。

进一步,所述调整复杂度阈值包括:确定当前划分块数为上一次划分块数加1,并根据所述当前划分块数与所述无向图的总复杂度确定为当前复杂度阈值。

进一步,所述遍历的算法为广度优先探索算法。

与现有技术相比,本发明至少具有如下有益效果:

通过将无向图中所有顶点按照顶点的度排序后划分,并以顶点的度最大的顶点为初始点进行遍历,根据划分的块数自适应的设定阈值,使其能够根据区域中心的个数自适应地调整电路分块地个数,使电路分割效果达到最佳。同时分割得到地各个分块中顶点的复杂度之和相近,在并行仿真时,可以使每块并行仿真占用的仿真资源以及消耗的仿真时间相近,便于分配运算资源。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请基于区域中心负载均衡的自适应电路分割方法的流程框图;

图2为本申请一个实施例的电路示意图;

图3为本申请该实施例合并化简后的示意图;

图4为本申请该实施例分割为2块后的示意图;

图5为本申请该实施例分割为3块后的示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。

下面结合附图以及实施例对本发明的原理及结构进行详细说明。

现有技术中电路划分的启发式算法研究大致可以分为两类,一种是基于组迁移技术的划分算法,以fm算法为例,该算法对移动策略和数据结构进行了改进,能够对电路进行很好的细分化,但粗划分没有很好的方法且fm算法的全局搜索能力较差,易陷入局部最优,不能针对区域中心进行很好的划分。另一种是基于传统组合优化的划分方法,如基于遗传算法、模拟退火算法、蚁群算法等的划分方法,这类方法虽然具有较好的全局搜索能力,但因为其收敛速度慢、运算代价大而很少应用。本发明的思路在于提出一种能够根据区域中心的个数自适应调整电路分块个数的算法,同时令各个分块之间的复杂度相对平均,从而避免现有技术中全局搜索能力较差或运算代价大的问题。

具体的,本发明提出的基于区域中心负载均衡的自适应电路分割方法包括

步骤s1:将门电路转换为无向图;

步骤s2:将所述无向图中所有的顶点按其顶点的度依次排序,并将所述顶点的度低于第一预设度的顶点与相邻的顶点合并为一个顶点,并将合并顶点后的无向图作为当前无向图;

步骤s3:从所述当前无向图中所述顶点的度最大的顶点开始遍历,直至遍历过的所有顶点复杂度之和达到预设复杂度阈值,并将当前遍历过的顶点划分为一个分块;

步骤s4:将剩余未遍历的顶点所组成的无向图作为当前无向图返回步骤s3,直至所有顶点均被遍历完毕后,进入步骤s5;

步骤s5:判断各分块是否满足预设划分要求,若是则完成分割,若否则调整所述复杂度阈值,将步骤s2中合并顶点后的无向图作为当前无向图返回步骤s3进行重新划分,直至各分块满足预设划分要求。

请参见图1,其为本申请基于区域中心负载均衡的自适应电路分割方法的流程图,在进行划分之前需要将门电路转换为无向图便于后续的合并以及分割,其一般由多个顶点以及连接相邻顶点的多条边组成,将门电路转换为对应的无向图后,其无向图中每个顶点相当于一个门电路,与之相连的边代表该门电路和与其相邻的门电路的连接关系。

将电路转换为无向图后,需要计算门电路的总复杂度n用以设定初始划分块数,门电路的总复杂度n为门电路中所有顶点的复杂度之和,如门电路中包括顶点1、顶点2、顶点3,其中顶点1的复杂度为2、顶点2的复杂度为3、顶点3的复杂度为1,其门电路中总复杂度n为顶点1的复杂度2与顶点2的复杂度3以及顶点3的复杂度1相加的和,其值为6。得出总复杂度n后根据预设复杂度范围可以得出初始划分块数,预设复杂度范围为划分时设定所需要得到的各分块的复杂度范围,如最终划分需要得到复杂度范围处于[6,8]的分块,就以该复杂度范围[6,8]为预设复杂度范围进行划分。这里预设复杂度范围为[a,b]其中b大于a,初始划分块数为门电路的总复杂度n与预设复杂度范围的上限值b相除得到的商n/b,如总复杂度n为30,预设复杂度范围的上限值b为6,初始划分块数即为30/6=5。其中,若是门电路的总复杂度n与预设复杂度范围的上限值相除得到的商为非整数,则将得出的结果向上取整为初始划分块数。

从预设复杂度范围可知,初始划分块数为所能满足划分的最小块数,因为无向图中每个顶点的复杂度(复杂度是一个门电路的属性,表征了其在仿真时所需要消耗的运算资源大小或者所需的仿真时间的长短,门电路的总复杂度是所有门复杂度之和)不同,可能存在分割时某一块复杂度较大从而出现超出复杂度范围的情况,故本发明以最小块数为初始块数进行划分,并判断划分后的划分效果,若满足划分要求则完成划分,若不满足划分要求则令划分块数加一继续划分,直至达到最大块数,以此方法可以从最小块数到最大块数之间不断划分,以得到满足划分要求的块数,从而得出最优划分方式。

设定初始划分块数后,将无向图中所有的顶点按照顶点的度依次排序并保存,本发明中确定无向图中顶点的度最大的顶点为初始顶点,并按照顶点的度从大到小依次排序,顶点的度代表与该顶点连接的边的个数,顶点的度越大,则表示与该门电路相连的边越多,其越靠近门电路的中心。从大到小依次排序保存后,得出的第一个顶点即为顶点的度最大的顶点,以该顶点进行遍历也即基于该部分区域中心进行遍历。在其他实施例中,也可按照顶点的度由小到大依次排序,其保存得到的顶点中最后面的顶点则为顶点的度最大的顶点,以该顶点进行遍历也能得到相同的划分效果。

将无向图中所有的顶点按其顶点的度依次排序保存后,需要对无向图进行合并化简,请参见图2,由于无向图中存在位于边缘处且顶点的度为1的顶点,在进行分割时若将其分割开,得到的分块中将只包含有一个该顶点,将不满足划分要求,故在对无向图进行划分之前需要先对其进行合并化简,具体的,其包括:

步骤s21:将所述无向图中顶点的度低于第一预设度的顶点与其相邻的顶点合并;

步骤s22:将合并后顶点的度低于所述第一预设度、且复杂度低于预设复杂度范围的下限值的顶点与其相邻的顶点合并。

其中第一预设度为2,低于第一预设度的顶点即为顶点的度为1的顶点,顶点的度为1则表示该门电路只有一条边连接,若将其分割开将会得到一个单独的门电路从而不满足划分要求,故需要将其合并到与之相邻的顶点中,将其与相邻的顶点合并后,通过与其相邻的顶点一起划分,从而避免了该顶点被单独划分成块的问题。同时,若合并后得到的顶点的度仍为1且其复杂度低于预设复杂度范围的下限值a,其与边缘的顶点相似,若其被单独划分出去,将不满足划分要求,该类顶点需要继续合并。如图2中的顶点7和顶点8,顶点8为顶点的度为1的顶点,需要与其相邻的顶点7合并,但合并后得到的顶点对应的顶点的度也变为1,且其复杂度为3(该顶点的复杂度为顶点7和顶点8的复杂度之和,顶点7的复杂度为2,顶点8的复杂度为1),若其低于复杂度范围的下限值a,在分割时若恰好将其断开该顶点将会不满足划分条件,此时需要将该顶点再次与相邻的顶点合并,即与顶点6合并。

将无向图合并化简完成后,将合并后的无向图作为当前无向图进行划分,其需要从当前无向图中挑选顶点的度最大的顶点为初始顶点开始遍历,由于本发明在保存无向图中顶点时是按照顶点的度从大自小排序的,故保存的第一个顶点即为顶点的度最大的顶点,也即相邻的顶点数最多的顶点,可以看作该部分顶点的区域中心,本发明中以该顶点为初始点进行遍历,直至遍历过的所有顶点复杂度之和达到预设复杂度阈值,并将当前遍历过的顶点划分为一个分块。

在进行一次划分后,需要确定无向图中是否所有的顶点均被遍历,若所有顶点均被遍历过则代表划分完成,若还有顶点未被遍历,则需要继续遍历,其将剩余未遍历的顶点所组成的无向图作为当前无向图,并以当前无向图中顶点的度最大的顶点为初始点进行遍历,直至遍历过的所有顶点的复杂度之和达到预设复杂度阈值后划分为一块,并重复当前步骤直至所有的顶点均被遍历。

其中,本发明遍历采用的算法为广度优先探索算法,已知图g=(v,e)和一个源顶点s,广度优先探索是以一种系统的方式探寻g的边,从而“发现”s所能到达的所有顶点,并计算s到所有这些顶点的距离(最少边数),该算法同时能生成一棵根为s且包括所有可达到顶点的宽度优先树。对从s可达的任意顶点v,宽度优先树中从s到v的路径对于图g中从s到v的最短路径,即包含最小边数的路径,该算法对有向图和无向图均适用。

由于保存时是将所有的顶点按顶点的度从大到小依次排序,故在进行遍历时只需要从保存的第一个顶点开始遍历即可。如无向图中包括顶点1、顶点2、顶点3、顶点4、顶点5、顶点6、顶点7,其按顶点的度排序为{1,6,5,2,4,7,3},其保存到数组a中,其中顶点1的顶点的度最大,顶点3的顶点的度最小,在第一次划分时只需从第一个顶点1开始遍历即可,假设遍历得到的顶点为{1,2,4},将其划分为一块后剔出数组a,数组a中剩余的顶点变为{6,5,7,3},由于顶点6为剩余顶点中顶点的度最大的顶点,将剩余未遍历的顶点所形成的无向图作为当前无向图后,其依然可以以其中第一个顶点6进行遍历,其可以看作为当前无向图的区域中心。通过该方法排序遍历,能够更简单方便地确定各个分块的区域中心,并以区域中心进行遍历。

将当前遍历过的顶点划分为一个分块之前还需要判断是否存在不可分割的顶点,其中不可分割的顶点包括:顶点的度低于第一预设度的顶点、以及顶点的度为2且一边被分割过的顶点。第一预设度为2,顶点的度低于第一预设度的顶点即为顶点的度为1的顶点,其不能被单独分割,同时若顶点的度为2,其代表该顶点分别连接有两条相连的边,若其一边被分割开,则不能再次进行分割,若将其分割则会将该顶点单独划分出去,不满足划分要求。故确定不能分割的顶点后,需要将其划分到与之相连的分块中,不进行分割。

在第一次划分后,需要先判断所有的顶点是否均被遍历,若所有的顶点均被遍历过,则表示其划分完成,若还有顶点未被遍历,则以剩余的顶点中的第一个顶点为初始点再次遍历,并重复上述步骤,得出第二个分块,每次划分均以预设复杂度阈值为界,当达到预设复杂度阈值时停止遍历,并将该次遍历过的所有顶点划分为一个分块。预设复杂度阈值根据无向图的总复杂度与初始划分块数确定,前面以及说明过初始划分块数地确定方法,在此不再赘述,当确定初始划分块数为n时,预设复杂度阈值确定为门电路地总复杂度与初始划分块数n相除的商,其值为n/n。

通过上述划分后,可以得出多个分块,该分块与设定的初始划分块数相同,且每一块中所有顶点的复杂度之和均接近复杂度阈值,即划分得到的每一个的复杂度相对平衡。但由于门电路中往往存在某一个或多个顶点的复杂度较高,如图2中的顶点4、顶点11、顶点13等,这部分顶点在划分时若处于遍历的最后一个顶点,则容易出现划分得到的分块由于该顶点的添加超过设定的复杂度阈值较多,从而影响划分的效果。如假设复杂度阈值为6,第一次遍历时遍历的顶点为顶点1、顶点2、顶点3、顶点4,其中顶点1、顶点2、顶点3的复杂度为1,顶点4的复杂度为2,此时遍历过的所有顶点的复杂度之和为5,需要继续遍历,而下一个遍历的顶点5的复杂度为4,遍历后所遍历的所有顶点的复杂度之和变为9,达到复杂度阈值,并将其划分为一块。最终划分完成后,假设剩余的顶点复杂度相对平衡,则容易出现第二块的复杂度之和为6、第三块复杂度之和为6,其远小于第一块顶点的复杂度之和,从而影响划分效果。故在划分完成后,还需要判断其具体的划分效果。

具体的,在第一次划分完成后,需要确定划分得到的各个分块是否满足预设划分要求,其预设划分要求为:分割得到的所有分块均满足容忍范围,且任意两个分块之间的顶点复杂度之和的差不超过预设值,所述容忍范围为所述预设度范围的下限值减x、上限值加x所形成的取值范围。当预设复杂度范围为[a,b]时,则容忍范围为[a-x,b+x],其中x表示其最大能够承受超出预设复杂度范围的值,x越大则表示所能承受的值越大,同时得到的各个分块超出预设复杂度范围的限度越大,反之x越小则表示所能承受的值越小,同时得到的各个分块越接近预设复杂度范围,本申请中x为1,其容忍范围为[a-1,b+1]。

同时,可能存在各分块均处于复杂度范围内,但分块见复杂度相差较大的情况,如容忍范围为[9,15],第一块中顶点的复杂度之和为10、第二块中顶点的复杂度之和为9、第三块中顶点的复杂度之和为15,该情况下各分块均处于容忍范围,但第一块和第二块与第三块中顶点的复杂度之和的差异较大,显然不满足划分要求。故划分后还需要判断各个分块之间顶点的复杂度之和的差,当该差值不超过预设值时满足划分条件,该预设值越大则表示最终得到的各个分块之间的复杂度差异越大,预设值越小则表示最终得到的各个分块之间的复杂度越接近,本申请中预设值取为1,只有当各个分块之间的复杂度之差不超过1时才认定为满足划分条件。即最终划分要求为各个分块中顶点的复杂度之和均满足容忍范围,且各个分块中顶点的复杂度之和的差不超过1,只有当满足该划分要求时才认定为当前划分效果好,完成划分,反之则认定为划分效果不好。

若分割效果不好则需要调整复杂度阈值,并将步骤s2中合并顶点后的无向图作为当前无向图返回步骤s3进行重新划分,直至各分块满足预设划分要求。其中,调整复杂度阈值包括:确定当前划分块数为上一次划分块数加1,并根据所述当前划分块数与所述无向图的总复杂度确定为当前复杂度阈值,其当前复杂度阈值的计算方法与之前相同,其值为门电路总复杂度与当前划分块数相除的商。如第一次划分时划分块数为初始划分块数,假设其为3块,设门电路的总复杂度为30,则预设复杂度阈值为10,当判定第一次划分不满足划分要求时,令当前划分块数为初始划分块数加1,即当前划分块数为4块,同时确定当前复杂度阈值为门电路总复杂度30与当前划分块数4相除的商,得到的结果即为当前复杂度阈值,若其结果不为整数,则将其四舍五入为整数。同时若划分块数为4时得出的分块仍不满足划分要求,则令当前划分块数为上一次划分块数4加1,即当前划分块数为5,重新确定复杂度阈值再次进行划分,直至最终划分结果满足划分要求。

其中,各分块的顶点的复杂度之和通过于其对应的权值矩阵计算得出,权值矩阵就是存储着每个顶点所代表的门电路的逻辑努力值(也就是每一个顶点的运算代价即顶点复杂度)的矩阵,通过该矩阵能够直观的计算得出各分块的顶点复杂度之和。

由于本申请在划分时最终使得划分得到的每个分块均处于容忍范围,且各个分块之间顶点的复杂度之和的差异不超过预设值,即各个分块之间的顶点复杂度之和相近,同时以顶点的度最大的顶点为当前区域的中心进行遍历,故设定划分块数后,可以根据区域中心的个数自适应的调整电路的分块个数。

请参见图2至图5,下面对本发明一实施例及其划分方法进行说明,图2为一门电路对应的无向图,其中每个顶点均代表为一个门电路,两个顶点相连则代表着两个门电路相互连接,图中顶点傍边标号数字代表其复杂度,未标号则代表该顶点的复杂度为1。

得到无向图后,需要先计算门电路的总复杂度,总复杂度为每个顶点的复杂度之和,其中顶点1、顶点2、顶点3、顶点6、顶点8、顶点10、顶点11、顶点12、顶点15、顶点16的复杂度为1,顶点5、顶点7、顶点14、顶点17的复杂度为2,顶点9、顶点13的复杂度为3、顶点4的复杂度为4,故总复杂度为(1*10+2*4+3*2+4*1)=28。设定复杂度范围为[10,14],故初始划分块数为28/14=2块,其容忍范围为[9,15]。

确定初始划分块数后,将无向图中所有的顶点按照顶点的度从大到小依次保存,顶点的度为与该顶点相连的边数,其中顶点2、顶点3、顶点5、顶点8、顶点16、顶点17的顶点的度为1,顶点4、顶点7、顶点9、顶点10、顶点12、顶点14、顶点15的顶点的度为2,顶点6、顶点11的顶点的度为4,顶点1、顶点13的顶点的度为5,故最终保存得到的结果为数组a={1、13、6、11、4、7、9、10、12、14、15、2、3、5、8、16、17}。

将无向图中所有的顶点按照顶点的度从大到小依次保存后,对无向图进行合并化简,避免将顶点的度为1的顶点单独划分为一块。其中顶点的度为1的顶点有顶点2、顶点3、顶点5、顶点8、顶点16、顶点17,将其划分到与之相邻的顶点,其中顶点2、顶点3、顶点5合并到顶点1、顶点8合并到顶点7、顶点16合并到顶点13、顶点17合并到顶点6,由于顶点8与顶点7合并后顶点的度为1,且其复杂度变为3(顶点7复杂度为2,顶点8复杂度为1,合并后该点的复杂度为顶点7的复杂度与顶点8的复杂度之和),其低于复杂度范围的下限值10,故需要再次合并,将该顶点合并到顶点6。

请参见图3为其合并完成后的无向图,其中顶点1的复杂度变为5(其为顶点1、顶点2、顶点3、顶点5的复杂度之和,后续合并后的顶点复杂度均等于与之合并的所有顶点的复杂度之和,不再赘述),顶点4、顶点13的复杂度为4、顶点9的复杂度为3、顶点6的复杂度为6,顶点14的复杂度为2,顶点10、顶点11、顶点12、顶点15的复杂度为1。

合并化简后需要确定第一次划分的区域中心,其以数组a中第一个顶点为初始点1进行遍历,确定区域中心后需要确定复杂度阈值,其复杂度阈值为门电路总复杂度28与当前划分块数2相除的商,即复杂度阈值为14。

由于顶点1的复杂度为5,需要再次遍历,得出下一层的顶点为顶点4、顶点6,此时遍历过的顶点总复杂度为6+5+6,其总复杂度为15,达到复杂度阈值,将其划分为一块。此时数组a中剩余的顶点为{13、11、9、10、12、14、15、16},再以当前的数组a中的第一个顶点为区域中心再次遍历,即以顶点13为区域中心进行遍历,由于顶点13的复杂度为4,低于复杂度阈值14,需要继续遍历,得到顶点11、顶点12、顶点14、顶点14,此时遍历过的顶点总复杂度变为4+2+1+1+1=9,仍小于复杂度阈值14,故需要继续遍历,得到顶点9、顶点10,此时集合a中的所有顶点均被遍历,得出两个分块。

其中第一个分块的顶点复杂度之和为15,第二个分块的顶点复杂度之和为13,虽然两个分块的顶点复杂度均满足容忍范围,但第一个分块中顶点的复杂度之和与第二个分块中顶点的复杂度之和的差为2,其不满足划分要求,故需要对其再次划分,此时划分块数在上一次划分块数上加1,即3块,同时其复杂度阈值也随着划分块数相应变为28/3=9.3,这里将复杂度阈值取整(四舍五入)为9。

确定复杂度阈值后需要重复上述划分步骤再次划分,首先确定第一次划分时的区域中心(即初始遍历点),其以集合a中第一个顶点为初始点进行遍历,即从顶点1开始遍历,由于顶点1的复杂度为5,其低于复杂度阈值,需要再次遍历,此时采用广度优先探索算法得到顶点4、6,并依次添加顶点,由于添加顶点4后当前遍历过的顶点复杂度之和已经达到复杂度阈值,故将顶点1和顶点4划分为1块。

第一次划分后,集合a中剩余顶点为{13、6、11、7、9、10、12、14、15、2、3、5、8、16、17},此时需要再次划分,并以剩余顶点中的第一个顶点为区域中心进行遍历,即从顶点13开始遍历,由于顶点13的复杂度为4,其低于复杂度阈值,需要再次遍历,得到第二层顶点11、顶点12、顶点14、顶点15,此时遍历过的顶点复杂度之和恰好等于9,故将其划分为1块。

同时由于顶点10的顶点的度为2,且一边被分割(第一块为顶点1和顶点4,其顶点4与顶点10分割开),故需要将其划分到与之相邻的分块中,由于分块{1,4}或{13,11,12,14,15}的顶点复杂度之和均为9,故顶点10划分到任意一个分块中均可,不影响最终划分结果,本实施例中将其划分到分块{1,4}中。

第二次分块后集合a中仍存在顶点,需要再次划分,此时集合a变为{6,9},此时以集合a中第一个顶点为初始点进行遍历,即以顶点6为初始点进行遍历,由于顶点6的复杂度为6,低于复杂度阈值,需要继续遍历得到顶点9,此时遍历过的顶点复杂度之和为9,刚好达到复杂度阈值9,停止遍历。

同时由于集合a中的所有顶点均被遍历完成,故确定此时划分完成,得出三个分块分别为{1,4,10},{13,11,12,14,15},{6,9},其顶点的复杂度之和分别为10、9、9,同时由于容忍范围为[9,15],各个分块均满足容忍范围,同时第一块与第二块和第三块的顶点复杂度之和的差均为1,满足划分要求,完成划分。完成划分后将各个分块退化为原始图,得到三个分块分别为{1,2,3,4,5,10},{11,12,13,14,15,16},{6,7,8,9,17}其可以用于电路仿真。

与现有技术相比,本发明能够根据区域中心的个数自适应地调整电路分块地个数,使电路分割效果达到最佳,同时最终划分的各个分块之间顶点的复杂度之和的差异不超过1,可以使每块占用的仿真资源以及所消耗的仿真时间相近,便于分配仿真资源。

以上的仅为本发明的部分或优选实施例,无论是文字还是附图都不能因此限制本发明保护的范围,凡是在与本发明一个整体的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1