The project’s work is structured in 3 topics: the toolchain , the prototype hardware platform and its software stack and the space-related use cases.
The METASAT hardware platform has been prototyped on an AMD VCU118 FPGA as well as on a highly accurate simulator i.e. digital twin. It consists of the open source version of FrontGrade Gaisler's NOEL-V RISC-V space processor, which has been enhanced with the SPARROW SIMD AI Accelerator, in a multicore configuration, integrated with the RISC-V based Vortex GPU. Additional peripherals such as an Ethernet and UART devices have been included to model a complete platform. Fully software support has been added for the platform, including support for bare-metal, hypervisor and RTEMS, as well as their combinations. Both the SPARROW accelerator and the GPU can be used, under several programming models, ranging from low-level ones (assembly, intrinsics, driver API), to high level ones (TensorFlow Lite, OpenGL SC 2.0 Brook Auto). In addition, shared access of all the platform components is ensured, including the network device, SPARROW and GPU.
METASAT's model-based design toolchain consists of ESA's open source tool TASTE and Mathwork's MATLAB and Simulink. TASTE has been extended to support RISC-V and ARM-based NVIDIA GPU platforms, as well configuration options for complex parallel programming models. In particular, configuration for the use of OpenMP and the SIMD programming library of the SPARROW AI accelerator has been added. Moreover, support for multicore configuration for hypervisor partitions has been added.
MATLAB and Simulink, support only non-qualifiable programming models for AI and GPUs, particularly using TensorFlow and CUDA GPU code generation for NVIDIA GPUs. Support for TensorFlow Micro and conversion of the code from CUDA to Brook Auto, a qualifiable GPU programming model developed by BSC has been implemented. Finally, Matlab/Simulink has been leveraged for sequential CPU code generation, testing, validation and verification.
The 3 large developed use cases have been integrated and demonstrated running in parallel on the METASAT platform. The demonstrator includes 8 software partitions of varying criticality. The first, from OHB, models a control instrument software with 2 different types of interlocks (protection against wrong software behaviour) and an AI-based FDIR partition, using housekeeping data (health data from satellite sensors like temperatures) from DLR’s EnMAP satellite. The other 2 (cloud screening and ship detection) require high-performance and represent lower-criticality payload software and are both adapted from ESA’s OBPMark-ML benchmarking suite, developed by BSC.