If you have been looking to get started with Python and Field Programmable Gate Arrays (FPGA), you may have found that such a venture can be a bit tricky, to say the least. However, with the new PYNQ framework, Python developers are finally invited to utilize the capabilities of programmable logic by integrating the language into their designs. A recent project on Hackster.io by Adam Taylor exemplifies how one can combine this powerful hardware and Python for the implementation of their ideas.
To get started with the tutorial, one must first pick up an Arty Z7-20 as well as a MicroSD card. The first steps involve getting the PYNQ image up and running on the Arty. Once this is complete, the ISO File must be burned to the MicroSD card (which should be at least 8 gig if possible).
Once these steps are complete its time to insert the card into the Arty. Next, the tutorial explains how to leverage Python on the Arty by using Jupyter notebooks.
To connect to the Arty Z7-20 and its Jupyter notebooks, we need to open a browser on the same network as the Arty Z7-20, entering the address Pynq:9090 this will open the initial page as shown below. It is from here that we can develop our Python based applications.
In addition to getting you started with utilizing the PYNQ framework, the tutorial explains how the programmable logic can be used to provide several interfaces and programmable logic overlays.
This includes developing custom overlays, which can be done in either Vivado Design Suite including SDK and High-Level Synthesis using Vivado HLS or SDSoC Development Environment so users can fully harness the power of both Python and FPGA.