一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于图神经网络的解析布局方法与流程

2022-12-10 12:31:01 来源:中国专利 TAG:


1.本发明涉及芯片布局技术领域,更具体地,涉及一种基于图神经网络的解析布局方法。


背景技术:

2.布局(floorplan)是集成电路设计的关键环节之一。随着集成电路规模的指数级增长,对布图规划的智能化需求愈加迫切和不可或缺,而布图规划的智能化发展也必将节约更多人力成本和时间成本。集成电路布局的主要目标是,在线长最小和布局中没有重叠单元的前提下,为每个宏模块确定位置。
3.在已有的方法中,将解析布局问题的求解过程映射到神经网络的训练过程:电路图作为一个网络(net),也可以成为一个图(graph),通过计算为该图生成一个特征向量和一个大小为0的标签(即半周线长的理想值)。然后,将该具有特征向量和标签的图送入到神经网络中,将各个模块的位置坐标(x,y)作为待训练的神经网络的权重参数,并且将预测得到的布局后的电路图的线长与真实值(即标签值,大小为0)的差值的绝对值作为损失函数。然而该方法的输入只使用了诸如:模块的长和宽等简单的特征信息,并未对模块的特征开展进一步的挖掘。
4.现有技术公开了一种基于深度强化学习的优化芯片布局系统及方法。该方法利用数据预处理模块读取并解析pl、net文件,将其中的网表图信息转换为智能体的初始状态以及奖励函数;策略网络模块通过卷积神经网络和图神经网络分别得到分别包含粗细粒度的全局嵌入特征与结点嵌入特征,将两个网络分别得到的特征向量融合,最终预测出当前时刻行为,即元件可能的放置位置的概率分布。该方案基于强化学习的思路,存在需要的训练数据规模大、需要迭代次数多、需要训练时间长的缺陷。
5.为此,结合以上需求和现有技术缺陷,本技术提出了一种基于图神经网络的解析布局方法。


技术实现要素:

