CN115600537A - 一种基于双层优化的大规模集成电路布局优化方法 - Google Patents
一种基于双层优化的大规模集成电路布局优化方法 Download PDFInfo
- Publication number
- CN115600537A CN115600537A CN202211282004.4A CN202211282004A CN115600537A CN 115600537 A CN115600537 A CN 115600537A CN 202211282004 A CN202211282004 A CN 202211282004A CN 115600537 A CN115600537 A CN 115600537A
- Authority
- CN
- China
- Prior art keywords
- cell
- community
- layer
- optimization
- cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/373—Design optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及芯片布局优化技术领域,具体的说是一种基于双层优化的大规模集成电路布局优化方法,包括参数设置,cell社团划分,初始化上层优化设置,下层变异操作,评估适应值,返回上层cell社团排列顺序下的最佳适应值,上层变异操作,对目前排行第一的解进行cell位置优化;本发明通过结合前期社团划分、中期在线优化、后期精细局部搜索来有效地解决当前芯片设计中cell的布局问题,前期社团划分结合了复杂网络模体概念,减少了社团检测算法的复杂度,中期在线优化过程采用了一种双层优化的方法,后期精细布局搜索只对最后解集中的最优解进行,在保证算法的效率的同时,降低了算法的复杂度,减少了算法运行时间,节约企业成本。
Description
技术领域
本发明涉及一种优化方法,具体为一种基于双层优化的大规模集成电路布局优化方法,属于芯片布局优化技术领域。
背景技术
随着半导体技术的飞速发展,芯片内集成模块的规模也变得越来越来大。传统的芯片设计方法完全基于设计者的设计理念和个人经验进行,在处理芯片设计问题时,会花费大量人力物力,大大增加企业的成本。同时,布局设计中所牵涉到的芯片中不同模块之间存在有机的联系,如功能网络、通信、封装工艺等,因此在设计芯片的布局中,需要考虑不同模块之间的联系,这要求设计者需要有足够的经验和技术水平来进行模块的布局。另外,由于芯片的面积有限且芯片中集成的模块较多,这给芯片的自动布局算法的设计带来了挑战。
目前芯片布局问题主要有以下方法和不足:1)基于分区的方法。为了解决实现大规模芯片布局问题,基于分析的方法选择牺牲了全局最优解的质量。另外,该方法过于依赖早期的分区情况,若早期分区不好可能导致无法接受的最终结果;2)基于贪婪搜索的方法。该方法采用爬山策略,对每一个可行解进行试探性搜索,导致其易陷入局部最优。同时其收敛速度低,难以解决拥有大型节点的现代芯片规划问题;3)基于强化学习和深度神经网络的方法。这种方法对于解决大规模集成电路布局问题有着良好的性能。但由于其依赖于深度神经网络的构建,并且会消耗大量历史布局数据提前训练深度神经网络来应对各种情况,应用难度较大
有鉴于此特提出本发明。
发明内容
本发明的目的就在于为了解决上述问题而提供一种基于双层优化的大规模集成电路布局优化方法,对比现有的布局算法,本发明提出的一种基于双层优化的大规模集成电路布局布线优化方法,通过结合前期社团划分、中期在线优化、后期精细局部搜索来有效地解决当前芯片设计中cell地布局问题。
前期社团划分结合了复杂网络模体概念,使得联系紧密的cell 能在最初就能确定划分,减少了社团检测算法的复杂度。与一般使用的以网表作为初始节点的方法不同,将每个cell设为初始节点更有利于发现节点间的有机关系,便于之后对排列顺序的优化。
中期在线优化过程采用了一种双层优化的方法,将实现不同目的参数分开,减少了优化算法所要考虑的维数。上层优化有效的利用了之前的社团划分信息,生成一组排列序列,并且使用尽量方形的放置区域来放置每个cell社团,有利于减少cell社团间延迟,节省整个布局空间的消耗。下层优化则是对上层序列的具体优化。另外,各组下层优化过程是独立的,因此可以采用分布式方法,将上层优化给予主机执行,下层优化给予不同的从机执行,减少计算时间。
后期精细布局搜索只对最后解集中的最优解进行,在保证算法的效率的同时,降低了算法的复杂度,减少了算法运行时间,节约企业成本。
本发明通过以下技术方案来实现上述目的,一种基于双层优化的大规模集成电路布局优化方法,包括以下步骤:
1)参数设置:设置上层优化的种群规模分别为Ntop,下层变异操作次数为T,社团检测划分的社团数为c,需要放置的cell数目假设为C;
2)cell社团划分:对已经给予的全部cell根据设计要求进行拓扑连接,形成网络结构后,利用网络社团检测算法进行社团划分,将物理连接紧密的cell组成一个cell社团,布局时同时放置,在划分组合过程中,减少社团间cell的布线长度,通信延迟,同时避免不同的社团放置时的相互影响,需要满足以下三个准则:一、同一社团中的cell放置时,同行cell间和相邻行间放置应不留空隙,紧密放置,且行起始cell应紧贴区域左边界;二、放置的cell社团的区域尽量为方形,减小对角线上的芯片的通信距离;三、在一个cell 社团的放置区域(设定长宽为横向与纵向的放置长度累加值)内,不允许其他cell社团放置,在划分完成后,c个社团将会进行编号,便于后续操作;
3)初始化上层优化设置,产生Ntop个上层解:上层优化解的编码方式采用序列编码,编码长度与步骤2中划分的社团数c相同,编码的顺序代表了cell社团的放置顺序,每个团在放置过程中,需在放置区域内从上往下,从左往右依次放置;
4)初始化下层优化设置,对上层解进行优化:对上层已确定了编码顺序的Ntop个个体,在下层优化对每一个个体采用变邻域搜索算子进行优化,设定每个个体的变异操作进行次数为T;
5)下层变异操作,上层优化的cell社团放置区域中的cell排布是完全随机的,没有考虑cell社团间的关系,因此交换cell位置能够优化布局空间,主要执行以下两种变邻域搜索操作:
a)选取一个cell社团作为操作的对象,随机交换其中的两个 cell的位置,交换完成后,需要重新计算该cell社团的放置区域大小;
b)随机选取一个cell,将其插入该cell所在放置区域的任一位置,插入完成后,需要重新计算该cell社团的放置区域大小;
步骤5中操作执行完后放置区域大小的重新计算的目的,是为了尽可能保证变异不影响其他区域的布局,具体操作为,若操作完成后的放置区域比操作前小,则该cell社团划定的放置区域范围不进行改变,否则需要增大cell社团放置区域的范围;
6)评估适应值,并使用确定性拥挤法选择个体,即子个体与父个体直接进行竞争的模式,选取二者中较优解进入下一代,每次完成步骤5的操作后,算法都会对产生的新个体进行适应值评估,若在步骤5中,放置区域未进行改变,则只需计算与该放置区域所相关的适应值,而不需要统计所有的适应值;若放置区域已经改变,为了保证适应值评估正确,则需计算整个连接结构的适应值;
7)返回上层cell社团排列顺序下的最佳适应值,步骤4-7通过分布式计算,将下层对Ntop个个体的优化分配到多个线程中,减少计算时间;
8)上层变异操作:根据下层优化返回的个体最佳适应值,选取适应值排行的0.5Ntop的个体进行变异操作,生成0.5Ntop的新的上层解加入解集,替换适应值落后的0.5Ntop个个体;
9)判断是否满足终止条件,若不满足,进入步骤5,对当前解集中的上层解进行最优适应值评估,若满足,则选取当前解集中,适应值最优的个体进入下一步骤;
10)对目前排行第一的解进行cell位置优化,由于为了方便前期计算,加速优化过程,步骤2中确定了一些准则,其中cell位置在cell社团放置区域内紧贴区域左边界的策略,导致最终结果可能并不为最优放置位置,因此在此步骤进行优化调整,得到最终最优的cell放置位置。
进一步的,cell社团划分遵循如下步骤:
一、根据配置文件建立无向无权图,在配置文件中,每个cell 为单独封装好的一个标准单元,其物理大小(长、宽)和具体引脚的位置均已给定,根据预期的设计方案,相关cell间通过引脚走线连接,构成网络,连线引脚也已给出,选取每个单独的cell作为网络中的一个节点,其与其他cell的直接连线构成网络中的一条边,通过对整个设计方案的转换,可以得到一个节点表示cell,边表示有关cell连接的一个网络结构,由于各个cell的重要性事先可能未知,该网络被设置为一个无向无权图;
二、结合复杂网络模体的概念,对网络社团检测前的初始聚合,模体是在复杂网络中频繁出现的某种相互连接的模式,在本算法中,我们考虑三角形模体,即三个节点两两相连的连接模式,一旦节点间出现了此种连接模式,可以断定该节点所对应的cell间有着紧密的连接关系,可以将其划为一个社团,形成新节点,节点聚合后,根据聚合团中与其他节点的连接数,原网络将转化为有权网络。此步骤的目的是为了降低社团检测算法的计算量,节省计算资源;
三、将所有节点看作一个单独的社团,此步骤中的节点,包括部分原始节点和经过步骤二聚合后的“超级节点”;
四、判断是否满足终止条件,若满足,则输出社团划分;若不满足则进行社团划分的操作;
五、任意选取一个节点,将其临时加入其邻居节点的社团中,并计算模块度增量;
六、判断模块度是否增加,若增加,则保存步骤5的操作;若不增加,则进入步骤4,不保存步骤5中社团的改变。
进一步的,在步骤8中,为了保证变异过程中,能尽可能的扩大搜索空间的同时,保证原有的基因型大体不受破坏,采用基于点的变异和基于边的变异相结合的方式,具体操作如下:
步骤1、产生一个(0,1)间的随机数Prand,若Prand>0.5,则采用点变异;若Prand<0.5,则采用边变异;
步骤2、利用变异算子对空间进行搜索;
点变异主要有以下两种操作形式:1)从上层cell社团序列中随机选取两个cell社团,将其位置进行互换,得到一组新的序列;2) 从上层cell社团序列中,随机选取一个cell社团,将其随机插入序列的任一位置。
边变异的操作形式:生成一组边变异序列(xi,yi,xi+1,yi+1,xi+2,yi+2,…) 以x开头,以y结尾,x为原路径中存在的边,y为变异后的边,在上层基因设置中,假设相邻两个位置间存在一条路径,第i个边x被第i个边y所替换,在边变异序列生成中,需要满足如下准则:一、由于是相邻替换,为了尽量不改变原有的拓扑结构,使得原序列连续,边x与边y需要有相交的点,二、从序列中第一个边x的起点与最后一个边y的终点需要相同,即边变异序列需形成环。
步骤3、用变异出来的个体替换原先的落后个体。
进一步的,在步骤10中,对于位置优化,也就是已知相对位置进一步求最优线长的步骤,主要是改变每一个cell的移动量来实现,在此步骤中,不再考虑cell社团的概念,而是对每个cell单独进行优化,由于布局时cell的数目在设计大规模芯片时会过多,因此仅在最后一步考虑此优化。
位置优化的染色体的长度为C,等于需要划分的cell数目,其中基因值的意义为,每个cell的左侧的可移动空间的大小。通过改变各个cell的该空间大小可以唯一确定一组分布位置;
位置优化过程的初始化方式为——随机近似均匀:
首先计算每一行cell放置的剩余空间,对于每一行,按从左到右的顺序反复选择cell,生成随机数{0,1}加至所对应的基因值中,直到剩余空间小于或等于该行第一个cell的基因值(保证左右两边都有移动的空间)。因此位置优化问题转化为对每层剩余空间的分配问题,其步骤如下:
步骤1、任意选取一行中的两个cell作为优化的操作对象;
步骤2、将选出的cell对象的基因值和该层剩余空间求和,重新分配给选出的两个cell对象和该层的剩余空间;
步骤3、根据评估函数评估变换后的适应值,采用确定性拥挤的方法进行筛选。
本发明的技术效果和优点:本发明设计了一种针对现阶段cell 布局问题的基于双层优化的大规模集成电路布局优化算法。
本发明针对芯片设计中的分组问题,首先基于模体对节点进行社团检测,将有关联的cell先进行结合再统一放置,接着采用双层优化的方法和最终的局部搜索位置优化来得到最优解。
本发明设计了一种双层优化的搜索方式,用来搜索cell的放置位置,使得cell社团内的排序更加合理。
本发明将位置优化问题转化建模为对每层剩余空间的分配问题,使得位置优化过程更好进行。
本发明的泛用性好,在光刻机技术限制,无法生产高制程芯片的现状下,本发明可拓展到对多层芯片的布局设计且效果良好。
附图说明
图1为本发明的算法整体流程图;
图2为本发明的cell社团划分流程图;
图3为本发明的上层变异边算子流程。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3所示,一种基于双层优化的大规模集成电路布局优化方法,包括以下步骤:
1),参数设置:设置上层优化的种群规模分别为Ntop,下层变异操作次数为T;社团检测划分的社团数为c。需要放置的cell数目假设为C;
2),cell社团划分:对已经给予的全部cell根据设计要求进行拓扑连接,形成网络结构后,利用网络社团检测算法进行社团划分。将物理连接紧密的cell组成一个cell社团,布局时同时放置,降低了问题规模,大大减小了布局时所需的计算量。在划分组合过程中,为了避免空间浪费,减少社团间cell的布线长度,通信延迟,同时避免不同的社团放置时的相互影响,需要满足以下三个准则:一、同一社团中的cell放置时,同行cell间和相邻行间放置应不留空隙,紧密放置,且行起始cell应紧贴区域左边界;二、放置的cell社团的区域尽量为方形,减小对角线上的芯片的通信距离;三、在一个 cell社团的放置区域(设定长宽为横向与纵向的放置长度累加值) 内,不允许其他cell社团放置。在划分完成后,c个社团将会进行编号,便于后续操作;
3),初始化上层优化设置,产生Ntop个上层解:上层优化解的编码方式采用序列编码,编码长度与步骤2中划分的社团数c相同。编码的顺序代表了cell社团的放置顺序,每个团在放置过程中,需在放置区域内从上往下,从左往右依次放置;
4),初始化下层优化设置,对上层解进行优化:对上层已确定了编码顺序的Ntop个个体,在下层优化对每一个个体采用变邻域搜索算子进行优化,设定每个个体的变异操作进行次数为T;
5),下层变异操作。此操作的目的在于,上层优化的cell社团放置区域中的cell排布是完全随机的,没有考虑cell社团间的关系,因此交换cell位置能够优化布局空间。主要执行以下两种变邻域搜索操作:
a)选取一个cell社团作为操作的对象,随机交换其中的两个 cell的位置,交换完成后,需要重新计算该cell社团的放置区域大小。
b)随机选取一个cell,将其插入该cell所在放置区域的任一位置,插入完成后,需要重新计算该cell社团的放置区域大小。
步骤5中操作执行完后放置区域大小的重新计算的目的,是为了尽可能保证变异不影响其他区域的布局。具体操作为,若操作完成后的放置区域比操作前小,则该cell社团划定的放置区域范围不进行改变,否则需要增大cell社团放置区域的范围;
6),评估适应值,并使用确定性拥挤法选择个体,即子个体与父个体直接进行竞争的模式,选取二者中较优解进入下一代。每次完成步骤5的操作后,算法都会对产生的新个体进行适应值评估。若在步骤5中,放置区域未进行改变,则只需计算与该放置区域所相关的适应值,而不需要统计所有的适应值;若放置区域已经改变,为了保证适应值评估正确,则需计算整个连接结构的适应值;
7),返回上层cell社团排列顺序下的最佳适应值。步骤4-7通过分布式计算,将下层对Ntop个个体的优化分配到多个线程中,减少计算时间;
8),上层变异操作:根据下层优化返回的个体最佳适应值,选取适应值排行的0.5Ntop的个体进行变异操作,生成0.5Ntop的新的上层解加入解集,替换适应值落后的0.5Ntop个个体;
9),判断是否满足终止条件。若不满足,进入步骤5,对当前解集中的上层解进行最优适应值评估;若满足,则选取当前解集中,适应值最优的个体进入下一步骤;
10),对目前排行第一的解进行cell位置优化。由于为了方便前期计算,加速优化过程,步骤2中确定了一些准则。其中cell位置在cell社团放置区域内紧贴区域左边界的策略,导致最终结果可能并不为最优放置位置,因此在此步骤进行优化调整,得到最终最优的cell放置位置。
cell社团划分遵循如下步骤:
一、根据配置文件建立无向无权图。在配置文件中,每个cell 为单独封装好的一个标准单元,其物理大小(长、宽)和具体引脚的位置均已给定。根据预期的设计方案,相关cell间通过引脚走线连接,构成网络,连线引脚也已给出。选取每个单独的cell作为网络中的一个节点,其与其他cell的直接连线构成网络中的一条边,通过对整个设计方案的转换,可以得到一个节点表示cell,边表示有关cell连接的一个网络结构。由于各个cell的重要性事先可能未知,该网络被设置为一个无向无权图;
二、结合复杂网络模体的概念,对网络社团检测前的初始聚合。模体是在复杂网络中频繁出现的某种相互连接的模式。在本算法中,我们考虑三角形模体,即三个节点两两相连的连接模式。一旦节点间出现了此种连接模式,可以断定该节点所对应的cell间有着紧密的连接关系,可以将其划为一个社团,形成新节点。节点聚合后,根据聚合团中与其他节点的连接数,原网络将转化为有权网络。此步骤的目的是为了降低社团检测算法的计算量,节省计算资源;
三、将所有节点看作一个单独的社团。此步骤中的节点,包括部分原始节点和经过步骤二聚合后的“超级节点”;
四、判断是否满足终止条件,若满足,则输出社团划分;若不满足则进行社团划分的操作;
五、任意选取一个节点,将其临时加入其邻居节点的社团中,并计算模块度增量;
六、判断模块度是否增加。若增加,则保存步骤5的操作;若不增加,则进入步骤4,不保存步骤5中社团的改变。
在步骤8中,为了保证变异过程中,能尽可能的扩大搜索空间的同时,保证原有的基因型大体不受破坏,采用基于点的变异和基于边的变异相结合的方式,具体操作如下:
步骤1、产生一个(0,1)间的随机数Prand,若Prand>0.5,则采用点变异;若Prand<0.5,则采用边变异。
步骤2、利用变异算子对空间进行搜索。
点变异主要有以下两种操作形式:1)从上层cell社团序列中随机选取两个cell社团,将其位置进行互换,得到一组新的序列。2) 从上层cell社团序列中,随机选取一个cell社团,将其随机插入序列的任一位置。
边变异的操作形式:生成一组边变异序列(xi,yi,xi+1,yi+1,xi+2,yi+2,…) 以x开头,以y结尾。x为原路径中存在的边,y为变异后的边。在上层基因设置中,假设相邻两个位置间存在一条路径。第i个边x被第i个边y所替换。在边变异序列生成中,需要满足如下准则:一、由于是相邻替换,为了尽量不改变原有的拓扑结构,使得原序列连续,边x与边y需要有相交的点。二、从序列中第一个边x的起点与最后一个边y的终点需要相同,即边变异序列需形成环。图3为一组边变异的示例。
如图3(a),原遍历路径为(t1,t2,t3,t4),变异序列为(x1,y1,x2,y2),其中x1={t1,t2}、y1={t2,t3}、x2={t3,t4}、y2={t4,t1}。序列中相邻的边具有共同点,满足准则一;且起始边x1={t1,t2}与终止边y2={t4,t1}满足准则二,因此可以进行变异操作。
变异后的结果如图3(b)所示,y1将x1替换,y2将x2替换,得到变异后的节点遍历路径(仍从t1开始)为(t1,t4,t2,t3)。
步骤3、用变异出来的个体替换原先的落后个体。
在步骤10中,对于位置优化,也就是已知相对位置进一步求最优线长的步骤,主要是改变每一个cell的移动量来实现。在此步骤中,不再考虑cell社团的概念,而是对每个cell单独进行优化。由于布局时cell的数目在设计大规模芯片时会过多,因此仅在最后一步考虑此优化。
位置优化的染色体的长度为C,等于需要划分的cell数目。其中基因值的意义为,每个cell的左侧的可移动空间的大小。通过改变各个cell的该空间大小可以唯一确定一组分布位置。
位置优化过程的初始化方式为——随机近似均匀:
首先计算每一行cell放置的剩余空间,对于每一行,按从左到右的顺序反复选择cell,生成随机数{0,1}加至所对应的基因值中,直到剩余空间小于或等于该行第一个cell的基因值(保证左右两边都有移动的空间)。因此位置优化问题转化为对每层剩余空间的分配问题。其步骤如下:
步骤1、任意选取一行中的两个cell作为优化的操作对象。
步骤2、将选出的cell对象的基因值和该层剩余空间求和,重新分配给选出的两个cell对象和该层的剩余空间。
步骤3、根据评估函数评估变换后的适应值,采用确定性拥挤的方法进行筛选。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (6)
1.一种基于双层优化的大规模集成电路布局优化方法,其特征在于,包括以下步骤:
1)参数设置:设置上层优化的种群规模分别为Ntop,下层变异操作次数为T,社团检测划分的社团数为c,需要放置的cell数目假设为C;
2)cell社团划分:对需要放置的全部cell根据设计要求进行拓扑连接,形成网络结构后,利用网络社团检测算法进行社团划分,将物理连接紧密的cell组成一个cell社团,布局时同时放置,在划分组合过程中,减少社团间cell的布线长度;
3)初始化上层优化设置,产生Ntop个上层解:上层优化解的编码方式采用序列编码,编码长度与步骤2中划分的社团数c相同,编码的顺序代表了cell社团的放置顺序,每个团在放置过程中,需在放置区域内从上往下,从左往右依次放置;
4)初始化下层优化设置,对上层解进行优化:对上层已确定了编码顺序的Ntop个个体,在下层优化对其每一个个体采用变邻域搜索算子进行优化,设定每个个体的变异操作进行次数为T;
5)下层变异操作,上层优化的cell社团放置区域中的cell排布是完全随机的,没有考虑cell社团间的关系,因此交换cell位置能够优化布局空间,主要执行以下两种变邻域搜索操作:
a)选取一个cell社团作为操作的对象,随机交换其中的两个cell的位置,交换完成后,需要重新计算该cell社团的放置区域大小;
b)随机选取一个cell,将其插入该cell所在放置区域的任一位置,插入完成后,需要重新计算该cell社团的放置区域大小;
6)评估适应值,并使用确定性拥挤法选择个体,即子个体与父个体直接进行竞争的模式,选取二者中较优解进入下一代,每次完成步骤5的操作后,算法都会对产生的新个体进行适应值评估,若在步骤5中,放置区域未进行改变,则只需计算与该放置区域所相关的适应值,而不需要统计所有的适应值,若放置区域已经改变,则需计算整个连接结构的适应值;
7)返回上层cell社团排列顺序下的最佳适应值,步骤4-7通过分布式并行计算,将下层对Ntop个个体的优化分配到多个线程中;
8)上层变异操作:根据下层优化返回的个体最佳适应值,选取适应值排行的0.5Ntop的个体进行变异操作,生成0.5Ntop的新的上层解加入种群,替换适应值落后的0.5Ntop个个体;
9)判断是否满足终止条件,若不满足,进入步骤5,对当前解集中的上层解进行最优适应值评估,若满足,则选取当前解集中,适应值最优的个体进入下一步骤;
10)对目前排行第一的解进行cell位置优化。
2.根据权利要求1所述的一种基于双层优化的大规模集成电路布局优化方法,其特征在于,cell社团划分遵循如下步骤:
一、根据配置文件建立无向无权图,在配置文件中,每个cell为单独封装好的一个标准单元,其物理大小和具体引脚的位置均已给定,根据预期的设计方案,相关cell间通过引脚连接,构成网络,连线引脚也已给出,选取每个单独的cell作为网络中的一个节点,其与其他cell的直接连线构成网络中的一条边;
二、结合复杂网络模体的概念,对网络社团检测前的初始聚合,模体是在复杂网络中频繁出现的某种相互连接的模式;
三、将所有节点看作一个单独的社团,此步骤中的节点,包括部分原始节点和经过步骤二聚合后的“超级节点”;
四、判断是否满足终止条件,若满足,则输出社团划分;若不满足则进行社团划分的操作;
五、任意选取一个节点,将其临时加入其邻居节点的社团中,并计算模块度增量;
六、判断模块度是否增加,若增加,则保存步骤5的操作,若不增加,则进入步骤4,不保存步骤5中社团的改变。
3.根据权利要求1所述的一种基于双层优化的大规模集成电路布局优化方法,其特征在于,在步骤8中,采用基于点的变异和基于边的变异相结合的方式,具体操作如下:
步骤1、产生一个(0,1)间的随机数Prand,若Prand>0.5,则采用点变异;若Prand<0.5,则采用边变异;
步骤2、利用变异算子对空间进行搜索;
点变异主要有以下两种操作形式:1)从上层cell社团序列中随机选取两个cell社团,将其位置进行互换,得到一组新的序列;2)从上层cell社团序列中,随机选取一个cell社团,将其随机插入序列的任一位置;
边变异的操作形式:生成一组边变异序列(xi,yi,xi+1,yi+1,xi+2,yi+2,…)以x开头,以y结尾,x为原路径中存在的边,y为变异后的边,在上层基因设置中,假设相邻两个位置间存在一条路径,第i个边x被第i个边y所替换,在边变异序列生成中,需要满足如下准则:一、由于是相邻替换,为了尽量不改变原有的拓扑结构,使得原序列连续,边x与边y需要有相交的点,二、从序列中第一个边x的起点与最后一个边y的终点需要相同,即边变异序列需形成环;
步骤3、用变异出来的个体替换原先的落后个体。
4.根据权利要求1所述的一种基于双层优化的大规模集成电路布局优化方法,其特征在于,在步骤10中,对于位置优化,也就是已知相对位置进一步求最优线长的步骤,主要是改变每一个cell的移动量来实现;
位置优化的染色体的长度为C,等于需要划分的cell数目,其中基因值的意义为,每个cell的左侧的可移动空间的大小;通过改变各个cell的该空间大小唯一确定一组分布位置;
位置优化过程的初始化方式为——随机近似均匀:
首先计算每一行cell放置的剩余空间,对于每一行,按从左到右的顺序反复选择cell,生成随机数{0,1}加至所对应的基因值中,直到剩余空间小于或等于该行第一个cell的基因值,因此位置优化问题转化为对每层剩余空间的分配问题,其步骤如下:
步骤1、任意选取一行中的两个cell作为优化的操作对象;
步骤2、将选出的cell对象的基因值和该层剩余空间求和,重新分配给选出的两个cell对象和该层的剩余空间;
步骤3、根据评估函数评估变换后的适应值,采用确定性拥挤的方法进行筛选。
5.根据权利要求1所述的一种基于双层优化的大规模集成电路布局优化方法,其特征在于,在步骤2中,通信延迟的同时避免不同的社团放置时的相互影响,需要满足以下三个准则:一、同一社团中的cell放置时,同行cell间和相邻行间放置应不留空隙,紧密放置,且行起始cell应紧贴区域左边界;二、放置的cell社团的区域尽量为方形,减小对角线上的芯片的通信距离;三、在一个cell社团的放置区域内,不允许其他cell社团放置,在划分完成后,c个社团将会进行编号,便于后续操作。
6.根据权利要求1所述的一种基于双层优化的大规模集成电路布局优化方法,其特征在于,在步骤5中,操作执行完后放置区域大小的重新计算的具体操作为,若操作完成后的放置区域比操作前小,则该cell社团划定的放置区域范围不进行改变,否则需要增大cell社团放置区域的范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211282004.4A CN115600537B (zh) | 2022-10-19 | 2022-10-19 | 一种基于双层优化的大规模集成电路布局优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211282004.4A CN115600537B (zh) | 2022-10-19 | 2022-10-19 | 一种基于双层优化的大规模集成电路布局优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115600537A true CN115600537A (zh) | 2023-01-13 |
CN115600537B CN115600537B (zh) | 2023-04-28 |
Family
ID=84849676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211282004.4A Active CN115600537B (zh) | 2022-10-19 | 2022-10-19 | 一种基于双层优化的大规模集成电路布局优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115600537B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188271A1 (en) * | 2002-04-02 | 2003-10-02 | Institute Of High Performance Computing | System and method for integrated circuit design |
US20080016476A1 (en) * | 2006-07-17 | 2008-01-17 | Shufan Chan | Hierarchical analog layout synthesis and optimization for integrated circuits |
CN103714210A (zh) * | 2013-12-24 | 2014-04-09 | 西安电子科技大学 | 基于最优适应启发式序列与多目标组织进化的集成电路布图方法 |
CA2990205A1 (en) * | 2017-12-28 | 2019-06-28 | Techinsights Inc. | Reverse engineering data analysis system, and integrated circuit component data processing tool and method thereof |
CN111711986A (zh) * | 2020-05-06 | 2020-09-25 | 哈尔滨工业大学 | 5g通信系统中uc-udn比例公平资源分配方法 |
CN113065305A (zh) * | 2021-03-16 | 2021-07-02 | 华中科技大学 | 一种液态金属电池组的路径优化控制方法和装置 |
WO2021252239A1 (en) * | 2020-06-08 | 2021-12-16 | The Regents Of The University Of California | Integrated-circuit global routing method |
CN115186969A (zh) * | 2022-05-24 | 2022-10-14 | 电子科技大学长三角研究院(湖州) | 带变邻域搜索的多引导解粒子群多目标拼车问题优化方法 |
-
2022
- 2022-10-19 CN CN202211282004.4A patent/CN115600537B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188271A1 (en) * | 2002-04-02 | 2003-10-02 | Institute Of High Performance Computing | System and method for integrated circuit design |
US20080016476A1 (en) * | 2006-07-17 | 2008-01-17 | Shufan Chan | Hierarchical analog layout synthesis and optimization for integrated circuits |
CN103714210A (zh) * | 2013-12-24 | 2014-04-09 | 西安电子科技大学 | 基于最优适应启发式序列与多目标组织进化的集成电路布图方法 |
CA2990205A1 (en) * | 2017-12-28 | 2019-06-28 | Techinsights Inc. | Reverse engineering data analysis system, and integrated circuit component data processing tool and method thereof |
CN111711986A (zh) * | 2020-05-06 | 2020-09-25 | 哈尔滨工业大学 | 5g通信系统中uc-udn比例公平资源分配方法 |
WO2021252239A1 (en) * | 2020-06-08 | 2021-12-16 | The Regents Of The University Of California | Integrated-circuit global routing method |
CN113065305A (zh) * | 2021-03-16 | 2021-07-02 | 华中科技大学 | 一种液态金属电池组的路径优化控制方法和装置 |
CN115186969A (zh) * | 2022-05-24 | 2022-10-14 | 电子科技大学长三角研究院(湖州) | 带变邻域搜索的多引导解粒子群多目标拼车问题优化方法 |
Non-Patent Citations (4)
Title |
---|
J.SCHEIBLE: "Optimized is Not Always Optimal" * |
孙庆凯;王江波;熊雄;井天军;陈义;: "基于改进社团结构划分理论的主动配电网资源优化配置" * |
赵宏: "面向多峰值和多目标问题的多节进化算法研究" * |
黄志鹏等: "超大规模集成电路布局的优化模型与算法" * |
Also Published As
Publication number | Publication date |
---|---|
CN115600537B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795908B (zh) | 偏差驱动的总线感知总体布线方法 | |
CN111291525B (zh) | 考虑总线和非总线线网的层分配方法 | |
US6247167B1 (en) | Method and apparatus for parallel Steiner tree routing | |
US6230306B1 (en) | Method and apparatus for minimization of process defects while routing | |
US6324674B2 (en) | Method and apparatus for parallel simultaneous global and detail routing | |
US6289495B1 (en) | Method and apparatus for local optimization of the global routing | |
US6175950B1 (en) | Method and apparatus for hierarchical global routing descend | |
CN112181867B (zh) | 基于多目标遗传算法的片上网络内存控制器布局方法 | |
CN112183015B (zh) | 一种面向深度神经网络的芯片布图规划方法 | |
CN105205205A (zh) | 基于网表位置信息最优划分的fpga粗粒度并行布线方法 | |
CN115859899B (zh) | 一种多驱动能力的集成电路标准单元版图迁移的方法 | |
Xiao et al. | Contact layer decomposition to enable DSA with multi-patterning technique for standard cell based layout | |
CN109684731A (zh) | 一种高效的详细布线驱动轨道分配算法 | |
Ho et al. | Crosstalk-and performance-driven multilevel full-chip routing | |
CN115983187A (zh) | 基于多策略的考虑总线偏差的层分配方法 | |
CN112989749A (zh) | 一种集成电路版图布线中引脚访问方法及装置 | |
CN115600537A (zh) | 一种基于双层优化的大规模集成电路布局优化方法 | |
CN112183001A (zh) | 一种基于超图的多级聚类方法 | |
US6269469B1 (en) | Method and apparatus for parallel routing locking mechanism | |
CN104270308A (zh) | 一种面向非均衡通信特征的射频片上网络应用映射方法 | |
Singhar et al. | Optimizing Mixed Size & Large Scale Block Placement Using Greedy Approach | |
CN101826123A (zh) | 一种增加标准单元通孔提升芯片成品率的方法 | |
Zhu et al. | Energy and switch area optimizations for FPGA global routing architectures | |
CN102331919A (zh) | 基于最大完全子图的嵌入式系统寄存器分配方法 | |
Cai et al. | PUFFER: A Routability-Driven Placement Framework via Cell Padding with Multiple Features and Strategy Exploration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |