RENEW Development Suite
Development for the RENEW project takes place at three different layers:
Application layer (RENEWLab): This is the environment where most users will spend all of their time. Through a set of APIs available in each design flow, users can generate, manipulate, transmit, and receive signals on the hardware There are three different design flows (C++, Python, Matlab) for users to write their own experiments. Python and MATLAB are usually used for rapid prototyping, however primarily used for non-realtime applications. We have provided some examples they can use for rapid prototyping for each of these design flows. The C++ design flow, is mainly used for real-time development. Currently a sounder framework is available for use. Real-time beamforming applications are currently under development and will be released at a later time.
Middleware layer: This layer is built around SoapySDR software ecosystem. SoapySDR consists of an open-source C/C++ API and runtime library for interfacing with SDR devices, in particular Faros and Iris. To learn more about SoapySDR, see the software section. As part of RENEW, we continuously add new functionalities to SoapySDR in order to improve the interaction with Iris devices and Faros.
FPGA layer: Development at the FPGA layer allows us to interact with the LSM7 transceiver IC as well as to create different TX/RX functionalities and advanced DSP functions (e.g. beamformers) with the goal of simplifying the application layer. Rarely, a user will need to perform modifications to the FPGA fabric. The current FPGA code and any future versions are released here for users that require such modifications.