CNN FPGA加速器实现(小型)CNN FPGA加速器实现

CNN FPGA加速器实现(小型)CNN FPGA加速器实现(小型)
通过本工程可以学习深度学习cnn算法从软件到硬件fpga的部署。
网络软件部分基于tf2实现,通过python导出权值,硬件部分verilog实现,纯手写代码,可读性高,高度参数化配置,可以针对速度或面积要求设置不同加速效果。
参数量化后存储在片上ram,基于vivado开发。
图一为工程结构图,提供基础的testbench,加速器输入存在ram上,图二为在artix7 fpga xc7a200t所占资源(资源和速度互相折中,可以用更多的资源换速度,也可以降速度减少资源消耗)。
图三为网络结构图,demo所实现输入为28281,图四五为卷积层和池化层可配置部分。
单张图片推理时间50us左右
提供本项目实现中所用的所有软件( python)和硬件代码( verilog)。

CNN FPGA加速器实现(小型)CNN FPGA加速器实现_第1张图片ID:52300624043661539CNN FPGA加速器实现(小型)CNN FPGA加速器实现_第2张图片云赐记
CNN FPGA加速器实现(小型)CNN FPGA加速器实现_第3张图片
CNN FPGA加速器实现(小型)CNN FPGA加速器实现_第4张图片

你可能感兴趣的:(fpga开发,cnn,人工智能)