一种利用复杂网络和机器学习预测电路拥塞度方法

文档序号:29809211发布日期:2022-04-27 02:23阅读:304来源:国知局
一种利用复杂网络和机器学习预测电路拥塞度方法

1.本发明涉及机器学习结合复杂网络理论应用到超大规模集成电路拥塞度预测的技术领域,尤其涉及一种利用复杂网络和机器学习预测电路拥塞度方法。


背景技术:

2.近年来,随着芯片设计与半导体工艺的快速发展,超大规模集成电路(vlsi)在规模和复杂性上不断增长,导致集成电路物理设计变得日益困难,并且其设计尺寸也在不断缩小,布线拥塞度就成为了超大规模集成电路设计可制造性的一个非常重要的因素。电子设计自动化(eda)是解决vlsi设计问题的重要工具。然而,目前的eda工具需要大量的运行时间,而且很难对拥塞度进行精确的预测。现如今围绕机器学习与eda工具对电路拥塞度进行预测的课题做了大量的研究工作。机器学习回归预测模型大大减少了运行时间,并且与传统预测方法相比,预测精度大幅度提高。复杂网络在各个领域尤其是集成电路设计方面的研究推进,为集成电路物理设计的优化提供了另外一种思路。集成电路是电路元件、模块和子系统及其之间连接的超级集合,将模块等当作节点,模块之间的连接关系当作边,距离或连接次数当作权重,从而将集成电路转换为复杂网络形式。
3.虽然复杂网络在集成电路设计这一方面得到了广泛应用,但集成电路拥塞度的预测方面很少涉及,难以通过布局工具得到电路布局图,难以通过复杂网络建模将其转换为复杂网络,从而无法提取复杂网络特征参数。
4.因此,本发明提出了一种利用复杂网络和机器学习预测电路拥塞度方法,以提供一种利用复杂网络特征参数作为机器学习的输入特征来预测集成电路拥塞度的方法。


技术实现要素:

