Search papers, labs, and topics across Lattice.
This paper introduces SAMpLE, an open-source framework that integrates machine learning models as first-class components in SystemC-AMS virtual prototypes, addressing the limitations of ad hoc integration methods. By employing a standardized plug-and-play interface and supporting ONNX for model exchange, SAMpLE facilitates the evaluation of various ML solutions within a unified simulation environment. The framework offers both a native C++ backend for online training and an offline backend for executing pre-trained models, enhancing the reproducibility and comparability of embedded system simulations.
SAMpLE transforms the integration of machine learning in virtual prototyping, enabling seamless evaluation of diverse models without cumbersome re-implementation.
Machine Learning (ML) is increasingly used in virtual prototypes of embedded systems to model behaviors that are difficult to capture analytically. However, integrating ML models into virtual platform simulation is still typically done through ad hoc solutions, which limits reuse, comparability, and reproducibility. This paper presents \textbf{\textit{SAMpLE}}, an open-source SystemC-AMS-based framework that integrates ML models as first-class Timed Dataflow (TDF) components through a standardized plug-and-play interface. SAMpLE provides two execution backends: a native C++ backend for online training of lightweight models, and an offline backend for executing externally developed models without requiring re-implementation in C++ or manual integration steps. The framework uses ONNX as a standard model exchange format to enable integration of externally trained ML models into SystemC-AMS simulations, and allows the evaluation of different ML-based solutions within the same testbench, dataset, and simulation workflow. The modular design and unified and reproducible environment will allow future extensions of SAMpLE to new models, without modifying the SystemC-AMS structure.