Interfacing with an FPGA from Linux on ZYNQ
This project represents the control of an FPGA from Linux user-space. This project utilizes a Digilent PmodOLED_RGB and a Digilent PmodCDC1, as well as the available inputs and outputs on the ArtyZ7-20 board.
The ArtyZ7-20 contains a Xilinx Zynq chip which contains a 650Mhz ARM dual-core processor as well as some FPGA fabric. An FPGA design can be instantiated using Xilinx Vivado. Additionally, using Xilinx Petalinux, a Linux kernel and root file-system can be obtained for the ARM processor. This allows us to run the Linux operating system, but still use the functionality of the FPGA. FPGA configurations can be loaded and changed dynamically without interrupting or crashing the running kernel.
The code is available on Github