一种基于PYNQ平台的神经网络通用加速处理方法

文档序号:30946105发布日期:2022-07-30 05:17阅读:来源:国知局

技术特征:
1.一种基于pynq平台的神经网络通用加速处理方法,其特征在于,包括以下步骤:步骤1,基于pynq平台,ps端的arm处理器从上位机获取特征图数据和权重数据,并存入到ddr存储器中;步骤2,arm处理器对pl端的cnn寄存器进行赋值配置,且为pl端的非线性处理模块提供查找表;pl端的dma仿存模块将ddr存储器中的特征图数据和权重数据或中间计算结果加载至片上缓存fifo;pl端的卷积模块或池化模块或非线性处理模块在cnn寄存器的控制下,对片上缓存fifo中的数据进行计算得到中间计算结果,并将中间计算结果送回片上缓存fifo;dma仿存模块再将片上缓存fifo中的计算结果存入到ddr存储器中;步骤3,根据计算需要,重复步骤2,获得最终计算结果;步骤4,arm处理器将pl端的最终计算结果从ddr存储器中取出并完成概率运算,将概率运算结果传输给上位机。2.根据权利要求1所述的基于pynq平台的神经网络通用加速处理方法,其特征在于,所述pynq平台包含处理系统ps端、可编程逻辑pl端和ddr存储器,ddr存储器分别与处理系统ps端、可编程逻辑pl端通过axi4总线连接;ddr存储器还通过arm访存接口与arm处理器连接;处理系统ps端包含arm处理器;arm处理器包含softmax模块和辅助运算模块;arm处理器用于从上位机获取特征图数据和权重数据,并通过axi4总线存入到ddr存储器中;arm处理器还用于通过axi4总线对cnn寄存器进行赋值;arm处理器还用于通过axi4总线为非线性处理模块提供查找表;arm处理器还用于通过arm访存接口获取ddr存储器中的中间计算结果,并使用辅助运算模块对中间计算结果进行辅助运算;arm处理器还用于对最终计算结果使用softmax模块进行概率运算,并将概率运算结果传输给上位机;ddr存储器用于存储特征图数据和权重数据,以及暂存可编程逻辑pl端的中间计算结果和arm处理器的辅助运算结果;可编程逻辑pl端包含dma仿存模块、卷积模块、池化模块、非线性处理模块和cnn寄存器;dma仿存模块包含读模块、写模块和片上缓存fifo;读模块包含rd_cmd_fifo缓存单元和5选1仲裁器;写模块包含wr_cmd_fifo缓存单元和2选1仲裁器;参考图2,卷积模块包含4个ram和乘加运算单元;dma仿存模块用于使用读模块通过axi4总线将ddr存储器中的特征图数据、权重数据、中间计算结果和辅助运算结果加载至片上缓存fifo,即读操作;dma仿存模块还用于使用写模块通过axi4总线将卷积模块或池化模块或非线性处理模块输出至片上缓存fifo的中间计算结果存入ddr存储器,即写操作;卷积模块用于对片上缓存fifo中的数据进行卷积运算和全连接运算;池化模块用于对片上缓存fifo中的数据进行池化运算;非线性处理模块用于根据arm处理器提供的查找表,对片上缓存fifo中的数据进行激活函数运算;cnn寄存器用于根据arm处理器的赋值,控制dma仿存模块对ddr存储器的读写操作,以及控制卷积模块或池化模块或非线性处理模块进行计算。3.根据权利要求1所述的基于pynq平台的神经网络通用加速处理方法,其特征在于,arm处理器还通过arm访存接口访问ddr存储器,获取中间计算结果进行辅助运算,并将辅助
运算结果作为中间计算结果送回ddr存储器。

技术总结
本发明涉及人工智能和FPGA设计技术领域,具体涉及一种基于PYNQ平台的神经网络通用加速处理方法。本发明在原有PYNQ平台的基础上加入神经网络通用加速处理,采取多输入多输出通道的并行方法,并针对VGG-16、tiny-YOLOv3网络结构对其进行了优化,在实现较小的资源消耗与较低功耗的基础上,提高了神经网络的数据处理速度、性能、通用性,提升了加速性能与加速效率。率。率。


技术研发人员:王树龙 孙承坤 薛慧敏 赵银锋 刘钰 马兰 刘红侠
受保护的技术使用者:西安电子科技大学
技术研发日:2022.02.25
技术公布日:2022/7/29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1