Rapid implementation of a partially reconfigurable video system with PYNQ

Abstract

Undergraduate students rapidly implement a partially-reconfigured, real-time video processor on the Xilinx PYNQ board. The video processor performs various real-time operations including Sobel edge detection, embossing, averaging, an interactive Pong game, etc., using a separate partially-reconfigurable bit-stream for each distinct function. Selection of image-processing functions is accomplished by a Python-based graphical user interface that is accessed via a Jupyter notebook. As users select image-processing functions the appropriate partial bit-stream is automatically downloaded to the FPGA. The resulting system is easily and quickly developed by several undergraduate students over a period of about 10 weeks with very little supervision. All files related to the project are available for download on GitHub. The productivity benefits provided by PYNQ, including Jupyter-based documentation, tutorials, and executable Python code greatly ease development effort making PYNQ an excellent FPGA platform for education.

DOI: 10.23919/FPL.2017.8056845

13 Figures and Tables

Cite this paper

@article{Hutchings2017RapidIO, title={Rapid implementation of a partially reconfigurable video system with PYNQ}, author={Brad L. Hutchings and Michael J. Wirthlin}, journal={2017 27th International Conference on Field Programmable Logic and Applications (FPL)}, year={2017}, pages={1-8} }