The PYNQ board
The PYNQ board, specifically the PYNQ-Z2 board, is a development board built around the Xilinx ZYNQ 7020 SoC (System on Chip). This SoC features a dual ARM Cortex-A9 MPCore with CoreSight and has 512 KB of unified L2 Cache and 256 KB On-Chip Memory. It also includes a range of on-chip peripherals such as 2x UART, 2x CAN 2.0B, 2x I2C, 2x SPI, and 4x 32b GPIO, along with 2x USB 2.0 (OTG), 2x Tri-mode Gigabit Ethernet, and 2x SD/SDIO.
The PYNQ-Z2 board has a range of I/O interfaces including USB-JTAG programming circuitry, USB OTG 2.0, USB-UART bridge, one 10/100/1G Ethernet, HDMI input and output, I2S interface with a 24-bit DAC with a 3.5mm TRRS jack, and line-in with a 3.5mm jack. It also includes memory components like a 512 Mbyte DDR3 with 16-bit bus @ 1050 Mbps, a 128 Mbit Quad-SPI Flash, and a Micro SD card connector. The board also features switches and LEDs, including 2 slide switches, 2 RGB LEDs, 4 LEDs, and 4 push-buttons. The board is equipped with one 125 MHz clock for the Programmable Logic (PL) and one 50 MHz clock for the Processing System (PS). It offers expansion ports including 2 Pmod ports, 1 Arduino Shield connector, and a Raspberry Pi connector.
The PYNQ project provides an open-source framework that allows designers to use Xilinx platforms more easily. The PYNQ project includes a Python-based Jupyter framework and Python APIs for using Xilinx Adaptive Computing platforms. It aims to simplify and improve Adaptive Computing system design by providing a high-level productivity language (Python), FPGA overlays with extensive APIs exposed as Python libraries, a web-based architecture served from the embedded processors, and the Jupyter Notebook framework deployed in an embedded context.
The PYNQ-Z2 board supports the Vivado ML software suite from AMD for HDL and system-level design. Vivado includes a HDL simulator, IP Integrator for system-level integration, and tools for synthesis, implementation, bitstream generation, and programming of AMD platforms. The Standard edition of Vivado, which is device-limited, is free-of-charge and does not require a separate license.
Through the PYNQ project, designers can exploit the benefits of programmable logic and microprocessors to build more capable and exciting electronic systems without having to use ASIC-style design tools to design programmable logic circuits. This approach enables many software engineers to work at higher levels of abstraction, taking advantage of hardware libraries or overlays, much like how the Linux kernel abstracts many of the details of low-level, hardware-dependent software.