电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章EDA/PLDBP神经网络图像压缩算法乘累加单元的FPGA设计

BP神经网络图像压缩算法乘累加单元的FPGA设计

11-20 00:28:38 | http://www.5idzw.com | EDA/PLD | 人气:393
标签:eda技术,eda技术实用教程,http://www.5idzw.com BP神经网络图像压缩算法乘累加单元的FPGA设计,http://www.5idzw.com


  在第一个时钟边沿,第一对数据被存储在输入寄存器中。在第一个时钟周期,乘法器对第一对数据进行乘法运算,同时系统为下一对数据的输入作准备。在第二个时钟边沿,第一对数据的积存储在第一个流水线寄存器,且第二对数据已经进入输入寄存器。在第二个时钟周期,完成对第一对数据积的两次加法操作,而乘法器完成第二对数据的积运算,同时准备接收第三队数据。在第三个时钟边沿,这些数据分别存放在第二个流水线寄存器,第一个流水线寄存器,以及输入寄存器中。在第三个时钟周期,完成对第一对数据和之前数据的累加求和,对第二对数据的两次加法操作,对第一对数据的乘法运算,并准备接收第四对数据。在第四个始终边沿,累加器中的和将被更新。

  在本设计方案中,测试仿真平台选用的FPGA芯片为ALTERA公司CycloneⅡ系列的EP2C8芯片,它采用90 nm的制造工艺,拥有8 256个逻辑单元,36个M4K随机只读存储器,2个数字锁相环,以及18个硬乘法器等丰富资源。仿真工具使用业界流行的MentorGraphics公司的仿真软件Modelsim 6.1f。对设计进行验证时,常见的方法是在模拟时施加输入激励信号,然后“读”该设计的输出信号,它的主要缺点是随着模拟器的不同而不同。为了克服此缺点,采用的测试方法是用VHDL编写一个测试模型发生器,称为Testbench,它的优点是通用性好,灵活性强,可以随时更改输入激励,已得到不同的仿真结果。在对该MAC模块进行测试的过程中,涉及输入数据的转化问题,如前所述,在本神经网络中,输入数据归一化后,集中在-1~+1之间,所以处理时必须进行转化,最后采用16位补码形式的定点二进制表示法,由于在求和中可能会产生溢出,还必须包含一个溢l出状态信号。输入数据转换16位补码的仿真波形如图4所示。


  16位补码转换原输入实数的仿真波形如图5所示。


  在完成了对输入、输出数据的转换之后,编写Testbench(测试台)程序,对基于流水线设计的四输入MAC进行行为级仿真,仿真波形如图6所示。


  综上所述,在基于流水线的乘法设计中,虽然每一步操作后都加入了寄存器,消耗了更多的资源,但却可以将系统延时降低到最慢步骤所需要的时间,极大地提高了同步电路的运算速度。

  3 结 语

  介绍了基于三层前馈BP神经网络的图像压缩算法,提出了基于FPGA的实现验证方案,详细讨论了实现该压缩网络组成的重要模块MAC电路的流水线设计。在对BP神经网络的电路设计中,对传输函数及其导函数的线性逼近也是近来研究的热点之一,本文使用的压缩查找表虽然能够满足设计要求,但仍然消耗了大量资源。该研究结果对整个压缩解压缩算法的实现以及多层神经网络的相关研究工作提供了参考。


上一页  [1] [2] 

,BP神经网络图像压缩算法乘累加单元的FPGA设计
关于《BP神经网络图像压缩算法乘累加单元的FPGA设计》的更多文章