6.本发明提供了一种基于图神经网络的解析布局方法,拥有强大的特征表达能力,让模型具备更快的收敛速度和更优的预测结果,实现了布局的智能化和高效性。
7.本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:
8.本发明第一方面提供了一种基于图神经网络的解析布局方法,包括以下步骤:
9.s1、从电路图数据中提取网表文件和模块属性用于构建数据集并将所述数据集按照预设的比例划分为训练集和验证集。
10.s2、基于图神经网络构建编码器模型即gnn模型,所述编码器用于对网表文件和模块属性进行编码,得到图嵌入表示;构建解码器模型即神经网络模型,将图嵌入表示输入至所述解码器,输出待预测的半周线长指标。
11.s3、采用训练集数据对编码器和解码器进行训练,设置整个网络的损失函数,将训
练集输入gnn模型,输出的图嵌入表示输入神经网络模型,最终输出电路图数据的半周线长值预测值,利用损失函数计算预测值与真实值之间的误差,通过反向传播技术更新两个模型的权重参数,完成一次迭代过程;重复迭代直到遍历整个训练集,完成一期训练;
12.s4、重复步骤s3直到完成设定期数的训练,将验证集输入训练完毕的gnn模型和神经网络模型,对在验证集上表现最优的模型的权重参数进行保存;
13.s5、将保存的权重参数加载至gnn模型并固化,将待布局电路图数据的m种布局结果依次通过gnn模型和神经网络模型,通过计算均方误差对神经网络模型的参数进行微调,经过设定次数迭代优化后,最后一层神经网络的权重参数即为待布局电路的位置坐标。
14.进一步的,步骤s1的过程具体为:确定电路图,将所述电路图映射出若干个布局图,所述布局图包括有:节点和边,其中,节点代表电路中的一个模块,边代表模块之间的连接关系,网表文件标明了电路图中模块之间的边关系,模块属性文件包含了模块的属性信息。
15.其中,每个电路图数据都是经由实际电路映射成的一个图,这个图由节点和边构成,一个节点代表电路中的一个模块,一条边代表模块之间的连接关系。
16.进一步的,每个电路图的若干个布局图共享相同的网表文件和模块属性;将若干个电路图的网表文件和模块属性组合为数据集;将若干个电路图的半周线长指标作为标签即真实值,将数据集划分为训练集和验证集。
17.进一步的,步骤s2中所述构建编码器模型的过程具体为:指定超参数,所述超参数包括网络层数,并选择特定的图网络层,搭建gnn模型。
18.进一步的,步骤s2中所述构建解码器模型的过程具体为:指定超参数,所述超参数包括有网络层数、输入和输出维度,设定神经网络最后一层的权重维度为2*r,其中r为电路图数据中的模块数目,并选择设定的网络层,搭建神经网络模型。
19.进一步的,所述反向传播技术具体为通过adam优化器对预测值与真实值之间的误差进行反向传播,实现gnn模型的更新。
20.进一步的,所述步骤s3和s4的训练过程如下:
21.s31、设定迭代的次数与训练的期数,将训练集中若干个电路图的网表文件和模块属性文件打乱顺序后,依次输入到gnn模型中,经过gnn模型编码后得到当前输入的电路图的图嵌入表示,然后将所述图嵌入表示输入到解码器中,解码器输出预测得到所述当前输入的电路图的半周线长值。
22.s32、利用损失函数计算预测值与真实值之间的误差,利用adam优化器对误差进行反向传播,更新gnn模型和神经网络模型的权重参数,完成一次迭代过程,当达到设定的迭代次数或整个训练集被遍历完成,则视为完成了一期训练;当模型完成设定期数的训练后,将验证集中的数据输入到训练好的模型中,并对在验证集上表现最优的gnn模型和神经网络模型的权重参数进行保存。
23.s33、将保存好的权重参数加载至模型中,并固化gnn模型部分的权重参数值。
24.进一步的,步骤s3中所述损失函数为均方误差函数。
25.进一步的,所述步骤s5具体为:将待布局电路图数据的若干种布局结果的网表文件和模块属性文件打乱顺序后,依次通过gnn模型和神经网络模型,得到与半周线长的真实值之间的均方误差后,只对神经网络模型部分的权重参数进行精调,gnn模型部分的权重参
数保持不变,经过设定次数迭代优化后,神经网络模型部分最后一层神经网络的权重参数即为该电路布局的位置坐标。
26.本发明第二方面提供了一种基于图神经网络的芯片布局系统,包括有存储器和处理器,所述存储器中包括一种基于图神经网络的芯片布局程序,所述一种基于图神经网络的芯片布局程序被所述处理器执行时实现如下步骤:
27.s1、从电路图数据中提取网表文件和模块属性用于构建数据集并将所述数据集按照预设的比例划分为训练集和验证集。
28.s2、基于图神经网络构建编码器模型即gnn模型,所述编码器用于对网表文件和模块属性进行编码,得到图嵌入表示;构建解码器模型即神经网络模型,将图嵌入表示输入至所述解码器,输出待预测的半周线长指标。
29.s3、采用训练集数据对编码器和解码器进行训练,设置整个网络的损失函数,将训练集输入gnn模型,输出的图嵌入表示输入神经网络模型,最终输出电路图数据的半周线长值预测值,利用损失函数计算预测值与真实值之间的误差,通过反向传播技术更新两个模型的权重参数,完成一次迭代过程;重复迭代直到遍历整个训练集,完成一期训练。
30.s4、重复步骤s3直到完成设定期数的训练,将验证集输入训练完毕的gnn模型和神经网络模型,对在验证集上表现最优的模型的权重参数进行保存。
31.s5、将保存的权重参数加载至gnn模型并固化,将待布局电路图数据的m种布局结果依次通过gnn模型和神经网络模型,通过计算均方误差对神经网络模型的参数进行微调,经过设定次数迭代优化后,最后一层神经网络的权重参数即为待布局电路的位置坐标。
32.与现有技术相比,本发明技术方案的有益效果是:
33.本发明提供了一种基于图神经网络的解析布局方法,通过应用图神经网络对原始的输入特征数据,即芯片中各个模块的属性和芯片的网表等特征数据,进行编码,从而大大提升原始特征的表达能力;以半周线长指标作为待预测的编码器的输出,通过应用神经网络结构,将待求解各个模块的位置坐标(x,y)作为神经网络的权重加以训练,从而得到最终的电路布局结果;拥有强大的特征表达能力,让模型具备更快的收敛速度和更优的预测结果,实现了布局的智能化和高效性。
附图说明
34.图1为本发明一种基于图神经网络的解析布局方法的流程图。
35.图2为本发明一种基于图神经网络的解析布局方法的示意图。
36.图3为本发明一种基于图神经网络的解析布局系统的示意图。
具体实施方式
37.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
38.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
39.实施例1
40.如图1所示,本发明提供了一种基于图神经网络的解析布局方法,具体的,包括以下步骤:
41.s1、从电路图数据中提取网表文件和模块属性用于构建数据集并将所述数据集按照预设的比例划分为训练集和验证集。
42.s2、基于图神经网络构建编码器模型即gnn模型,所述编码器用于对网表文件和模块属性进行编码,得到图嵌入表示;构建解码器模型即神经网络模型,将图嵌入表示输入至所述解码器,输出待预测的半周线长指标。
43.s3、采用训练集数据对编码器和解码器进行训练,设置整个网络的损失函数,将训练集输入gnn模型,输出的图嵌入表示输入神经网络模型,最终输出电路图数据的半周线长值预测值,利用损失函数计算预测值与真实值之间的误差,通过反向传播技术更新两个模型的权重参数,完成一次迭代过程;重复迭代直到遍历整个训练集,完成一期训练;
44.s4、重复步骤s3直到完成设定期数的训练,将验证集输入训练完毕的gnn模型和神经网络模型,对在验证集上表现最优的模型的权重参数进行保存;
45.s5、将保存的权重参数加载至gnn模型并固化,将待布局电路图数据的m种布局结果依次通过gnn模型和神经网络模型,通过计算均方误差对神经网络模型的参数进行微调,经过设定次数迭代优化后,最后一层神经网络的权重参数即为待布局电路的位置坐标。
46.进一步的,步骤s1的过程具体为:确定电路图,将所述电路图映射出若干个布局图,所述布局图包括有:节点和边,其中,节点代表电路中的一个模块,边代表模块之间的连接关系,网表文件标明了电路图中模块之间的边关系,模块属性文件包含了模块的属性信息。
47.其中,每个电路图数据都是经由实际电路映射成的一个图,这个图由节点和边构成,一个节点代表电路中的一个模块,一条边代表模块之间的连接关系。
48.进一步的,每个电路图的若干个布局图共享相同的网表文件和模块属性;将若干个电路图的网表文件和模块属性组合为数据集;将若干个电路图的半周线长指标作为标签即真实值,将数据集划分为训练集和验证集。
49.进一步的,步骤s2中所述构建编码器模型的过程具体为:指定超参数,所述超参数包括网络层数,并选择特定的图网络层,搭建gnn模型。
50.进一步的,步骤s2中所述构建解码器模型的过程具体为:指定超参数,所述超参数包括有网络层数、输入和输出维度,设定神经网络最后一层的权重维度为2*r,其中r为电路图数据中的模块数目,并选择设定的网络层,搭建神经网络模型。
51.进一步的,所述反向传播技术具体为通过adam优化器对预测值与真实值之间的误差进行反向传播,实现gnn模型的更新。
52.进一步的,所述步骤s3和s4的训练过程如下:
53.s31、设定迭代的次数与训练的期数,将训练集中若干个电路图的网表文件和模块属性文件打乱顺序后,依次输入到gnn模型中,经过gnn模型编码后得到当前输入的电路图的图嵌入表示,然后将所述图嵌入表示输入到解码器中,解码器输出预测得到所述当前输入的电路图的半周线长值。
54.s32、利用损失函数计算预测值与真实值之间的误差,利用adam优化器对误差进行
反向传播,更新gnn模型和神经网络模型的权重参数,完成一次迭代过程,当达到设定的迭代次数或整个训练集被遍历完成,则视为完成了一期训练;当模型完成设定期数的训练后,将验证集中的数据输入到训练好的模型中,并对在验证集上表现最优的gnn模型和神经网络模型的权重参数进行保存。
55.s33、将保存好的权重参数加载至模型中,并固化gnn模型部分的权重参数值。
56.进一步的,步骤s3中所述损失函数为均方误差函数。
57.进一步的,所述步骤s5具体为:将待布局电路图数据的若干种布局结果的网表文件和模块属性文件打乱顺序后,依次通过gnn模型和神经网络模型,得到与半周线长的真实值之间的均方误差后,只对神经网络模型部分的权重参数进行精调,gnn模型部分的权重参数保持不变,经过设定次数迭代优化后,神经网络模型部分最后一层神经网络的权重参数即为该电路布局的位置坐标。
58.实施例2
59.基于上述实施例1,结合图2,本实施例详细阐述本发明的流程。
60.在一个具体的实施例中,从n个电路图中提取的对应的电路图数据,每个电路图数据都是经由实际电路映射成的一个图,这个图由节点和边构成,一个节点代表电路中的一个模块,一条边代表模块之间的连接关系。每个电路图数据又对应了m种不同的电路布局结果和两个文件:网表文件和模块属性文件。以第一个电路图数据为例,该电路图包含了5个模块,它的m种布局共享该电路图数据的网表文件,但是又各自具有不同的模块属性文件。其中,网表文件标明了第一个电路图中五个模块之间的边关系,模块属性文件包含了这五个模块的属性信息。
61.将预先准备好的训练集中的n个电路图的网表文件和模块属性文件打乱顺序后,依次输入到gnn模型中,经过gnn编码后获取得到当前输入的某个电路图的图嵌入表示,然后将该图嵌入表示输入到神经网络模型中,输出模型预测得到的当前输入的这一电路图的半周线长值。利用均方误差函数计算预测值与真实值之间的误差,利用adam优化器对误差进行反向传播,从而更新模型的权重参数,即完成了一次迭代过程。当整个训练集被遍历完成,即完成了一期训练。当模型完成预定期数的训练后,将验证集中的数据输入到训练好的模型中,并对在验证集上表现最优的模型的进行权重参数的保存。
62.将保存好的模型参数进行加载,并固化gnn模型部分的权重参数值,即保持权重参数数值不再改变。
63.将待布局电路图数据的m种布局结果的网表文件和模块属性文件打乱顺序后,依次通过gnn模型和神经网络模型,计算得到与半周线长的理想值之间的均方误差后,只对神经网络部分的权重进行模型参数精调,gnn模型部分的权重保持不变。通过迭代优化,当整个模型输出最优结果时,神经网络部分最后一层的权重参数即为该电路布局的位置坐标。
64.实施例3
65.如图3所示,本发明还提供了一种基于图神经网络的芯片布局系统,包括有存储器和处理器,所述存储器中包括一种基于图神经网络的芯片布局程序,所述一种基于图神经网络的芯片布局程序被所述处理器执行时实现如下步骤:
66.s1、从电路图数据中提取网表文件和模块属性用于构建数据集并将所述数据集按照预设的比例划分为训练集和验证集。
67.s2、基于图神经网络构建编码器模型即gnn模型,所述编码器用于对网表文件和模块属性进行编码,得到图嵌入表示;构建解码器模型即神经网络模型,将图嵌入表示输入至所述解码器,输出待预测的半周线长指标。
68.s3、采用训练集数据对编码器和解码器进行训练,设置整个网络的损失函数,将训练集输入gnn模型,输出的图嵌入表示输入神经网络模型,最终输出电路图数据的半周线长值预测值,利用损失函数计算预测值与真实值之间的误差,通过反向传播技术更新两个模型的权重参数,完成一次迭代过程;重复迭代直到遍历整个训练集,完成一期训练。
69.s4、重复步骤s3直到完成设定期数的训练,将验证集输入训练完毕的gnn模型和神经网络模型,对在验证集上表现最优的模型的权重参数进行保存。
70.s5、将保存的权重参数加载至gnn模型并固化,将待布局电路图数据的m种布局结果依次通过gnn模型和神经网络模型,通过计算均方误差对神经网络模型的参数进行微调,经过设定次数迭代优化后,最后一层神经网络的权重参数即为待布局电路的位置坐标。
71.进一步的,步骤s1的过程具体为:确定电路图,将所述电路图映射出若干个布局图,所述布局图包括有:节点和边,其中,节点代表电路中的一个模块,边代表模块之间的连接关系,网表文件标明了电路图中模块之间的边关系,模块属性文件包含了模块的属性信息。
72.其中,每个电路图数据都是经由实际电路映射成的一个图,这个图由节点和边构成,一个节点代表电路中的一个模块,一条边代表模块之间的连接关系。
73.进一步的,每个电路图的若干个布局图共享相同的网表文件和模块属性;将若干个电路图的网表文件和模块属性组合为数据集;将若干个电路图的半周线长指标作为标签即真实值,将数据集划分为训练集和验证集。
74.进一步的,步骤s2中所述构建编码器模型的过程具体为:指定超参数,所述超参数包括网络层数,并选择特定的图网络层,搭建gnn模型。
75.进一步的,步骤s2中所述构建解码器模型的过程具体为:指定超参数,所述超参数包括有网络层数、输入和输出维度,设定神经网络最后一层的权重维度为2*r,其中r为电路图数据中的模块数目,并选择设定的网络层,搭建神经网络模型。
76.进一步的,所述反向传播技术具体为通过adam优化器对预测值与真实值之间的误差进行反向传播,实现gnn模型的更新。
77.进一步的,所述步骤s3和s4的训练过程如下:
78.s31、设定迭代的次数与训练的期数,将训练集中若干个电路图的网表文件和模块属性文件打乱顺序后,依次输入到gnn模型中,经过gnn模型编码后得到当前输入的电路图的图嵌入表示,然后将所述图嵌入表示输入到解码器中,解码器输出预测得到所述当前输入的电路图的半周线长值。
79.s32、利用损失函数计算预测值与真实值之间的误差,利用adam优化器对误差进行反向传播,更新gnn模型和神经网络模型的权重参数,完成一次迭代过程,当达到设定的迭代次数或整个训练集被遍历完成,则视为完成了一期训练;当模型完成设定期数的训练后,将验证集中的数据输入到训练好的模型中,并对在验证集上表现最优的gnn模型和神经网络模型的权重参数进行保存。
80.s33、将保存好的权重参数加载至模型中,并固化gnn模型部分的权重参数值。
81.进一步的,步骤s3中所述损失函数为均方误差函数。
82.进一步的,所述步骤s5具体为:将待布局电路图数据的若干种布局结果的网表文件和模块属性文件打乱顺序后,依次通过gnn模型和神经网络模型,得到与半周线长的真实值之间的均方误差后,只对神经网络模型部分的权重参数进行精调,gnn模型部分的权重参数保持不变,经过设定次数迭代优化后,神经网络模型部分最后一层神经网络的权重参数即为该电路布局的位置坐标。
83.附图中描述结构位置关系的图标仅用于示例性说明,不能理解为对本专利的限制。
84.显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献