Modern physics experiments often utilize FPGA-based systems for real-time data acquisition. Integrated analog electronics demand for complex calibration routines. Furthermore, versatile configuration and control of the whole system is a key requirement. Beside low-level register interface to the FPGA, also access to I2C and SPI buses is often needed to configure the complete system. Calibration through an FPGA is inflexible and yields a complex hardware implementation. On the contrary, calibration through a remote system is possible but considerably slower due to repetitive network accesses. By using SoC-FPGA solutions with a microprocessor, more sophisticated configuration and calibration solutions, as well as standard remote access protocols, can be efficiently integrated in software.
Based on Xilinx Zynq US+ SoC-FPGAs, we implemented a versatile control framework. This software framework offers a convenient access to the hardware and a flexible abstraction via remote-procedure calls (RPCs). Based on the open source RPC library gRPC, functionality with low-latent control flow, complex algorithms, data conversions and processing, as well as configuration via external buses can be provided to a client via Ethernet. ... mehrFurthermore, client interfaces for various programming languages can be generated automatically which eases collaboration among different working groups and integration into existing software. This contribution presents the framework as well as benchmarks regarding latency and data throughput.