2026年,想用一块Xilinx Zynq-7000 FPGA完成‘基于CNN的手写数字识别系统’的课程设计,在实现从PS到PL的协同设计时,如何划分软硬件功能以达到最佳性能?
我是电子工程专业大三学生,这学期有一门嵌入式系统课程设计,我打算用实验室的Zynq-7000开发板做一个‘手写数字识别系统’。我计划在PS(ARM处理器)上运行Linux和Python,负责图像采集和显示,在PL(FPGA逻辑)上实现一个轻量级CNN的推理加速。目前最大的困惑是如何合理地进行软硬件划分。是把整个CNN模型都放到PL里用HDL实现,还是只把卷积等计算密集型操作做成硬件加速器,通过AXI总线和PS交互?如果做硬件加速,该怎么用HLS(高层次综合)来快速实现并优化?如何评估和测试这种协同设计的性能和资源占用?希望有经验的前辈能给一些架构设计上的建议。