[发明专利]一种基于BP神经网络的FPGA动态功耗估算方法有效
申请号: | 201410352614.6 | 申请日: | 2014-07-23 |
公开(公告)号: | CN104199536B | 公开(公告)日: | 2017-06-06 |
发明(设计)人: | 袁雅婧;巨艇;贾亮;郭宝龙;徐芳 | 申请(专利权)人: | 西安空间无线电技术研究所 |
主分类号: | G06F1/32 | 分类号: | G06F1/32;G06F11/36;G06F11/34 |
代理公司: | 中国航天科技专利中心11009 | 代理人: | 安丽 |
地址: | 710100 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 bp 神经网络 fpga 动态 功耗 估算 方法 | ||
1.一种基于BP神经网络的FPGA动态功耗估算方法,FPGA的动态功耗主要来源于四个模块,分别为时钟树、可编程资源、I/O、块存储器,其特征在于步骤如下:
(1)根据XPE获取四个模块的样本数据,即各模块的输入输出量;
(2)对步骤(1)获得的样本数据进行数据筛选和数据预处理;
(3)根据步骤(2)中处理后的样本数据的输入与其对应的输出分别构
造四个模块的BP神经网络模型;
(4)将样本数据的一部分作为BP神经网络的训练数据,另外一部分作为BP神经网络的测试数据,同时通过训练数据中各模块的输入与其对应的输出进行BP神经网络训练得到训练后的神经网络,进而得到神经网络输出的功耗;
(5)将步骤(4)中神经网络输出的功耗与步骤(4)中的测试数据进行比较,判断两者之间的误差是否小于设定的阈值,若小于则进入步骤(6),否则进入步骤(3);
(6)将步骤(4)中神经网络输出的功耗还原为实际功耗值;
(7)将获取的四个模块的功耗估计值进行求和得到总功耗值。
2.根据权利要求1所述的一种基于BP神经网络的FPGA动态功耗估算方法,其特征在于:所述步骤(1)中获取四个模块样本数据的具体步骤如下:
(1a)确定四个模块的输入作为样本数据;时钟树模块的输入为时钟频率;可编程资源模块的输入为时钟频率、LUT个数、Shift Registe个数、LUTRAM个数、FF个数;I/O模块的输入为时钟频率、I/O端口个数;块存储器的输入为时钟频率、块存储器个数;
(1b)分别获取四个模块的N组动态功耗作为样本数据,即为各模块的输出,N为正整数。
3.根据权利要求1所述的一种基于BP神经网络的FPGA动态功耗估算方法,其特征在于:所述步骤(2)中进行数据筛选和数据预处理的方法如下:
(2a)计算各模块样本数据的均值与标准偏差其中,xi为样本数据中某模块的动态功耗值;
(2b)对各模块的样本数据与步骤(2a)中求出的样本均值的标准偏差采用3σ准则进行判断,若则此样本误差较大,剔除此样本数据;
(2c)对(2b)筛选后的样本数据进行预处理;预处理:对筛选后的样本数据进行归一化处理,将样本数据映射到[0,1]区间为:其中,xmin为某模块的动态功耗的最小值,xmax为某模块的动态功耗的最大值,y为预处理后的结果。
4.根据权利要求2所述的一种基于BP神经网络的FPGA动态功耗估算方法,其特征在于:所述步骤(3)中构造BP神经网络模型的具体步骤如下:
(3a)根据四个模块的输入元素数量确定输入神经元数量;
(3b)根据四个模块的输入输出确定隐含层神经元数量;具体确定方式如下:隐含层神经元数量n1是输入神经元数量,n3是输出神经元数量,a为1到10之间的常数;
(3c)隐含层神经元传递函数采用S型正切函数tansig;
(3d)根据输出元素个数确定输出神经元数量,输出元素为输出功耗,输出神经元数量为1;
(3e)输出层神经元传递函数采用S型对数函数logsig。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安空间无线电技术研究所,未经西安空间无线电技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410352614.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种虚拟键盘操作装置、系统及方法
- 下一篇:一种带有除湿功能的降温系统