集成电路的布局方法和装置制造方法及图纸

技术编号:36104059 阅读:60 留言:0更新日期:2022-12-28 14:04
本申请公开了一种集成电路的布局方法和装置。该方法包括:获取集成电路的第一全局布局信息,其中,第一全局布局信息包括多个第一模块和多个第二模块,第一模块中包含宏单元,第二模块中不包含宏单元;对第一全局布局信息中第一模块中的宏单元进行更新,得到第二全局布局信息;通过遗传算法对每个更新后的第一模块中的宏单元重新布局,得到多个布局样式,并从多个布局样式中选取目标布局样式;根据第二全局布局信息布局第二模块,并根据目标布局样式布局第一模块中的宏单元,得到目标全局布局信息,通过本申请,解决了相关技术中在布线时,全局布局信息中宏单元的布局存在交叠的情况,导致布线资源紧张的问题。导致布线资源紧张的问题。导致布线资源紧张的问题。

【技术实现步骤摘要】
集成电路的布局方法和装置


[0001]本申请涉及集成电路领域,具体而言,涉及一种集成电路的布局方法和装置。

技术介绍

[0002]在集成电路后端实现的过程中,集成电路的布局是非常关键的一步,布局的质量对后续的时序优化,功耗优化,以及布局布线的实现等都有非常大的影响。而随着集成电路工艺的进步,系统级芯片的设计复杂度急剧增高。
[0003]由于系统级芯片中集成了多个IP和子模块,并且每个子模块又包含了很多的宏单元,而在对系统级芯片的集成电路的布局中,布局布线工具处理宏单元的方法是首先通过对集成电路进行粗粒度的分析,同时摆放宏单元和微逻辑单元;然后再对宏单元的摆放位置进行分析,处理不同宏单元间的重叠和方向错误的问题;最后将所有宏单元设置在固定的位置,布局布线工具只处理微逻辑单元的摆放。
[0004]布局布线工具给出宏单元的布局之后,是不能直接处理微逻辑单元的摆放问题的,布局布线工具给出布局的一个参考因素是线长,通过降低总线长来对布局进行优化,根据这个布局不会引起太多绕线问题,但是因为布局布线工具设计的局限性,对宏单元布局后得到的全局布局信息还存在着布线资源紧张等问题,需要工程师对于这个布局进行分析,迭代和优化。
[0005]目前对全局布局信息优化的基本思路就是将宏单元摆在边界上。但是现在的芯片设计中,由于宏单元数量的剧增,摆在边界上已经不能得到一个比较好的优化结果,一方面是由于每个宏单元本身就是一个IP,所以宏单元上的布线资源是很有限的,再加上宏单元的高层金属还要打电源网格,就导致布线资源更加紧张。另一方面是由于宏单元数量的增加,摆在边界后,宏单元叠加的层数越来越多,而由于它本身的布线资源有限,就导致宏单元上出现布线资源不足的问题。
[0006]针对相关技术中在布线时,全局布局信息中宏单元的布局存在交叠的情况,导致布线资源紧张的问题,目前尚未提出有效的解决方案。

技术实现思路

