本发明涉及硬件资源估算,特别是一种电路设计的资源预测方法、装置及设备。
背景技术:
1、在电路设计中,资源估算是评估电路设计的硬件资源需求的关键步骤。传统的资源估算方法需要进行完整的综合布线过程,包括综合工具的使用和生成逻辑网表,这会耗费大量的时间和计算资源。因此,需要一种更高效、准确的方法来进行电路设计的硬件资源需求估算。
技术实现思路
1、本发明要解决的技术问题是提供一种电路设计的资源预测方法、装置及设备,可以对电路设计的验证资源进行估算,进一步可提高电路设计的原型验证的效率。
2、为解决上述技术问题,本发明的技术方案如下:
3、一种电路设计的资源预测方法,包括:
4、获取目标电路设计的寄存器传输级rtl代码;
5、对所述rtl代码进行特征提取分析,得到目标资源特征信息;
6、将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。
7、可选的,对所述rtl代码进行特征提取分析,得到目标资源特征信息,包括:
8、对所述rtl代码进行器件间的逻辑关系特征提取,得到预提取特征集合;所述逻辑关系包括:器件间的逻辑运算和高级运算的语法解析;
9、对所述预提取特征集合中的预提取特征进行特征增强、特征编码、以及特征缩放处理,得到目标资源特征信息。
10、可选的,对所述预提取特征集合中的预提取特征进行特征增强、特征编码、以及特征缩放处理,得到目标资源特征信息,包括:
11、对所述预提取特征集合中的预提取特征进行数据清洗,去除或者填补存在缺失的特征数据,得到特征增强后的预提取特征数据信息;
12、将特征增强后的所述预提取特征数据信息中的文本属性信息和分类属性信息进行编码,得到编码特征;
13、对所述编码特征进行特征缩放处理,得到目标资源特征信息。
14、可选的,所述资源预测模型通过以下过程训练:
15、获取训练集数据,所述训练集数据包括至少一种电路设计的rtl代码;
16、对所述至少一种电路设计的rtl代码进行语法特征提取,得到训练特征数据;
17、将所述训练特征数据输入预设网络模型的输入层、隐藏层和输出层进行特征提取,得到输出结果,计算所述输出结果与期望输出值的误差值,并将所述误差值反向传递,计算模型每一个隐藏层的误差值;
18、根据所述误差值调整预设权重值,直到所述预设网络模型的输出结果与所述电路设计进行fpga原型验证时实际所用的目标资源的误差小于一预设阈值,得到所述资源预测模型。
19、可选的,将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源,包括:
20、将所述目标资源特征信息输入第一资源预测模型进行查找表lut资源的预测处理,得到所述目标电路设计的查找表lut预测资源;和/或
21、将所述目标资源特征信息输入第二资源预测模型进行触发器ff资源的预测处理,得到所述目标电路设计的触发器ff预测资源。
22、可选的,将所述目标资源特征信息输入第一资源预测模型进行查找表lut资源的预测处理,得到所述目标电路设计的查找表lut预测资源,包括:
23、将所述目标资源特征信息输入第一资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
24、将所述第一输出数据与预设权重值相乘后输入第一资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
25、将所述第二输出数据与预设权重值相乘后输入第一资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
26、将所述第三输出数据与预设权重值相乘后输入第一资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
27、将所述第四输出数据与预设权重值相乘后输入第一资源预测模型的第四隐藏层,经激活函数非线性变换后输出第五输出数据;
28、将所述第五输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的查找表lut预测资源。
29、可选的,将所述目标资源特征信息输入第二资源预测模型进行触发器ff资源的预测处理,得到所述目标电路设计的触发器ff预测资源,包括:
30、将所述目标资源特征信息输入第二资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
31、将所述第一输出数据与预设权重值相乘后输入第二资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
32、将所述第二输出数据与预设权重值相乘后输入第二资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
33、将所述第三输出数据与预设权重值相乘后输入第二资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
34、将所述第四输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的触发器ff预测资源。
35、本发明还提供一种电路设计的资源预测装置,包括:
36、获取模块,用于获取目标电路设计的寄存器传输级rtl代码;
37、预测模块,用于对所述rtl代码进行特征提取分析,得到目标资源特征信息;将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。
38、本发明还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上述的方法。
39、本发明还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上述的方法。
40、本发明的上述方案至少包括以下有益效果:
41、本发明的上述方案,通过获取目标电路设计的寄存器传输级rtl代码;对所述rtl代码进行特征提取分析,得到目标资源特征信息;将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。可以基于机器学习算法对电路设计的硬件资源进行估算,无需进行完整的综合流程。
1.一种电路设计的资源预测方法,其特征在于,包括:
2.根据权利要求1所述的电路设计的资源预测方法,其特征在于,对所述rtl代码进行特征提取分析,得到目标资源特征信息,包括:
3.根据权利要求2所述的电路设计的资源预测方法,其特征在于,对所述预提取特征集合中的预提取特征进行特征增强、特征编码以及特征缩放处理,得到目标资源特征信息,包括:
4.根据权利要求1所述的电路设计的资源预测方法,其特征在于,所述资源预测模型通过以下过程训练:
5.根据权利要求1所述的电路设计的资源预测方法,其特征在于,将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源,包括:
6.根据权利要求5所述的电路设计的资源预测方法,其特征在于,将所述目标资源特征信息输入第一资源预测模型进行查找表lut资源的预测处理,得到所述目标电路设计的查找表lut预测资源,包括:
7.根据权利要求5所述的电路设计的资源预测方法,其特征在于,将所述目标资源特征信息输入第二资源预测模型进行触发器ff资源的预测处理,得到所述目标电路设计的触发器ff预测资源,包括:
8.一种电路设计的资源预测装置,其特征在于,包括:
9.一种计算设备,其特征在于,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7任一项所述的方法。