摘要:传统的CNN计算方法需要极大的计算量,并且难以优化,在硬件实现平台上计算吞吐并未很好匹配内存带宽,已有的方案要么未充分利用逻辑资源,要么未充分利用内存带宽,都不能获得最佳性能.本文在软件实现上运用了常用的im2col方法,将卷积操作转化为矩阵乘法进行计算,有效的提高了计算速度,在硬件实现上,提出了一种嵌套循环优化结构,首先对嵌套循环参数的相关性进行分析,减少了乘法次数,内层循环的乘法由加法取代,在最高工作频率和功耗上都有了显著的提高,其次对输入数据和卷积核采用多级分块优化,多层输入数据以2k为一组进行分块优化,对每一层数据以L行为一组进行分块优化,与此同时卷积核也以2k为一组进行分块优化,卷积核采用并行数据同步操作优化,该结构在计算并行度上有了显著的提高,在总计算量不发生变化的情况下,对外带宽和对内带宽都有了显著的改善.