在 FPGA 的学习资料里,真正把 Zynq MPSoC、PYNQ 和机器学习应用结合在一起讲清楚的书其实并不多。《Exploring Zynq MPSoC With PYNQ and Machine Learning Applications》就是这样一本比较特别的资料。
它不仅介绍 Zynq MPSoC 的体系结构,还结合 PYNQ Python 框架,一步一步展示如何在 FPGA 上实现机器学习和硬件加速应用。对于希望从传统 FPGA 设计迈向 异构计算与 AI 加速的工程师来说,这本书很值得一读。
为什么是 Zynq MPSoC?
Zynq MPSoC 可以说是 FPGA 领域非常有代表性的 异构计算平台。它在一颗芯片里集成了:
ARM 处理器系统(PS)
可编程逻辑(PL)
高速接口与存储控制器
硬件加速单元
这种架构让开发者可以在 软件与硬件之间灵活分工:
控制逻辑在 ARM 上运行
计算密集型任务在 FPGA 上加速
这也是近年来 嵌入式 AI 和边缘计算常见的一种设计方式。
PYNQ:用 Python 操作 FPGA
这本书的另一个重点是 PYNQ。
PYNQ 是 AMD/Xilinx 推出的一个开源框架,它的核心理念非常简单:
用 Python 来控制 FPGA。
传统 FPGA 开发流程通常是:
HDL → 综合 → 实现 → 生成 bitstream → 驱动 → 软件调用
而在 PYNQ 环境中,可以变成:
Python + Overlay → 调用硬件 IP
开发者可以直接在 Jupyter Notebook 中:
加载 FPGA bitstream
控制硬件 IP
读取数据
运行算法
这大大降低了 FPGA 与软件开发之间的门槛。
这本书讲了什么?

整本书基本围绕 Zynq MPSoC + PYNQ + 硬件加速应用展开,大致可以分为几个部分。
1 Zynq MPSoC 架构基础
首先介绍 MPSoC 的系统结构,例如:
Processing System (PS)
Programmable Logic (PL)
AXI 总线
DMA 与数据搬运
高速接口
这些内容帮助读者理解 软件和硬件是如何协同工作的。
2 PYNQ 开发环境
接下来重点介绍 PYNQ 的开发模式,包括:
Overlay 的概念
Python 控制 FPGA
Jupyter Notebook 开发环境
PYNQ API 使用
读者可以快速上手 Python + FPGA 的开发方式。
3 硬件加速设计
书中也展示了如何将算法迁移到 FPGA 中实现硬件加速,例如:
图像处理
数据流计算自定义硬件 IP
同时讲解了:
AXI 接口设计
DMA 数据传输
PS 与 PL 之间的通信
这些内容对于理解 FPGA 加速架构非常关键。
4 机器学习应用
最后的部分则聚焦 机器学习应用,展示如何在 FPGA 上实现 AI 推理。
典型内容包括:
数据预处理
加速计算模块
FPGA 与 CPU 的协同计算
Python 控制 AI 推理流程
这部分内容可以帮助读者理解 FPGA 在 AI 推理中的角色。
一点总结
传统 FPGA 开发往往偏硬件,但随着 异构计算、AI 推理和边缘计算的发展,FPGA 正越来越多地与软件生态结合。
像 Zynq MPSoC + PYNQ 这样的开发模式,正在让 FPGA:
更容易被软件工程师使用
更适合快速原型开发
更容易构建 AI 加速应用
《Exploring Zynq MPSoC With PYNQ and Machine Learning Applications》正是围绕这一趋势展开的一本实践资料。
如果你想从 传统 FPGA 开发走向 AI 与异构计算,这本书会是一个不错的参考。

扫码加微信直接与工作人员沟通