This post will show how to use hardware overlays on our recently uploaded PYNQ system. We will add AXI interface software control for the onboard LEDs and push-button, as well a custom Verilog hardware module. This is a convenient way to interface hardware modules designed in hardware description languages (i.e. Verilog/VHDL) via an easy to use Python interface. References : [1] Creating and using hardware designs. Good intros to PYNQ overlays. [2] More details , including high performance interface and hierarchical hardware blocks. [3] Adding ready-made IPs to PYNQ overlay. Pre-requisites : Working Vivado installation. Vivado and version PYNQ versions should match and we installed PYNQ 2.5.x, so we use Vivado 2019.1. EBAZ4205 board with a booting PYNQ image. 1. Zynq PS GPIOs: the Zynq processor has 64 GPIO lines that can be used to control low-speed non timing-critical hardware functions, either by connecting them to PL modules or to physical IO pins. The onboard buttons ...