摘要

针对大多数基于FPGA的加速器受限于运算资源与访存带宽,很难部署大型的神经网络这一问题,通过研究神经网络的计算特点,运用通用计算模型的思想,提出了一种指令集架构的神经网络协处理器的设计方案.该方案中的协处理器具有一套专用的运算指令集,支持多种神经网络结构的运算,搭配相应的指令生成程序,能够灵活快速的进行神经网络在FPGA平台上的部署.考虑神经网络运算的相似性,对电路进行复用,降低资源的占用;设计内存多端口读写控制模块,通过协调片上缓存与片外存储,降低对访存带宽的需求.使用python与UVM验证方法学搭建验证平台进行验证,并在PYNQ-Z2开发板上进行实验.结果表明:方案中的协处理器对激活函数的运算误差在0.05以下,对其他类型指令的运算误差在10-4级别,工作在100MHz下的运算性能达到41.73GOPS,达到同类设计的主流水平,消耗的资源比同类设计平均降低80%.