本技术涉及芯片布局领域,特别是涉及一种芯片布局方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、随着芯片的工艺纳米尺寸越来越小,芯片里面的晶元个数越来越多,芯片逐渐从简单的集成电路变成了超大规模集成电路,而芯片中各个元器件的摆放位置和布线方式也开始对芯片性能产生越来越大的影响。
2、目前存在一些能够对芯片进行自动布局的算法,比如针对宏单元布局的autodmp(基于dreamplace(一种深度学习工具包)的自动化布局算法)等。但是由于不同芯片的电路设计不同,这些算法针对特定芯片生成的布局以及生成布局时使用的参数往往不能直接迁移到其他芯片上,导致在具有同时对多种不同芯片进行布局的需求时,针对每一种芯片均要执行一遍采用算法生成布局的完整过程,致使芯片布局生成效率较低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种芯片布局方法、装置、计算机设备、存储介质和计算机程序产品。
2、第一方面,本技术提供了一种芯片布局方法。所述方法包括:
3、根据各待布局芯片的电路信息向量之间的相似度,从各所述待布局芯片中确定目标待布局芯片的参考待布局芯片;所述目标待布局芯片是任意一个所述待布局芯片;
4、在所述参考待布局芯片满足布局参数迁移条件的情况下,将所述参考待布局芯片的各候选布局参数,作为所述目标待布局芯片的目标候选布局参数,并根据各所述候选布局参数对应所述参考待布局芯片的布局质量指标值,确定所述目标待布局芯片的参数遍历策略;
5、按照所述参数遍历策略遍历各所述目标候选布局参数,针对当前遍历到的目标候选布局参数,将所述目标候选布局参数和所述目标待布局芯片的电路信息输入至芯片布局模型中,得到所述目标候选布局参数对应的布局设计,以及所述布局设计对应的布局质量指标值,并在所述布局质量指标值满足预设指标值条件的情况下,按照所述布局设计对所述目标待布局芯片进行芯片布局。
6、在其中一个实施例中,所述方法还包括:
7、在不存在所述目标待布局芯片的所述参考待布局芯片,或者所述参考待布局芯片不满足布局参数迁移条件的情况下,生成所述目标待布局芯片的所述目标候选布局参数,并根据各所述目标候选布局参数确定所述目标待布局芯片的参数遍历策略。
8、在其中一个实施例中,所述生成所述目标待布局芯片的所述目标候选布局参数,包括:
9、确定所述目标待布局芯片的初始候选布局参数,并将所述初始候选布局参数输入至芯片布局模型中,得到所述初始候选布局参数对应的初始布局质量指标值;
10、根据所述初始候选布局参数生成至少一个目标候选布局参数,并从各所述目标候选布局参数中,确定新的初始候选布局参数,其中各所述目标候选布局参数的预期布局质量指标值,大于或者等于所述初始布局质量指标值;
11、重复执行将所述初始候选布局参数输入至芯片布局模型中,得到所述初始候选布局参数对应的初始布局质量指标值,根据所述初始候选布局参数生成至少一个目标候选布局参数,并从各所述目标候选布局参数中,确定新的初始候选布局参数的步骤,直至各所述目标候选布局参数的数量达到预设数量为止。
12、在其中一个实施例中,所述方法还包括:
13、针对任一所述待布局芯片,根据所述待布局芯片中的各标准单元及各所述标准单元之间的连接关系,生成所述待布局芯片的第一电路信息图,根据所述待布局芯片中的各门电路及各所述门电路之间的连接关系,生成所述待布局芯片的第二电路信息图;
14、分别根据各所述待布局芯片的所述第一电路信息图和所述第二电路信息图,生成各所述待布局芯片的电路信息向量。
15、在其中一个实施例中,所述根据各待布局芯片的电路信息向量之间的相似度,从各所述待布局芯片中确定目标待布局芯片的参考待布局芯片,包括:
16、从各所述待布局芯片中确定初始待布局芯片,将所述初始待布局芯片作为第一待布局芯片,从各第二待布局芯片中,确定电路信息向量和所述第一待布局芯片的所述电路信息向量之间相似度最大的目标第二待布局芯片;其中,所述第二待布局芯片是除所述初始待布局芯片外的、不具有参考待布局芯片的待布局芯片;
17、将所述第一待布局芯片作为所述目标第二待布局芯片的参考待布局芯片,将所述目标第二待布局芯片作为第一待布局芯片,重复执行从各第二待布局芯片中,确定电路信息向量和所述第一待布局芯片的所述电路信息向量之间相似度最大的目标第二待布局芯片,并将所述第一待布局芯片作为所述目标第二待布局芯片的参考待布局芯片的步骤,直至不存在第二待布局芯片为止。
18、在其中一个实施例中,所述方法还包括:
19、根据各所述待布局芯片的所述电路信息向量,对各所述待布局芯片进行聚类处理,得到至少一个待布局芯片类别;
20、在所述目标待布局芯片所属的待布局芯片类别,和所述参考待布局芯片所属的待布局芯片类别相同的情况下,确定所述参考待布局芯片满足所述布局参数迁移条件;或者,
21、在所述目标待布局芯片和所述参考待布局芯片之间的相似度大于或者等于相似度阈值的情况下,确定所述参考待布局芯片满足所述布局参数迁移条件。
22、第二方面,本技术还提供了一种芯片布局装置。所述装置包括:
23、第一确定模块,用于根据各待布局芯片的电路信息向量之间的相似度,从各所述待布局芯片中确定目标待布局芯片的参考待布局芯片;所述目标待布局芯片是任意一个所述待布局芯片;
24、迁移模块,用于在所述参考待布局芯片满足布局参数迁移条件的情况下,将所述参考待布局芯片的各候选布局参数,作为所述目标待布局芯片的目标候选布局参数,并根据各所述候选布局参数对应所述参考待布局芯片的布局质量指标值,确定所述目标待布局芯片的参数遍历策略;
25、布局模块,用于按照所述参数遍历策略遍历各所述目标候选布局参数,针对当前遍历到的目标候选布局参数,将所述目标候选布局参数和所述目标待布局芯片的电路信息输入至芯片布局模型中,得到所述目标候选布局参数对应的布局设计,以及所述布局设计对应的布局质量指标值,并在所述布局质量指标值满足预设指标值条件的情况下,按照所述布局设计对所述目标待布局芯片进行芯片布局。
26、在其中一个实施例中,所述装置还包括:
27、第一生成模块,用于在不存在所述目标待布局芯片的所述参考待布局芯片,或者所述参考待布局芯片不满足布局参数迁移条件的情况下,生成所述目标待布局芯片的所述目标候选布局参数,并根据各所述目标候选布局参数确定所述目标待布局芯片的参数遍历策略。
28、在其中一个实施例中,所述第一生成模块,还用于:
29、确定所述目标待布局芯片的初始候选布局参数,并将所述初始候选布局参数输入至芯片布局模型中,得到所述初始候选布局参数对应的初始布局质量指标值;
30、根据所述初始候选布局参数生成至少一个目标候选布局参数,并从各所述目标候选布局参数中,确定新的初始候选布局参数,其中各所述目标候选布局参数的预期布局质量指标值,大于或者等于所述初始布局质量指标值;
31、重复执行将所述初始候选布局参数输入至芯片布局模型中,得到所述初始候选布局参数对应的初始布局质量指标值,根据所述初始候选布局参数生成至少一个目标候选布局参数,并从各所述目标候选布局参数中,确定新的初始候选布局参数的步骤,直至各所述目标候选布局参数的数量达到预设数量为止。
32、在其中一个实施例中,所述装置还包括:
33、第二生成模块,用于针对任一所述待布局芯片,根据所述待布局芯片中的各标准单元及各所述标准单元之间的连接关系,生成所述待布局芯片的第一电路信息图,根据所述待布局芯片中的各门电路及各所述门电路之间的连接关系,生成所述待布局芯片的第二电路信息图;
34、第三生成模块,用于分别根据各所述待布局芯片的所述第一电路信息图和所述第二电路信息图,生成各所述待布局芯片的电路信息向量。
35、在其中一个实施例中,所述第一确定模块,还用于:
36、从各所述待布局芯片中确定初始待布局芯片,将所述初始待布局芯片作为第一待布局芯片,从各第二待布局芯片中,确定电路信息向量和所述第一待布局芯片的所述电路信息向量之间相似度最大的目标第二待布局芯片;其中,所述第二待布局芯片是除所述初始待布局芯片外的、不具有参考待布局芯片的待布局芯片;
37、将所述第一待布局芯片作为所述目标第二待布局芯片的参考待布局芯片,将所述目标第二待布局芯片作为第一待布局芯片,重复执行从各第二待布局芯片中,确定电路信息向量和所述第一待布局芯片的所述电路信息向量之间相似度最大的目标第二待布局芯片,并将所述第一待布局芯片作为所述目标第二待布局芯片的参考待布局芯片的步骤,直至不存在第二待布局芯片为止。
38、在其中一个实施例中,所述装置还包括:
39、聚类模块,用于根据各所述待布局芯片的所述电路信息向量,对各所述待布局芯片进行聚类处理,得到至少一个待布局芯片类别;
40、第二确定模块,用于在所述目标待布局芯片所属的待布局芯片类别,和所述参考待布局芯片所属的待布局芯片类别相同的情况下,确定所述参考待布局芯片满足所述布局参数迁移条件;或者在所述目标待布局芯片和所述参考待布局芯片之间的相似度大于或者等于相似度阈值的情况下,确定所述参考待布局芯片满足所述布局参数迁移条件。
41、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一项方法。
42、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项方法。
43、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上任一项方法。
44、上述芯片布局方法、装置、计算机设备、存储介质和计算机程序产品,在对多种不同的待布局芯片进行布局设计时,确定和目标待布局芯片相似的参考待布局芯片,若参考待布局芯片可以进行布局参数迁移,则将参考待布局芯片使用过的各候选布局参数迁移至目标待布局芯片上,并根据参考待布局芯片使用每个候选布局参数得到的布局质量指标值,确定目标待布局芯片尝试各个候选布局参数的顺序(即参数遍历策略)。按照参数遍历策略顺序尝试每个候选布局参数,将候选布局参数输入至芯片布局模型中得到符合候选布局参数的布局设计,并确定布局设计的布局质量指标值。若布局质量指标值满足要求,则按照布局设计对目标待布局芯片进行布局。本技术实施例在对芯片进行布局时,确定可以用于参考的参考待布局芯片,并以参考待布局芯片针对各个候选布局参数验证出的布局质量指标值作为参考,确定要优先使用哪些候选布局参数进行目标待布局芯片的布局。由于参考待布局芯片和目标待布局芯片相似,因此针对参考待布局芯片表现较好的候选布局参数能同样在目标待布局芯片上表现较好的概率较大,可以使目标待布局芯片经过较少的数次候选布局参数尝试后即找到满足要求的布局设计,提高芯片布局生成效率。
1.一种芯片布局方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述生成所述目标待布局芯片的所述目标候选布局参数,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1或4所述的方法,其特征在于,所述根据各待布局芯片的电路信息向量之间的相似度,从各所述待布局芯片中确定目标待布局芯片的参考待布局芯片,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.一种芯片布局装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
