May 21, 2024

PYNQ adds support for python based on the Zynq architecture

PYNQ introduction

PYNQ is called Python ProducTIvity for Zynq, that is, on the basis of the original Zynq architecture, it adds support for python. Zynq is the industry’s first scalable processing platform series launched by Xilinx. It integrates ARM processors and FPGA programmable logic devices in the chip, designed for high-end embedded systems such as video surveillance, car driver assistance, and factory automation. The application provides the required level of processing and computing performance. PYNQ hopes to effectively reduce the development threshold of the Zynq embedded system with the help of the python language itself, easy to use and easy to learn, extensive and comprehensive extension libraries, and high community active contribution. PYNQ completely encapsulates the bottom-level interaction logic of the ARM processor and FPGA device. The top-level package uses python. You only need to import the corresponding module name to import the corresponding hardware module to interact with the bottom-up data or provide hardware acceleration for the system . For PYNQ developers, a Linux system is running on ARM, FPGA is abstracted into a number of accelerated IP, developers can complete the dynamic loading of bitstream through a simple python script, and transfer the data stream to accelerated IP integration through DMA Output. The PYNQ board also provides a wealth of interface resources, such as HDMI, AUDIO, Grove modules, common interfaces such as SPI/I2C, etc., and many general IOs.

PYNQ adds support for python based on the Zynq architecture

Figure Python calls the underlying hardware framework

Here is an example of inserting HDMI input and output in PYNQ

from pynq importOverlay

frompynq.lib.video import *

base =Overlay('base.bit')

hdmi_in =base.video.hdmi_in

hdmi_out = base.video.hdmi_out

Simple and efficient development of PYNQ-Jupyter

For embedded system development, often due to performance limitations, we can only ssh into embedded linux and develop on the command line terminal. Development efficiency is a big problem. On PYNQ, we use the Python extension library Jupyter Notebook, which is essentially a web server that provides remote visualization and the ability to run python scripts step by step. Jupyter can also display the results of the program in real time, and we can even see the results of image processing using hardware acceleration directly in the browser. We only need to connect the PYNQ board to the gateway to access the Jupyter Notebook running on the board as an embedded web server through the browser.

PYNQ adds support for python based on the Zynq architecture

Figure JupyterNotebook displays real-time operation pictures

What can PYNQ do

The entire technology stack of PYNQ includes python+linux+ARM+FPGA, which provides unlimited possibilities for expansion. We can use it to do many interesting applications. On the pynq.io community page, we can see many projects developed by the PYNQ community. Including the case of BNN (Binary Neural Network).

PYNQ adds support for python based on the Zynq architecture

Figure PYNQ community application case

At the same time, the official provides a lot of external interface cases. Also includes OpenCV case.

PYNQ adds support for python based on the Zynq architecture

PYNQ adds support for python based on the Zynq architecture

Figure pynq.io official case

The Logictools function realizes the function of using python to write FPGA state machine. Using Logictools, you can use python to write FPGA I/O ports to output arbitrary waveforms.

PYNQ adds support for python based on the Zynq architecture

Figure PYNQ Logictools

View PYNQ documentation

All information about PYNQ can be found on the website pynq.io, click getTIng started to enter the PYNQ documentation page. Document contains introductory information such as how to set up PYNQ, how to create PYNQ FPGA hardware engineering, function document details PYNQ libraries as well as the most critical python-PYNQ can also use the search function to find the key words directly.

PYNQ adds support for python based on the Zynq architecture

Figure pynq.io GetTIng Started

Onlyrelx Mini800

disposable vape pen,disposable electronic cigarette,disposable ecigs pen,disposable ecigs stick,disposable e-cigs pen,disposable vape factory,disposable vape pod,disposable vape device,vape pen,vape stick, vape wholesale,wholesale vape,customized dispsoable vape pen,customized vape pen,OEM&ODM disposable ecigs pen,disposable electronic cigarette wholesale, wholesale disposable electronic cigarette,distribute vape pen,vape pen distribute,high quality vape pen,high quality vape pod.

Onlyrelx Mini800,High Quality Vape Brand,Onlyrelx Bar,Onlyrelx Ecigs

Shenzhen Onlyrelx Technology Co.,Ltd , https://www.onlyrelxtech.com