[0007]本申请提供一种集成电路的布局方法和装置,以解决相关技术中在布线时,全局布局信息中宏单元的布局存在交叠的情况,导致布线资源紧张的问题。
[0008]根据本申请的一个方面,提供了一种集成电路的布局方法。该方法包括:获取集成电路的第一全局布局信息,其中,第一全局布局信息包括多个第一模块和多个第二模块,第一模块中包含宏单元,第二模块中不包含宏单元;对第一全局布局信息中第一模块中的宏单元进行更新,得到第二全局布局信息;通过遗传算法对每个更新后的第一模块中的宏单元重新布局,得到多个布局样式,并从多个布局样式中选取目标布局样式;根据第二全局布局信息布局第二模块,并根据目标布局样式布局第一模块中的宏单元,得到目标全局布局信息。
[0009]可选地,对第一全局布局信息中第一模块中的宏单元进行更新,得到第二全局布局信息包括:获取第一模块,并获取每个第一模块中的宏单元的坐标,得到多个坐标集合;确定每个坐标集合对应的区域,得到多个区域;对多个区域中重叠部分满足预设重叠条件的不同区域进行合并,得到至少一个合并后的区域,并将合并后的区域确定为更新后的第一模块;根据更新后的第一模块和第二模块确定第二全局布局信息。
[0010]可选地,通过遗传算法对每个更新后的第一模块中的宏单元重新布局,得到多个布局样式,并从多个布局样式中选取目标布局样式包括:对第一模块中的宏单元进行随机编码,得到多个编码,并将第一模块中各个编码对应的布局样式确定为个体,得到多个个体,由多个个体构成初代种群;在初代种群中确定多对母体,对每对母体进行交叉得到多个下一代个体,对部分下一代个体进行变异,得到下一代种群,并淘汰下一代种群中适应度不满足预设适应度条件的个体,得到更新后的下一代种群,直至得到更新后的第N代种群;获取更新后的第N代种群中适应度最高的个体,获取适应度最高的个体对应的编码,并将编码对应的布局样式确定为目标布局样式。
[0011]可选地,对第一模块中的宏单元进行随机编码包括:对第一模块中的宏单元按照纵坐标排序,得到排序结果;将排序结果中的每个基因点确定为0,在排序结果中随机确定参照点,并将参照点对应的基因点变更为1,由排序结果中的基因点构成编码。
[0012]可选地,在排序结果中随机确定参照点之后,方法还包括:判断排序结果中相邻参照点之间的基因点数量是否小于第一数量,在小于第一数量的情况下,删除相邻参照点中的一个参照点。
[0013]可选地,在初代种群中确定多对母体包括:计算初代种群中的每个个体的适应度,得到多个适应度,并对多个适应度进行加和,得到总体适应度;计算每个个体的适应度与总体适应度的比值,得到个体对应的权重,其中,权重用于指示个体被确定为母体的概率;每次基于个体对应的权重在初代种群中确定一对母体,得到多对母体。
[0014]可选地,每对母体包括第一母体和第二母体,对每对母体进行交叉得到多个下一代个体包括:将第一母体分别按照参照点切分为一对第一片段,得到多对第一片段,其中,每对第一片段包括第一子片段和第二子片段;对第二母体分别按照参照点切分为一对第二片段,得到多对第二片段,其中,每对第二片段包括第三子片段和第四子片段;将每个第一子片段和对应的第四子片段进行拼接,并将每个第二子片段和对应的第三子片段进行拼接,得到多对拼接后的个体,其中,每个第一子片段和对应的第四子片段的基因点的数量之和为母体包含的基因点的数量,每个第二子片段和对应的第三子片段的基因点的数量之和为母体包含的基因点的数量;从多对拼接后的个体中选择参照点数量最多的个体,得到下一代个体。
[0015]可选地,对部分下一代个体进行变异包括:判断个体对应的编码中的第一个参照点与第一个基因点之间的基因点数量是否大于第二数量,并在大于第二数量的情况下,在第一个参照点与第一个基因点之间增加参考点;或者判断个体对应的编码中的最后一个参照点与最后一个基因点之间的基因点数量是否大于第二数量,并在大于第二数量的情况下,在最后一个参照点与最后一个基因点之间增加参考点;或者判断个体对应的编码中的相邻两个参考点之间的基因点数量是否大于第三数量,并在大于第三数量的情况下,在相邻两个参考点之间增加参考点。
[0016]可选地,淘汰下一代种群中适应度不满足预设适应度条件的个体包括:将下一代种群中的个体包含的各个宏单元分别移动至距离最近的参考点对应的宏单元所在的排列,得到多个排列;计算个体包含的各个宏单元的位置相对于自身在第一全局布局中的位置的偏移量之和,并计算个体对应的多个排列的长度之和;将偏移量之和与多个排列的长度之和相加,得到个体的适应度。
[0017]根据本申请的另一方面,提供了一种集成电路的布局装置。该装置包括:获取单元,用于获取集成电路的第一全局布局信息;更新单元,用于对第一全局布局信息中第一模块中的宏单元进行更新,得到第二全局布局信息;第一布局单元,用于通过遗传算法对每个更新后的第一模块中的宏单元重新布局,得到多个布局样式,并从多个布局样式中选取目标布局样式;第二布局单元,用于根据第二全局布局信息布局第二模块,并根据目标布局样式布局第一模块中的宏单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集成电路的布局方法,其特征在于,包括:获取集成电路的第一全局布局信息,其中,所述第一全局布局信息包括多个第一模块和多个第二模块,所述第一模块中包含宏单元,所述第二模块中不包含宏单元;对所述第一全局布局信息中所述第一模块中的宏单元进行更新,得到第二全局布局信息;通过遗传算法对每个更新后的所述第一模块中的宏单元重新布局,得到多个布局样式,并从所述多个布局样式中选取目标布局样式;根据所述第二全局布局信息布局所述第二模块,并根据所述目标布局样式布局所述第一模块中的宏单元,得到目标全局布局信息。2.根据权利要求1所述的方法,其特征在于,对所述第一全局布局信息中所述第一模块中的宏单元进行更新,得到第二全局布局信息包括:获取所述第一模块,并获取每个所述第一模块中的宏单元的坐标,得到多个坐标集合;确定每个所述坐标集合对应的区域,得到多个区域;对所述多个区域中重叠部分满足预设重叠条件的不同区域进行合并,得到至少一个合并后的区域,并将所述合并后的区域确定为更新后的第一模块;根据所述更新后的第一模块和所述第二模块确定所述第二全局布局信息。3.根据权利要求1所述的方法,其特征在于,通过遗传算法对每个更新后的所述第一模块中的宏单元重新布局,得到多个布局样式,并从所述多个布局样式中选取目标布局样式包括:对所述第一模块中的宏单元进行随机编码,得到多个编码,并将所述第一模块中各个所述编码对应的布局样式确定为个体,得到多个个体,由所述多个个体构成初代种群;在所述初代种群中确定多对母体,对每对所述母体进行交叉得到多个下一代个体,对部分所述下一代个体进行变异,得到下一代种群,并淘汰所述下一代种群中适应度不满足预设适应度条件的个体,得到更新后的下一代种群,直至得到更新后的第N代种群;获取所述更新后的第N代种群中适应度最高的个体,获取所述适应度最高的个体对应的编码,并将所述编码对应的布局样式确定为所述目标布局样式。4.根据权利要求3所述的方法,其特征在于,对所述第一模块中的宏单元进行随机编码包括:对所述第一模块中的宏单元按照纵坐标排序,得到排序结果;将所述排序结果中的每个基因点确定为0,在所述排序结果中随机确定参照点,并将所述参照点对应的基因点变更为1,由所述排序结果中的基因点构成编码。5.根据权利要求4所述的方法,其特征在于,在所述排序结果中随机确定参照点之后,所述方法还包括:判断所述排序结果中相邻参照点之间的基因点数量是否小于第一数量,在小于所述第一数量的情况下,删除所述相邻参照点中的一个参照点。6.根据权利要求3所述的方法,其特征在于,在所述初代种群中确定多对母体包括:计算所述初代种群中的每个个体的适应度,得到多个适应度,并对所述多个适应度进行加和,得到总体适应度;计算每个个体的适应度与所述总体适应度的比值,得到所述个体对应的权重,其中,所
述权重用于指示...

【专利技术属性】
技术研发人员:王勤耕晁军沈钲蒋颖波
申请(专利权)人:比科奇微电子杭州有限公司
类型:发明
国别省市:

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

1