.. _pynq-package: **************** ``pynq`` Package **************** All PYNQ code is contained in the *pynq* Python package and can be found on the on the `Github repository `_. To learn more about Python package structures, please refer to the `official python documentation `_. Foundational modules: * pynq.ps - Facilitates management of the Processing System (PS) and PS/PL interface. * pynq.pl - Facilitates management of the Programmable Logic (PL). * pynq.overlay - Manages the state, drivers, and and contents of overlays. * pynq.bitstream - Instantiates class for PL bitstream (full/partial). * pynq.devicetree - Instantiates the device tree segment class. Data Movement modules: * pynq.mmio - Implements PYNQ Memory Mapped IO (MMIO) API * pynq.gpio - Implements PYNQ General-Purpose IO (GPIO) by wrapping the Linux Sysfs API * pynq.allocate - Implements Contiguous Memory Allocation for PYNQ DMA * pynq.buffer - Implements a buffer class for DMA engines and accelerators Additional modules: * pynq.interrupt - Implements PYNQ asyncio * pynq.pmbus - PYNQ class for reading power measurements from PMBus * pynq.uio - Interacts directly with a UIO device * pynq.registers - Allows users to access registers easily * pynq.utils - Functions for assisting with installation and testing Sub-packages: * pynq.lib - Contains sub-packages with drivers for for PMOD, Arduino and Logictools PYNQ Libraries, and drivers for various communication controllers (GPIO, DMA, Video, Audio, etc.) * pynq.pl_server - Contains sub-packages for PL server to work across multiple devices. It also includes the overlay metadata parsers (e.g., tcl, hwh) .. toctree:: :hidden: pynq_package/pynq.lib pynq_package/pynq.bitstream pynq_package/pynq.buffer pynq_package/pynq.devicetree pynq_package/pynq.gpio pynq_package/pynq.interrupt pynq_package/pynq.metadata pynq_package/pynq.mmio pynq_package/pynq.overlay pynq_package/pynq.pl pynq_package/pynq.pl_server pynq_package/pynq.pmbus pynq_package/pynq.ps pynq_package/pynq.registers pynq_package/pynq.uio pynq_package/pynq.utils