Enabling VirtIO Driver Support on FPGAs
DescriptionHost-FPGA connectivity is critical for enabling a vast number of FPGA use-cases. This interface must be reliable, robust, and uniform, while supporting necessary protocols and functionality. Existing support for host-FPGA connectivity has a number of drawbacks, including a lack of portability and poor upstream support. Native VirtIO drivers in the host OS can help address these limitations, but implementing device-side support for VirtIO is challenging due to the hardware complexity involved.
We present a framework for enabling FPGAs to interface native operating system VirtIO drivers on the host. To reduce the implementation overhead and improve portability, this framework uses both generic RTL blocks and modified, chip/device specific PCIe IP blocks. We test the framework using Xilinx IP, implemented on an Alinx board, and a host machine running Fedora. Our results show that the FPGA can be successfully enumerated as a VirtIO device, and interfaced using only native Linux VirtIO drivers.
TimeMonday, 14 November 20229:30am - 10am CST