Skip to main content

Neural Network software/hardware auto-coding from standard ONNX definition



Organisational Unit
Implementation progress
25 November 2022

Duration: 18 months


Convolutional Neural Networks (CNNs) are more and more being used to solve very different kind of problems on ground and are also suitable to solve Space problems, e.g. visual based tasks for rovers. Embedding a CNN into an operational on-board software (OBSW) or hardware is challenging as the CNNs are composed by hundreds of operations and they request an extensive amount of memory that need to be used efficiently. Open Neural Network Exchange (ONNX) is an open-source artificial intelligence ecosystem of technology companies and research organizations that establish open standards for representing machine learning algorithms. Most popular machine learning development frameworks have the capability to export the definition of the neural network to ONNX, e.g. PyTorch, Caffe2 or MATLAB. Starting from the definition of the neural network in ONNX format, the proposal is to implement a proof of concept of a tool capable of auto-code the CNN in order to be easily and efficiently integrated into an OBSW or a hardware using HDL. The code generation could be performed using python for the C code and BAMBU for the HDL. The selection of the tools would be performed at the beginning of the activity. The tool could be integrated afterwards in model-based tools (e.g. the TASTE ecosystem, which targets specifically an MBSE design and implementation of embedded systems) in order to allow the possibility of autogenerating full OBSWs or hardware with CNNs integrated on it directly from the model. Moreover, by using ONNX’s open standard approach, our solution would be more interoperable, avoiding lock in situations to one specific framework or ecosystem. The capability of easily introducing CNNs into the OBSW or hardware is needed in order to solve complex problems on-board. A dedicated tool to support this capability is needed to reduce the OBSW/harware development costs and times.

Contract number
OSIP Idea Id
Related OSIP Campaign
New concepts for onboard software development
Main application area
Neural Network software/hardware auto-coding from standard ONNX definition