Programming Reconfigurable Devices via FPGA Regions & Device Tree Overlays
A User View Benchmark on a Declarative Reconfiguration Framework
We share our experiences with a new framework in the Linux kernel for programming reconfigurable devices, namely MPSoC-FPGAs. Our example use case integrates reconfigurable hardware accelerators into the Crypto API. We apply a new, declarative and device-tree-driven reconfiguration framework within the Linux kernel as proposed and implemented by Alan Tull. The implemented concept maps reconfigurable regions within the FPGA to device tree nodes. The insertion of a device tree overlay triggers the reconfiguration of the corresponding reconfigurable region. The reconfiguration process consists of the scheduling, descheduling and execution phase. Based on our usecase, benchmark results for the scheduling phases are shared. We present the bottlenecks revealed by our benchmark and show currently missing components of this approach. We conclude that the current implementation is already in a usable state for developing and deploying MPSoC-FPGA based heterogeneous systems.