CN117077587A - 一种电路设计的资源预测方法、装置及设备 - Google Patents
一种电路设计的资源预测方法、装置及设备 Download PDFInfo
- Publication number
- CN117077587A CN117077587A CN202311330273.8A CN202311330273A CN117077587A CN 117077587 A CN117077587 A CN 117077587A CN 202311330273 A CN202311330273 A CN 202311330273A CN 117077587 A CN117077587 A CN 117077587A
- Authority
- CN
- China
- Prior art keywords
- resource
- circuit design
- data
- output data
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013461 design Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 34
- 238000000605 extraction Methods 0.000 claims abstract description 25
- 238000004458 analytical method Methods 0.000 claims abstract description 18
- 238000012795 verification Methods 0.000 claims abstract description 10
- 238000002790 cross-validation Methods 0.000 claims abstract description 9
- 238000003062 neural network model Methods 0.000 claims abstract description 9
- 238000012546 transfer Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 43
- 230000004913 activation Effects 0.000 claims description 40
- 230000009466 transformation Effects 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 11
- 238000004140 cleaning Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 description 18
- 238000010586 diagram Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种电路设计的资源预测方法、装置及设备,所述方法包括:获取目标电路设计的寄存器传输级RTL代码;对所述RTL代码进行特征提取分析,得到目标资源特征信息;将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。本发明的方案可以对电路设计的验证资源进行估算,提高电路设计原型验证的效率。
Description
技术领域
本发明涉及硬件资源估算技术领域,特别是一种电路设计的资源预测方法、装置及设备。
背景技术
在电路设计中,资源估算是评估电路设计的硬件资源需求的关键步骤。传统的资源估算方法需要进行完整的综合布线过程,包括综合工具的使用和生成逻辑网表,这会耗费大量的时间和计算资源。因此,需要一种更高效、准确的方法来进行电路设计的硬件资源需求估算。
发明内容
本发明要解决的技术问题是提供一种电路设计的资源预测方法、装置及设备,可以对电路设计的验证资源进行估算,进一步可提高电路设计的原型验证的效率。
为解决上述技术问题,本发明的技术方案如下:
一种电路设计的资源预测方法,包括:
获取目标电路设计的寄存器传输级RTL代码;
对所述RTL代码进行特征提取分析,得到目标资源特征信息;
将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。
可选的,对所述RTL代码进行特征提取分析,得到目标资源特征信息,包括:
对所述RTL代码进行器件间的逻辑关系特征提取,得到预提取特征集合;所述逻辑关系包括:器件间的逻辑运算和高级运算的语法解析;
对所述预提取特征集合中的预提取特征进行特征增强、特征编码、以及特征缩放处理,得到目标资源特征信息。
可选的,对所述预提取特征集合中的预提取特征进行特征增强、特征编码、以及特征缩放处理,得到目标资源特征信息,包括:
对所述预提取特征集合中的预提取特征进行数据清洗,去除或者填补存在缺失的特征数据,得到特征增强后的预提取特征数据信息;
将特征增强后的所述预提取特征数据信息中的文本属性信息和分类属性信息进行编码,得到编码特征;
对所述编码特征进行特征缩放处理,得到目标资源特征信息。
可选的,所述资源预测模型通过以下过程训练:
获取训练集数据,所述训练集数据包括至少一种电路设计的RTL代码;
对所述至少一种电路设计的RTL代码进行语法特征提取,得到训练特征数据;
将所述训练特征数据输入预设网络模型的输入层、隐藏层和输出层进行特征提取,得到输出结果,计算所述输出结果与期望输出值的误差值,并将所述误差值反向传递,计算模型每一个隐藏层的误差值;
根据所述误差值调整预设权重值,直到所述预设网络模型的输出结果与所述电路设计进行FPGA原型验证时实际所用的目标资源的误差小于一预设阈值,得到所述资源预测模型。
可选的,将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源,包括:
将所述目标资源特征信息输入第一资源预测模型进行查找表LUT资源的预测处理,得到所述目标电路设计的查找表LUT预测资源;和/或
将所述目标资源特征信息输入第二资源预测模型进行触发器FF资源的预测处理,得到所述目标电路设计的触发器FF预测资源。
可选的,将所述目标资源特征信息输入第一资源预测模型进行查找表LUT资源的预测处理,得到所述目标电路设计的查找表LUT预测资源,包括:
将所述目标资源特征信息输入第一资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
将所述第一输出数据与预设权重值相乘后输入第一资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
将所述第二输出数据与预设权重值相乘后输入第一资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
将所述第三输出数据与预设权重值相乘后输入第一资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
将所述第四输出数据与预设权重值相乘后输入第一资源预测模型的第四隐藏层,经激活函数非线性变换后输出第五输出数据;
将所述第五输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的查找表LUT预测资源。
可选的,将所述目标资源特征信息输入第二资源预测模型进行触发器FF资源的预测处理,得到所述目标电路设计的触发器FF预测资源,包括:
将所述目标资源特征信息输入第二资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
将所述第一输出数据与预设权重值相乘后输入第二资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
将所述第二输出数据与预设权重值相乘后输入第二资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
将所述第三输出数据与预设权重值相乘后输入第二资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
将所述第四输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的触发器FF预测资源。
本发明还提供一种电路设计的资源预测装置,包括:
获取模块,用于获取目标电路设计的寄存器传输级RTL代码;
预测模块,用于对所述RTL代码进行特征提取分析,得到目标资源特征信息;将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。
本发明还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上述的方法。
本发明还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上述的方法。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案,通过获取目标电路设计的寄存器传输级RTL代码;对所述RTL代码进行特征提取分析,得到目标资源特征信息;将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。可以基于机器学习算法对电路设计的硬件资源进行估算,无需进行完整的综合流程。
附图说明
图1是本发明实施例的电路设计的资源预测方法的流程示意图;
图2是本发明实施例的电路设计的资源预测方法的特征处理示意图;
图3是本发明实施例的电路设计的资源预测方法的模型训练示意图;
图4是本发明实施例的电路设计的资源预测方法的模型调优示意图;
图5是本发明实施例的第一资源预测模型损失曲线示意图;
图6是本发明实施例的第一资源预测模型的示意图;
图7是本发明实施例的第二资源预测模型损失曲线示意图;
图8是本发明实施例的第二资源预测模型的示意图;
图9是本发明实施例的电路设计的资源预测装置的结构图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提出一种电路设计的资源预测方法,包括:
步骤11,获取目标电路设计的寄存器传输级RTL代码;
步骤12,对所述RTL代码进行特征提取分析,得到目标资源特征信息;
步骤13,将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。
本实施例中,RTL代码可以是Verilog RTL(一种硬件描述语言编写的电路设计的代码),通过对RTL代码进行特征提取,将提取得到的目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源,从而能够预测电路设计中所需的资源,无需进行逻辑打包和布线等流程而快速获得所需的资源估计值,为开发人员缩短迭代周期,提高电路设计的原型验证效率。
本发明一可选的实施例中,步骤12可以包括:
步骤121,对所述RTL代码进行器件间的逻辑关系特征提取,得到预提取特征集合;所述逻辑关系包括:器件间的逻辑运算和高级运算的语法解析;
步骤122,对所述预提取特征集合中的预提取特征进行特征增强、特征编码以及特征缩放处理,得到目标资源特征信息。
该实施例中,对RTL代码进行语法特征分析,分析Verilog HDL 设计语言和器件间的典型关系,基于Verilog的技术文档,对RTL代码进行全面特征提取。Verilog主要语法类型与关键字对应关系如下表1所示。
表1,语法类型与关键字对应表
进一步的,设计RTL级特征提取方法。本申请基于Verilog HDL 语句的综合原则及对应的 FPGA 片上器件的映射规则,通过第三方的Parse-Tree(分析树)对当前读入的Verilog所描述的RTL级设计语法进行提取,并对应不同的RTL级语法信息构建模块。基于特征提取构造的模块,使用C++程序语言设计并实现特征自动化提取器。
自动化提取器的输入包含所有待提取特征设计文件的绝对或相对路径的文件列表,通过静态细化(Static Elaborate)将设计从外部传入的例化参数展开至Module(模块)内部,使提取更准确。
该程序基本涵盖Verilog HDL的所有关键语法及在逻辑综合和技术映射中常用的重要语法信息,包括逻辑运算如(or、shift)的位宽信息、算术运算符的位宽信息、连续赋值运算的位宽信息、阻塞及非阻塞赋值运算的位宽信息、高级运算语法的解析如循环体、函数体、判断决策语句等。
通过上述操作,得到预提取特征集合,并进一步的对预提取特征集合做特征增强、特征编码和特征缩放处理。
本发明一可选的实施例中,步骤122可以包括:
步骤1221,对所述预提取特征集合中的预提取特征进行数据清洗,去除或者填补存在缺失的特征数据,得到特征增强后的预提取特征数据信息;
步骤1222,将特征增强后的所述预提取特征数据信息中的文本属性信息和分类属性信息进行编码,得到编码特征;
步骤1223,对所述编码特征进行特征缩放处理,得到目标资源特征信息。
如图2所示,本实施例中,采用pipeline(管道机制)类构造流水线转换器,以对预提取特征集合中的预提取特征进行特征增强、特征编码、特征缩放等特征工程处理。
通过特征增强处理,对存在数据缺失的区域进行放弃,避免数据的缺失对模型预测结果产生影响;
然后进行特征编码,将文本属性信息和具有分类含义的分类属性信息进行抽象处理,统一输入特征格式,得到编码特征。
最后对特征编码后的数据进行特征缩放,采用归一化和标准化的方式对数据进行处理,减少采集样本的数据之间存在较大的数值上或数量级上的差异。具体的,数据增强处理过程中,面对缺失数据,通过以下至少一项处理方法进行数据清洗:
1、放弃这些数据缺失的区域;
2、放弃整个属性;
3、将缺失的特征值或实际值以数字进行填充,比如0或者平均数、中位数等。
数据集经过上述流水线转换器的处理,完成基本特征工程,具备进入模型训练以及正式预测的基础。
本发明一可选的实施例中,所述资源预测模型通过以下过程训练:
步骤21,获取训练集数据,所述训练集数据包括至少一种电路设计的RTL代码;
步骤22,对所述至少一种电路设计的RTL代码进行语法特征提取,得到训练特征数据;
步骤23,将所述训练特征数据输入预设网络模型的输入层、隐藏层和输出层进行特征提取,得到输出结果,计算所述输出结果与期望输出值的误差值,并将所述误差值反向传递,计算模型每一个隐藏层的误差值;
步骤24,根据所述误差值调整预设权重值,直到所述预设网络模型的输出结果与所述电路设计进行FPGA原型验证时实际所用的目标资源的误差小于一预设阈值,得到所述资源预测模型。
如图3所示,本发明的模型训练过程如下,首先通过开源网站获取涉及CPU(中央处理器)、加法器、乘法器、GPU(图形处理器)、机器学习等多种类型的样本数据,构建VerilogHDL数据集,本申请构建的数据集包含约300个公开Verilog HDL设计数据。
然后通过相关性分析提取与资源具有较高正相关性的特征,得到预提取特征集合。对预提取特征集合中的无关特征进行数据清洗和数据优化,使特征在抽象描述资源时更具合理性和可靠性,得到目标资源特征信息。
进一步的将上述数据集中的原始数据在综合工具上综合,得到资源利用率结果,将所述资源利用率结果作为真实标签,用于作为后续的期望输出值,以计算训练误差。将目标资源特征信息和真实资源利用率结果以8:2的比例划分,构建机器学习模型训练集和验证集。
将训练集输入预设网络模型进行资源回归预测,将输出的预测结果与真实资源利用率比较,计算准确性。
本申请中,以均方误差、均方根误差和决定系数作为准确性评估指标。
如图4所示,根据所述评估指标,将输出层误差反向传播,依次反向求出各隐藏层的误差,直到第一个隐藏层。通过迭代处理的方式,不断地调整更新各层神经网络之间的连接权值,使网络输出不断地接近期望输出,即输出误差最小。直到预测误差小于一预设阈值,得到所述资源预测模型。
本发明一可选的实施例中,步骤13可以包括:
步骤131,将所述目标资源特征信息输入第一资源预测模型进行查找表LUT资源的预测处理,得到所述目标电路设计的查找表LUT预测资源;和/或
步骤132,将所述目标资源特征信息输入第二资源预测模型进行触发器FF资源的预测处理,得到所述目标电路设计的触发器FF预测资源。
本申请中,根据资源评估类型不同,最终构建了用于预测LUT(Look-Up-Table,查找表)资源的第一资源预测模型和用于预测FF(Flip-Flop,触发器)资源的第二资源预测模型。
本发明一可选的实施例中,步骤131可以包括:
步骤1311,将所述目标资源特征信息输入第一资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
步骤1312,将所述第一输出数据与预设权重值相乘后输入第一资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
步骤1313,将所述第二输出数据与预设权重值相乘后输入第一资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
步骤1314,将所述第三输出数据与预设权重值相乘后输入第一资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
步骤1315,将所述第四输出数据与预设权重值相乘后输入第一资源预测模型的第四隐藏层,经激活函数非线性变换后输出第五输出数据;
步骤1316,将所述第五输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的查找表LUT预测资源。
本实施例中,所述第一资源预测模型的结构如下表2所示,包括输入层、4个隐藏层和输出层,共计6层。输入层宽度为59,输出层宽度为1,其中4层隐藏层对应神经元数分别为59、96、110、58,学习率使用搜索最佳学习率为0.000107,通过6折交叉验证的方式对模型进行训练,大约经过200轮次,模型收敛,损失曲线如图5所示。
表2,第一资源预测模型结构图
如图6所示,本申请的第一资源预测模型中数据进入输入层后以神经元的形式展开,本网络模型中,每一层的神经元与下一层的神经元之间以权值的形式进行连接。设输入层第i个神经元的数据为,第一隐藏层的第h个神经元为/>,输入层的第i个神经元与第一隐藏层的第h个神经元之间的连接权重值为/>。由于输入层神经元共59个,第一隐藏层神经元也是59个,则第一隐藏层第h个神经元的输入数据为/>,/>,即第一隐藏层第h个神经元的输入数据等于与之相连的输入层59个神经元的输出数据与各自连线权重值的相乘的和。需要说明的是,本神经网络中,同一个神经元与下一层不同神经元的连线权重值不相等,所述权重值通过上述神经网络模型训练得到。
进一步的,第一隐藏层对输入的数据通过激活函数做非线性变换后输出。具体的,本申请中激活函数为Sigmoid函数,表示为。即第一隐藏层第h个神经元的输出数据为/>。据此,得到从输入层到第一隐藏层的数据传递。类似的,第二隐藏层第j个神经元输入数据为/>,输出数据为/>。数据在四个隐藏层中经过四次上述传递,不断与训练得到的权重值相乘,经过激活函数变换后输出,最终得到输出层的输出数据。
本发明一可选的实施例中,步骤132包括:
步骤1321,将所述目标资源特征信息输入第二资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
步骤1322,将所述第一输出数据与预设权重值相乘后输入第二资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
步骤1323,将所述第二输出数据与预设权重值相乘后输入第二资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
步骤1324,将所述第三输出数据与预设权重值相乘后输入第二资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
步骤1325,将所述第四输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的触发器FF预测资源。
本实施例中,所述第二资源预测模型的结构如下表3所示,包括隐藏层3层,对应神经元数分别为53、162、27,学习率使用搜索最佳学习率为0.00013,通过5折交叉验证的方式对模型进行训练,大约经过235轮次训练后,模型收敛,模型损失曲线如图7所示。
表3,第二资源预测模型结构图
如图8所示,所述第二资源预测模型与上述第一资源预测模型的数据传递过程类似,神经元数据与训练得到的权重值相乘,经激活函数变换后输出。所不同的是,本第二资源预测模型中隐藏层为三层,数据经中间三次传递后输出。
本发明的上述实施例,通过对RTL代码进行特征提取,提取出与资源需求相关的特征,以供机器学习算法进行训练和预测。利用机器学习算法对Verilog RTL代码进行分析和学习,从而能够预测设计中所需的资源需求。通过机器学习算法的学习和预测,本发明能够实现对RTL资源的准确估算,提供设计中所需资源的准确预测结果。
如图9所示,本发明还提供一种电路设计的资源预测装置90,包括:
获取模块91,用于获取目标电路设计的寄存器传输级RTL代码;
预测模块92,用于对所述RTL代码进行特征提取分析,得到目标资源特征信息;将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。
可选的,对所述RTL代码进行特征提取分析,得到目标资源特征信息,包括:
对所述RTL代码进行器件间的逻辑关系特征提取,得到预提取特征集合;所述逻辑关系包括:器件间的逻辑运算和高级运算的语法解析;
对所述预提取特征集合中的预提取特征进行特征增强、特征编码、以及特征缩放处理,得到目标资源特征信息。
可选的,对所述预提取特征集合中的预提取特征进行特征增强、特征编码、以及特征缩放处理,得到目标资源特征信息,包括:
对所述预提取特征集合中的预提取特征进行数据清洗,去除或者填补存在缺失的特征数据,得到特征增强后的预提取特征数据信息;
将特征增强后的所述预提取特征数据信息中的文本属性信息和分类属性信息进行编码,得到编码特征;
对所述编码特征进行特征缩放处理,得到目标资源特征信息。
可选的,所述资源预测模型通过以下过程训练:
获取训练集数据,所述训练集数据包括至少一种电路设计的RTL代码;
对所述至少一种电路设计的RTL代码进行语法特征提取,得到训练特征数据;
将所述训练特征数据输入预设网络模型的输入层、隐藏层和输出层进行特征提取,得到输出结果,计算所述输出结果与期望输出值的误差值,并将所述误差值反向传递,计算模型每一个隐藏层的误差值;
根据所述误差值调整预设权重值,直到所述预设网络模型的输出结果与所述电路设计进行FPGA原型验证时实际所用的目标资源的误差小于一预设阈值,得到所述资源预测模型。
可选的,将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源,包括:
将所述目标资源特征信息输入第一资源预测模型进行查找表LUT资源的预测处理,得到所述目标电路设计的查找表LUT预测资源;和/或
将所述目标资源特征信息输入第二资源预测模型进行触发器FF资源的预测处理,得到所述目标电路设计的触发器FF预测资源。
可选的,将所述目标资源特征信息输入第一资源预测模型进行查找表LUT资源的预测处理,得到所述目标电路设计的查找表LUT预测资源,包括:
将所述目标资源特征信息输入第一资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
将所述第一输出数据与预设权重值相乘后输入第一资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
将所述第二输出数据与预设权重值相乘后输入第一资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
将所述第三输出数据与预设权重值相乘后输入第一资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
将所述第四输出数据与预设权重值相乘后输入第一资源预测模型的第四隐藏层,经激活函数非线性变换后输出第五输出数据;
将所述第五输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的查找表LUT预测资源。
可选的,将所述目标资源特征信息输入第二资源预测模型进行触发器FF资源的预测处理,得到所述目标电路设计的触发器FF预测资源,包括:
将所述目标资源特征信息输入第二资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
将所述第一输出数据与预设权重值相乘后输入第二资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
将所述第二输出数据与预设权重值相乘后输入第二资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
将所述第三输出数据与预设权重值相乘后输入第二资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
将所述第四输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的触发器FF预测资源。
需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种电路设计的资源预测方法,其特征在于,包括:
获取目标电路设计的寄存器传输级RTL代码;
对所述RTL代码进行特征提取分析,得到目标资源特征信息;
将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。
2.根据权利要求1所述的电路设计的资源预测方法,其特征在于,对所述RTL代码进行特征提取分析,得到目标资源特征信息,包括:
对所述RTL代码进行器件间的逻辑关系特征提取,得到预提取特征集合;所述逻辑关系包括:器件间的逻辑运算和高级运算的语法解析;
对所述预提取特征集合中的预提取特征进行特征增强、特征编码以及特征缩放处理,得到目标资源特征信息。
3.根据权利要求2所述的电路设计的资源预测方法,其特征在于,对所述预提取特征集合中的预提取特征进行特征增强、特征编码以及特征缩放处理,得到目标资源特征信息,包括:
对所述预提取特征集合中的预提取特征进行数据清洗,去除或者填补存在缺失的特征数据,得到特征增强后的预提取特征数据信息;
将特征增强后的所述预提取特征数据信息中的文本属性信息和分类属性信息进行编码,得到编码特征;
对所述编码特征进行特征缩放处理,得到目标资源特征信息。
4.根据权利要求1所述的电路设计的资源预测方法,其特征在于,所述资源预测模型通过以下过程训练:
获取训练集数据,所述训练集数据包括至少一种电路设计的RTL代码;
对所述至少一种电路设计的RTL代码进行语法特征提取,得到训练特征数据;
将所述训练特征数据输入预设网络模型的输入层、隐藏层和输出层进行特征提取,得到输出结果,计算所述输出结果与期望输出值的误差值,并将所述误差值反向传递,计算模型每一个隐藏层的误差值;
根据所述误差值调整预设权重值,直到所述预设网络模型的输出结果与所述电路设计进行FPGA原型验证时实际所用的目标资源的误差小于一预设阈值,得到所述资源预测模型。
5.根据权利要求1所述的电路设计的资源预测方法,其特征在于,将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源,包括:
将所述目标资源特征信息输入第一资源预测模型进行查找表LUT资源的预测处理,得到所述目标电路设计的查找表LUT预测资源;和/或
将所述目标资源特征信息输入第二资源预测模型进行触发器FF资源的预测处理,得到所述目标电路设计的触发器FF预测资源。
6.根据权利要求5所述的电路设计的资源预测方法,其特征在于,将所述目标资源特征信息输入第一资源预测模型进行查找表LUT资源的预测处理,得到所述目标电路设计的查找表LUT预测资源,包括:
将所述目标资源特征信息输入第一资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
将所述第一输出数据与预设权重值相乘后输入第一资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
将所述第二输出数据与预设权重值相乘后输入第一资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
将所述第三输出数据与预设权重值相乘后输入第一资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
将所述第四输出数据与预设权重值相乘后输入第一资源预测模型的第四隐藏层,经激活函数非线性变换后输出第五输出数据;
将所述第五输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的查找表LUT预测资源。
7.根据权利要求5所述的电路设计的资源预测方法,其特征在于,将所述目标资源特征信息输入第二资源预测模型进行触发器FF资源的预测处理,得到所述目标电路设计的触发器FF预测资源,包括:
将所述目标资源特征信息输入第二资源预测模型的输入层,输入层将数据输出,得到第一输出数据;
将所述第一输出数据与预设权重值相乘后输入第二资源预测模型的第一隐藏层,经激活函数非线性变换后输出第二输出数据;
将所述第二输出数据与预设权重值相乘后输入第二资源预测模型的第二隐藏层,经激活函数非线性变换后输出第三输出数据;
将所述第三输出数据与预设权重值相乘后输入第二资源预测模型的第三隐藏层,经激活函数非线性变换后输出第四输出数据;
将所述第四输出数据与预设权重值相乘后输入输出层,输出层数据经激活函数非线性变换后输出预测资源数据,得到所述目标电路设计的触发器FF预测资源。
8.一种电路设计的资源预测装置,其特征在于,包括:
获取模块,用于获取目标电路设计的寄存器传输级RTL代码;
预测模块,用于对所述RTL代码进行特征提取分析,得到目标资源特征信息;将所述目标资源特征信息输入资源预测模型进行资源预测处理,得到所述目标电路设计的预测资源;所述资源预测模型根据硬件描述语言数据集对预设神经网络模型进行交叉验证训练得到。
9.一种计算设备,其特征在于,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311330273.8A CN117077587A (zh) | 2023-10-16 | 2023-10-16 | 一种电路设计的资源预测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311330273.8A CN117077587A (zh) | 2023-10-16 | 2023-10-16 | 一种电路设计的资源预测方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117077587A true CN117077587A (zh) | 2023-11-17 |
Family
ID=88719846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311330273.8A Pending CN117077587A (zh) | 2023-10-16 | 2023-10-16 | 一种电路设计的资源预测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117077587A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117744547A (zh) * | 2024-02-18 | 2024-03-22 | 北京汤谷软件技术有限公司 | 电路器件资源的预估方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112232019A (zh) * | 2020-10-19 | 2021-01-15 | 上海国微思尔芯技术股份有限公司 | 一种逻辑资源评估方法 |
CN114661463A (zh) * | 2022-03-09 | 2022-06-24 | 国网山东省电力公司信息通信公司 | 基于bp神经网络的系统资源预测方法及系统 |
CN115796548A (zh) * | 2022-12-20 | 2023-03-14 | 中国工商银行股份有限公司 | 一种资源分配方法、装置、计算机设备、存储介质及产品 |
-
2023
- 2023-10-16 CN CN202311330273.8A patent/CN117077587A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112232019A (zh) * | 2020-10-19 | 2021-01-15 | 上海国微思尔芯技术股份有限公司 | 一种逻辑资源评估方法 |
CN114661463A (zh) * | 2022-03-09 | 2022-06-24 | 国网山东省电力公司信息通信公司 | 基于bp神经网络的系统资源预测方法及系统 |
CN115796548A (zh) * | 2022-12-20 | 2023-03-14 | 中国工商银行股份有限公司 | 一种资源分配方法、装置、计算机设备、存储介质及产品 |
Non-Patent Citations (1)
Title |
---|
张曦: "面向高密度FPGA原型验证系统的资源估算方法研究", 《万方数据知识服务平台》, pages 18 - 23 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117744547A (zh) * | 2024-02-18 | 2024-03-22 | 北京汤谷软件技术有限公司 | 电路器件资源的预估方法、装置、电子设备及存储介质 |
CN117744547B (zh) * | 2024-02-18 | 2024-05-24 | 北京汤谷软件技术有限公司 | 电路器件资源的预估方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Spedicato | Discrete Time Markov Chains with R. | |
CN111310438B (zh) | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 | |
JP7122582B2 (ja) | 演算処理装置、並びに文章評価装置、及び文章評価方法 | |
Storlie et al. | Implementation and evaluation of nonparametric regression procedures for sensitivity analysis of computationally demanding models | |
Jaakkola et al. | Variational probabilistic inference and the QMR-DT network | |
Sanchez et al. | Diffusion causal models for counterfactual estimation | |
Freire et al. | Computational complexity evaluation of neural network applications in signal processing | |
CN117077587A (zh) | 一种电路设计的资源预测方法、装置及设备 | |
Nemani et al. | Uncertainty quantification in machine learning for engineering design and health prognostics: A tutorial | |
CN111680494A (zh) | 相似文本的生成方法及装置 | |
US20200097796A1 (en) | Computing device and method | |
Sengupta et al. | An analytical approach for error PMF characterization in approximate circuits | |
CN112529071B (zh) | 一种文本分类方法、系统、计算机设备和存储介质 | |
CN115168443A (zh) | 一种基于gcn-lstm和注意力机制的异常检测方法及系统 | |
CN116579618A (zh) | 基于风险管理的数据处理方法、装置、设备及存储介质 | |
CN112949610A (zh) | 一种基于降噪算法的改进Elman神经网络的预测方法 | |
CN117077586B (zh) | 一种电路设计的寄存器传输级资源预测方法、装置及设备 | |
CN112988548A (zh) | 一种基于降噪算法的改进Elman神经网络的预测方法 | |
CN113935489A (zh) | 基于量子神经网络的变分量子模型tfq-vqa及其两级优化方法 | |
Lataniotis | Data-driven uncertainty quantification for high-dimensional engineering problems | |
CN113505583B (zh) | 基于语义决策图神经网络的情感原因子句对提取方法 | |
CN116977001A (zh) | 地质灾害防治工程造价管理系统及其方法 | |
CN115456421A (zh) | 工单的分派方法及装置、处理器和电子设备 | |
Giraldi | Machine Learning and Pattern Recognition | |
Liu et al. | Extracting boolean and probabilistic rules from trained neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |