本技术实施例涉及计算机,特别涉及一种芯片布局方法、装置、设备及存储介质。
背景技术:
1、芯片布局是指将宏单元和标准单元布局在芯片上,随着电路规模和设计复杂度的不断攀升,芯片布局方法也需要对不断进行优化。
2、相关技术中,采用基于静电的布局算法进行布局,将芯片建模为静电系统,将每个宏单元和标准单元视为带正电的粒子,由于粒子之间存在静电力形成互斥,从而将芯片布局问题转发为具有势能约束的粒子之间距离最小化问题。但是,由于上述方法通常需要同时对宏单元和标准单元进行放置,而宏单元的面积远超标准单元的面积,导致布局结果的性能主要取决于宏单元的布局方式,容易出现布局结果的性能不佳的问题。
技术实现思路
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、所述模型训练模块,用于:
45、采用蒙特卡洛树搜索算法,根据所述样本芯片信息、所述样本宏单元信息和所述标准单元集合信息,搜索所述样本宏单元和所述标准单元集合在所述芯片上的位置,根据搜索结果确定第二概率分布和第二值参数,所述第二概率分布表示搜索到所述样本宏单元和所述标准单元集合在所述芯片上的各个位置的概率,所述位置的概率与所述位置被搜索的次数正相关,所述第二值参数表示将所述样本宏单元和所述标准单元集合布局在搜索到的位置时芯片性能的好坏程度;
46、基于所述第一概率分布、所述第一值参数、所述第二概率分布和所述第二值参数,训练所述芯片布局模型。
47、可选地,所述模型训练模块,用于:
48、基于所述第一概率分布与所述第二概率分布之间的差异,以及所述第一值参数与所述第二值参数之间的差异,训练所述芯片布局模型,以使通过训练后的所述芯片布局模型得到的第一概率分布和所述第二概率分布之间的差异减小,且得到的第一值参数与所述第二值参数之间的差异减小。
49、可选地,所述模型训练模块,用于:
50、采用蒙特卡洛树搜索算法,根据所述样本芯片信息、所述样本宏单元信息、所述标准单元集合信息和所述第一概率分布,搜索所述样本宏单元和所述标准单元集合在所述芯片上的位置,以使各个位置被搜索到的概率等于所述第一概率分布中的各个位置的概率。
51、可选地,所述第一布局策略包括按顺序排列的多个布局子策略,所述布局子策略是指按照前面的布局子策略进行布局后,下一个所述样本宏单元或下一个所述标准单元集合的第一概率分布,所述第二值参数包括每个布局子策略的值参数,所述布局子策略的值参数表示按照所述布局子策略进行布局后芯片性能的好坏程度;
52、所述模型训练模块,用于:
53、确定多个所述布局子策略的值参数的参数平均值;
54、基于每个所述布局子策略的值参数和所述参数平均值,训练所述芯片布局模型,以使通过训练后的所述芯片布局模型得到的每个所述布局子策略的值参数与所述参数平均值的差值减小。
55、可选地,所述模型训练模块,用于:
56、根据所述搜索结果,确定第二布局策略,所述第二布局策略指示所述样本宏单元在所述样本芯片的非中心区域的位置以及所述标准单元集合在所述样本芯片的中心区域的位置;
57、按照所述第二布局策略,生成第三布局结果,所述第三布局结果是指将所述样本宏单元和所述标准单元集合布局在所述样本芯片中的结果;
58、根据所述第三布局结果,确定样本标准单元布局策略,所述样本标准单元布局策略指示所述样本标准单元在对应的标准单元集合所在的区域中的位置;
59、按照所述样本标准单元布局策略,对所述第三布局结果进行调整,得到第四布局结果,所述第四布局结果是指将所述样本宏单元和所述标准单元布局在所述样本芯片中的结果;
60、基于所述第四布局结果,确定所述第二值参数。
61、可选地,所述模型训练模块,用于:
62、通过所述芯片布局模型,根据所述样本芯片信息、所述样本宏单元信息、所述标准单元集合信息和布局约束条件,预测所述第一布局策略,以使所述第一布局策略满足所述布局约束条件,所述布局约束条件包括所述样本宏单元的位置位于所述样本芯片的非中心区域,所述标准单元集合的位置位于所述样本芯片的中心区域。
63、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现上述方面所述的芯片布局方法。
64、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现上述方面所述的芯片布局方法。
65、另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序由处理器加载并执行,以实现上述方面所述的芯片布局方法。
66、本技术实施例提供的方案,将宏单元的布局和标准单元的布局分为两部分,首先通过芯片布局模型,预测宏单元在芯片中的布局策略,并使得宏单元布局在芯片的非中心区域,由于宏单元的面积较大,将宏单元布局在非中心区域可以降低阻塞布线路径的可能性。在确定宏单元的布局策略之后,再将面积较小的标准单元布局在芯片的剩余区域中,实现了对宏单元和标准单元的合理分布,有利于提高芯片布局结果的性能。
1.一种芯片布局方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述芯片布局模型的训练过程,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一布局策略,训练所述芯片布局模型,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述第二布局结果,确定奖励参数,包括以下至少一项:
5.根据权利要求3所述的方法,其特征在于,所述通过所述芯片布局模型,根据所述样本芯片信息、所述样本宏单元信息和所述标准单元集合信息,预测第一布局策略,包括:
6.根据权利要求5所述的方法,其特征在于,所述第一布局策略包括按顺序排列的多个布局子策略,所述布局子策略指示按照前面的布局子策略进行布局后,下一个所述样本宏单元或下一个所述标准单元集合在所述样本芯片中的位置,所述值参数包括每个布局子策略的值参数,所述布局子策略的值参数表示按照所述布局子策略进行布局后芯片性能的好坏程度;
7.根据权利要求2所述的方法,其特征在于,所述第一布局策略包括第一概率分布,所述第一概率分布表示所述样本宏单元和所述标准单元集合在所述芯片上的各个位置的概率;所述通过所述芯片布局模型,根据所述样本芯片信息、所述样本宏单元信息和所述标准单元集合信息,预测第一布局策略,包括:
8.根据权利要求7所述的方法,其特征在于,所述基于所述第一概率分布、所述第一值参数、所述第二概率分布和所述第二值参数,训练所述芯片布局模型,包括:
9.根据权利要求7所述的方法,其特征在于,所述采用蒙特卡洛树搜索算法,根据所述样本芯片信息、所述样本宏单元信息和所述标准单元集合信息,搜索所述样本宏单元和所述标准单元集合在所述芯片上的位置,包括:
10.根据权利要求7所述的方法,其特征在于,所述第一布局策略包括按顺序排列的多个布局子策略,所述布局子策略是指按照前面的布局子策略进行布局后,下一个所述样本宏单元或下一个所述标准单元集合的第一概率分布,所述第二值参数包括每个布局子策略的值参数,所述布局子策略的值参数表示按照所述布局子策略进行布局后芯片性能的好坏程度;
11.根据权利要求2所述的方法,其特征在于,所述通过所述芯片布局模型,根据所述样本芯片信息、所述样本宏单元信息和所述标准单元集合信息,预测第一布局策略,包括:
12.一种芯片布局装置,其特征在于,所述装置包括:
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现权利要求1至11任一项所述的芯片布局方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现权利要求1至11任一项所述的芯片布局方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序由处理器加载并执行,以实现权利要求1至11任一项所述的芯片布局方法。
