一种基于FPGA实现CNN加速的系统技术方案

技术编号:24709408 阅读:88 留言:0更新日期:2020-07-01 00:10
本发明专利技术提供了一种基于FPGA实现CNN加速的系统,所述系统包括外部主控制器,用于处理CNN模块的输入、输出并管理CNN模块的运行;外部存储器,用于存储CNN模块的输入数据、CNN模块计算过程的中间数据以及CNN模块的最终计算结果。CNN模块包括卷积子模块、激活子模块、池化子模块和全连接子模块,子模块的配置方式为单独配置或流水线模式配置;所述存储访问控制模块用于实现各子模块对外部存储器访问的仲裁,并完成接口协议转换。基于FPGA硬件可编程的特性,结合硬件结构,更好地匹配了CNN大量并行运算的特点,在计算结构上做到完全的并行化,实现CNN的加速计算。

【技术实现步骤摘要】
一种基于FPGA实现CNN加速的系统
本专利技术涉及卷积神经网络计算
,尤其是一种基于FPGA实现CNN加速的系统。
技术介绍
CNN(ConvolutionalNeuralNetwork,卷积神经网络)是神经网络的一个分支,广泛应用于图像处理领域。LeNet-5是CNN的开山之作,奠定了现代CNN理论基础的模型;AlexNet是第一个现代意义上的CNN,引入了数据扩充、激活函数和多GPU并行计算的概念;牛津大学提出的VGG模型向人们证明了“神经网络越深越好”的理念,此后神经网络逐渐有了“深度学习”这个别名;GoogleNet对网络结构做了大胆的革新,将不同尺寸的卷积组合起来,让网络自己判断该采用哪种特征;SqueezeNet的关注点从提升精度转换为如何用更少的参数和计算量来达到同样的精度。由于CNN的应用范围越来越广,精度要求越来越高,导致CNN的规模也越来越大;CNN运算的特殊性限制了采用性能更强的通用芯片实现更大规模CNN的效率,因为这些通用芯片中相当一部分子模块并不能用于CNN的加速。因此人们也开始使用专用芯片、GPU等完本文档来自技高网...

【技术保护点】
1.一种基于FPGA实现CNN加速的系统,其特征是,所述系统包括外部主控制器、外部存储器以及基于FPGA构建的CNN模块、存储访问控制模块;/n所述外部主控制器用于处理CNN模块的输入、输出并管理CNN模块的运行;/n所述外部存储器用于存储CNN模块的输入数据、CNN模块计算过程的中间数据以及CNN模块的最终计算结果;/n所述CNN模块包括卷积子模块、激活子模块、池化子模块和全连接子模块,子模块的配置方式为单独配置或流水线模式配置;/n所述存储访问控制模块用于实现各子模块对外部存储器访问的仲裁,并完成接口协议转换。/n

【技术特征摘要】
1.一种基于FPGA实现CNN加速的系统,其特征是,所述系统包括外部主控制器、外部存储器以及基于FPGA构建的CNN模块、存储访问控制模块;
所述外部主控制器用于处理CNN模块的输入、输出并管理CNN模块的运行;
所述外部存储器用于存储CNN模块的输入数据、CNN模块计算过程的中间数据以及CNN模块的最终计算结果;
所述CNN模块包括卷积子模块、激活子模块、池化子模块和全连接子模块,子模块的配置方式为单独配置或流水线模式配置;
所述存储访问控制模块用于实现各子模块对外部存储器访问的仲裁,并完成接口协议转换。


2.根据权利要求1所述基于FPGA实现CNN加速的系统,其特征是,所述系统还包括外部协控制器,所述外部协控制器设置在外部主控制器和CNN模块之间,用于进行寄存器的配置和中断的响应。


3.根据权利要求1所述基于FPGA实现CNN加速的系统,其特征是,所述外部存储器包括外部存储器A和外部存储器B,所述外部存储器、外部主控制器和CNN模块之间采用乒乓操作。


4.根据权利要求1所述基于FPGA实现CNN加速的系统,其特征是,所述CNN模块还包括寄存器访问控制模块,所述各子模块内均配置寄存器,所述访问控制模块用于向子模块寄存器写入配置值,控制子模块工作。


5.根据权利要求1-4任一项所述基于FPGA实现CNN加速的系统,其特征是,所述卷积子模块包括第一计算控制单元、第一DMA单元、第一MAC、第一ACC和第一存储器访问控制单元;
所述第一计算控制单元用于控制卷积子模块内各单元的运行;
所述第一DMA单元用于卷积子模块与外部存储器之间的读写交互;
所述第一MAC和第一ACC用于乘累加计算;第一MAC用于计算乘法,并将计算结果累加得到部分和;第一ACC将所述部分和进行累加得到卷积结果;
所述存储访问控制单元用于控制外部存储器与第一DMA单元的交互。


6.根据权利要求5所述基于FPGA实现CNN加速的系统,其特征是,所述卷积子模块还包括第一内部缓存,所述第一内部缓存用于缓存第一DMA单元从外部存储器读取的数据。


7.根据权利要求5所述基于FPGA实现CNN加速的系统,其特征是,所述第一MAC配置多个,配置方式为c-size和k-size,分别对应卷积层的输入通道数和卷积核数...

【专利技术属性】
技术研发人员:杨继林
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1