5.针对现有技术的不足,本发明提供了一种利用复杂网络和机器学习预测电路拥塞度方法,解决了难以通过布局工具得到电路布局图,难以通过复杂网络建模将其转换为复杂网络,从而无法提取复杂网络特征参数的问题。
6.为了实现上述目的,本发明采用了如下技术方案:
7.一种利用复杂网络和机器学习预测电路拥塞度方法,包括以下步骤:
8.s1:对电路进行布局与布线;
9.s2:生成数据集;
10.s3:训练机器学习模型;
11.s4:利用机器学习模型预测电路拥塞度;
12.所述步骤s1中对电路进行布局与布线包括以下步骤:
13.s101:利用eda布局工具对基准电路进行布局,得到电路布局图;
14.s102:利用eda布线工具对布局后的电路进行布线,得到拥塞度报告;
15.所述步骤s2中生成数据集包括以下步骤:
16.s201:对电路布局进行复杂网络建模;
17.s202:利用复杂网络分析工具提取电路中各模块的复杂网络特征参数;
18.s203:将电路占用区域按一定大小划分为若干个分区,进行数据预处理;
19.s204:根据各分区所包含的模块,计算分区的复杂网络参数;
20.s205:依照电路布线后的版图,提取各分区的拥塞度;
21.s206:对若干个不同的电路重复执行s201-s205,产生足够的数据;
22.所述步骤s3中训练机器学习模型,包括以下步骤:
23.s301:将数据集按一定的比例划分成训练集、测试集;
24.s302:选取机器学习模型,并在训练集上训练优化;
25.s303:利用测试集测试机器学习模型预测拥塞度的准确性,计算出评价模型的评估指标;
26.所述步骤s4中利用机器学习模型预测电路拥塞度,包括以下步骤:
27.s401:利用eda布局工具对待测电路进行布局,得到电路布局图;
28.s402:对布局后得到的电路布局图进行复杂网络建模;
29.s403:利用复杂网络分析工具计算提取复杂网络特征参数;
30.s404:将复杂网络特征参数作为模型的输入,预测该电路拥塞度。
31.优选的,所述步骤s102中利用eda工具对初始电路进行布局及布线,得到电路拥塞度后,将布局后的版图转化为复杂网络。
32.优选的,将布局后的版图转化为复杂网络后,并通过复杂网络分析工具计算。
33.优选的,再对拥塞区域进性提取和划分,提取相应的复杂网络特征参数。
34.优选的,所述步骤s303中利用训练集对机器学习模型进行训练后,同时利用测试集测试模型,计算出模型的评估指标。
35.优选的,所述步骤s4中,对待测电路进行复杂网络特征参数提取,输入到机器学习模型。
36.优选的,输入到机器学习模型之后再进行电路拥塞度预测。
37.与现有技术相比,本发明的有益效果是:该利用复杂网络和机器学习预测电路拥塞度方法,通过利用工具对基准电路进行布局和布线,再将布局后的电路布局图进行复杂网络建模,通过复杂网络分析工具计算复杂网络特征参数,然后根据拥塞度报告划分并提取分区的复杂网络特征参数,将复杂网络特征参数作为机器学习的特征参数,电路拥塞度作为机器学习的标签,组成机器学习的数据集,然后划分数据集,训练和测试机器学习模型,最终得到的机器学习模型可以对待测电路进行拥塞度预测,从而通过布局工具得到电路布局图,并通过复杂网络建模将其转换为复杂网络,进而提取了复杂网络特征参数,从而达到了透明地应用到eda的设计流程以在布线前进行电路拥塞度预测的效果,具有运行速度快、节省布线时间、准确性高、连接关系信息完整的优点。
附图说明
38.图1为本发明方法的运作机制示意图;
39.图2为本发明的数据集生成示意图;
40.图3为本发明的数据集划分示意图;
41.图4为本发明的机器学习模型训练与测试示意图;
42.图5为本发明的机器学习模型电路拥塞度预测示意图。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.实施例:参照图1-5,一种利用复杂网络和机器学习预测电路拥塞度方法,包括以下步骤:
45.s1:对电路进行布局与布线;
46.s2:生成数据集;
47.s3:训练机器学习模型;
48.s4:利用机器学习模型预测电路拥塞度;
49.步骤s1中对电路进行布局与布线包括以下步骤:
50.s101:利用eda布局工具对基准电路进行布局,得到电路布局图;
51.s102:利用eda布线工具对布局后的电路进行布线,得到拥塞度报告;
52.步骤s2中生成数据集包括以下步骤:
53.s201:对电路布局进行复杂网络建模;
54.s202:利用复杂网络分析工具提取电路中各模块的复杂网络特征参数;
55.s203:将电路占用区域按一定大小划分为若干个分区,进行数据预处理;
56.s204:根据各分区所包含的模块,计算分区的复杂网络参数;
57.s205:依照电路布线后的版图,提取各分区的拥塞度;
58.s206:对若干个不同的电路重复执行s201-s205,产生足够的数据;
59.步骤s3中训练机器学习模型,包括以下步骤:
60.s301:将数据集按一定的比例划分成训练集、测试集;
61.s302:选取机器学习模型,并在训练集上训练优化;
62.s303:利用测试集测试机器学习模型预测拥塞度的准确性,计算出评价模型的评估指标;
63.步骤s4中利用机器学习模型预测电路拥塞度,包括以下步骤:
64.s401:利用eda布局工具对待测电路进行布局,得到电路布局图;
65.s402:对布局后得到的电路布局图进行复杂网络建模;
66.s403:利用复杂网络分析工具计算提取复杂网络特征参数;
67.s404:将复杂网络特征参数作为模型的输入,预测该电路拥塞度。
68.本发明中,步骤s102中利用eda工具对初始电路进行布局及布线,得到电路拥塞度后,将布局后的版图转化为复杂网络。
69.本发明中,将布局后的版图转化为复杂网络后,并通过复杂网络分析工具计算。
70.本发明中,再对拥塞区域进性提取和划分,提取相应的复杂网络特征参数。
71.本发明中,步骤s303中利用训练集对机器学习模型进行训练后,同时利用测试集测试模型,计算出模型的评估指标。
72.本发明中,步骤s4中,对待测电路进行复杂网络特征参数提取,输入到机器学习模型。
73.本发明中,输入到机器学习模型之后再进行电路拥塞度预测。
74.工作原理:在超大规模集成电路的物理设计阶段中,对基准电路进行布局和布线,得到电路布局图和布线后的电路拥塞度,然后,将布局产生的电路布局图转换为复杂网络,利用复杂网络分析工具提取布局图所对应的复杂网络的特征参数,如度中心性、介数中心性、接近度中心性等;根据电路设计确定分区大小,将电路拥塞区域划分为若干区域,计算各分区的复杂网络特征参数与对应的拥塞度;复杂网络特征参数作为机器学习的特征参数,电路拥塞度作为机器学习的标签,将上述数据合成得到训练优化机器学习模型的数据集。最后,将数据集以一定的比例划分为训练集、测试集;选择若干个机器学习模型,如回归模型、随机森林模型、人工神经网络模型等;利用训练集训练机器学习模型,利用测试集评估测试机器学习模型,计算出评价模型的评估指标,使用均方误差(mse),均方根误差(rmse)评估指标等。最终选择评估指标最佳的机器学习模型,模型可以对任意电路进行准确的拥塞度预测;
75.利用复杂网络和机器学习预测电路拥塞度方法的运作机制为:
76.1、本发明测试所使用的电路为bookshelf格式的集成电路表示方式,利用eda工具和复杂网络分析工具后得到本方法需要的数据集;
77.2、利用eda布局工具对基准电路进行布局,得到电路布局图;
78.3、利用eda布线工具对电路布局进行布线,得到电路拥塞度报告,根据电路设计,根据电路设计确定分区大小,将电路拥塞区域划分为若干区域,计算各分区的复杂网络特征参数与对应的拥塞度;
79.4、利用复杂网络建模工具将电路版图转换为复杂网络的表现形式,得到无权重的复杂网络,再利用复杂网络分析工具生成有无向有权的复杂网络表示,将产生的复杂网络表示输入到复杂网络分析工具,提取复杂网络特征参数,如度中心性、介数中心性、接近度中心性等;
80.5、将每个分区的复杂网络特征参数作为机器学习的特征输入,电路拥塞度作为机器学习的标签输出,组成一条数据;
81.6、对若干个不同的电路重复执行上述步骤,得到若干条数据记录,生成足够大的数据集;
82.机器学习模型训练与测试过程为:
83.1、将数据集以一定的比例划分为训练集、测试集;
84.2、用户自主选择或构建机器学习模型,利用训练集训练机器学习模型。使用回归模型、随机森林模型、人工神经网络模型(但不限于此)进行构建;
85.3、利用测试集评估测试机器学习模型,计算出评价模型的评估指标,使用均方误差(mse),均方根误差(rmse)评估指标(但不限于此)衡量预测值与实际值之间的差异度和模型预测的准确性,得到评估指标值:
86.[0087][0088]
机器学习模型电路拥塞度预测过程为:
[0089]
1、利用eda工具对待测电路进行布局得到电路布局图,对电路布局图进行复杂网络建模,提取复杂网络特征参数;
[0090]
2、将复杂网络特征参数作为机器学习模型的输入,输出得到该电路的预测拥塞度。
[0091]
需要说明的是,在本文中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0092]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1