教程 › ZDMA 固件刷写
ZDMA 固件刷写指南
如何使用 Xilinx Vivado 为 ZDMA 的两颗 FPGA 刷写固件。
刷写前须知:两颗芯片
ZDMA 内有两颗分工不同的芯片,各自使用独立固件。我们称之为 FPGA0 和 FPGA1。
FPGA0——PCIe / DMA 负责 PCIe 通信并实现 DMA 功能。该固件在 PCILEECH-FPGA 中公开;您可以做有限修改,也可以从他人处购买固件。通常大家说的”固件”就是指 FPGA0 这一部分。
FPGA1——Thunderbolt 将 FPGA0 的数据转换为 Thunderbolt 协议,不参与实际 DMA 功能。其固件不公开——必须使用我们提供的固件,且必须与控制电脑上安装的驱动版本匹配。固件与驱动不匹配将无法工作。更新 FPGA1 固件后,必须重新安装对应版本的驱动。
刷写步骤
- 安装 Vivado。可以装在安装了 ZDMA 的电脑上,也可以装在第二台电脑上。我们推荐使用第二台电脑——以下步骤按此假设。
下载 Vivado 2022.2 Vivado 完整安装流程





- 连接 JTAG。使用普通 USB-C 数据线,将 ZDMA 的 JTAG 接口连接到运行 Vivado 的第二台电脑。

- 打开 Vivado。
- 在 Vivado 启动界面打开 Hardware Manager。
- Open target。确认 USB 线已连接到 ZDMA 设备的 JTAG 接口。
- 使用 Vivado Hardware Manager 执行刷写(见下图)。确认刷写对象为
xc7a100t_0,并选择存储器件is25lp128f。


务必选对芯片!刷写 FPGA0 和 FPGA1 的步骤完全相同——唯一区别是芯片型号。FPGA0 =xc7a100t_0,FPGA1 =xc7a100t_1。刷写前请再次确认选择无误。 - 断电重启。刷写完成后,关闭主机并断开电源,等待 10 秒后再开机。
刷写 FPGA1 之后 必须重新安装与 FPGA1 固件同版本的 Thunderbolt 驱动,才能正常调用 DMA。