2025-06-27 16:18:02111浏览
测试
项目介绍
本项目基于Xilinx ZYNQ FPGA平台,实现了一套完整的手写数字识别系统。系统通过MT9V034/OV5640摄像头采集图像,经二值化处理和区域优化后,输入到自主设计的卷积神经网络(CNN)中进行识别。关键创新点包括:
- 软硬件协同设计:在PS端(ARM)实现CNN各层(卷积、池化、全连接)的软件算法,同时在PL端(FPGA)开发硬件加速模块(降采样、卷积计算、数据存储),显著提升处理速度。
- 动态交互功能:支持VGA实时显示识别结果,并通过AXI-Lite总线实现PS端对PL端硬件的灵活控制(如VGA图像切换)。
- 全流程验证:涵盖从仿真测试(Vivado仿真)、上板调试到性能对比(加速前后耗时测试)的完整开发流程。
学到的技能
- FPGA开发核心技术:
- 使用Verilog实现PL端时序逻辑(卷积计算、池化模块、AXI-Lite从机接口)
- 基于Block Design的PS-PL异构系统搭建(Vivado)
- 摄像头驱动开发与图像预处理(二值化、区域优化)
- VGA控制器设计与ROM图像显示
- 神经网络硬件加速:
- CNN各层硬件架构设计(卷积层并行计算、池化层流水线)
- 硬件加速方案优化(数据存储架构、PL端计算资源调度)
- 加速前后性能量化对比(耗时测试)
- 系统级集成能力:
- PS端C代码编写(CNN推理全流程)
- AXI-Lite协议实现PS-PL数据交互
- Pynq环境部署与软硬件协同调试
总结:项目深度融合了图像处理、CNN算法与FPGA硬件设计,掌握了从理论推导(反向传播)、RTL实现到系统集成的全栈开发能力,尤其强化了高性能嵌入式AI系统的构建经验。