官网上介绍的ZYNQ动态可配置的几种方式:
下面介绍如何实现ZYNQ上的局部动态重配置:
可以通过基于Linux的PS端使用内核驱动往PL端发送bin配置文件来对FPGA进行动态可重构配置。
具体的实现方法是使用Linux FPGA Manager.
实现参照wiki:Solution Zynq PL Programming With FPGA Manager - Xilinx Wiki - Confluence
除此之外,PYNQ框架也是基于Linux FPGA Manager 来进行bit文件的传输。
有同样需求可直接使用PYNQ框架中的overlay调用。
PYNQ Overlay 类可用于加载 overlay。通过指定 bitstream 文件的名称来实例化 overlay。实例化 overlay会默认下载 bitstream 文件(此处以 base.bit 为例)并解析 hwh 文件(早期为 Tcl 文件)。加载 overlay 的代码如下:
from pynq import Overlay
overlay_design = Overlay("base.bit")