muRISCV-NN
We introduce muRISCV-NN, an open-source compute library for embedded and microcontroller class systems. muRISCV-NN targets to provide an open-source, and vendor-agnostic compute library targeting all RISC-V-compliant platforms for supplying a HW/SW interface between industry-standard deep learning libraries and emerging ultra-low-power compute platforms. Forked from ARM’s CMSIS-NN library, muRISCV-NN provides optimized scalar kernels written in plain C as an efficient and highly portable baseline.
eVerify HW/SW Co-Verification Framework
The eVerify framework supports formal software verification by considering the hardware behavior of loosely coupled devices, e.g., peripherals.
This is achieved using the Behavioral Description (BD) based on CTL* to specify hardware behavior from the software point of view. Based on the BD specification, the tool verifyDown generates assumptions/assertions for the hardware description and the software driver code.
CDR (Clock and Data Recovery) ecosystem component
The CDR is a an analog ecosystem component that implements in a high speed serial data input interface. The CDR extracts clock information from the serial data stream and retimes the data. Combined with deserializers & serializers it provides high speed memory I/O access of several Gbps. In first designs the CDR applies NRZ coding validated in 22FDX and IHP 130nm technology. Later designs will be optimize for PAM4 encodings.
PLL (Phase Locked Loop) ecosystem component
The PLL is a component of the Scale4Edge ecosystem that generates a high frequency clock output (>1 Ghz) from a low frequency clock input signal. The output frequency is a scalable multiple of the input frequency and configurable at runtime. The PLL was designed with analog subcomponents in a first step. It will be optimized at system level as a synthesizable digital PLL in further steps. The designs are mainly validated by tapeouts in 22FDX technology.
Ecosystem Microcontroller
The Ecosystem microcontroller is a PULPissimo-based microcontroller featuring the following Scale4Edge ecosystem IPs:
- A RISC-V TGC processor core
- The AI hardware accelerator UltraTrail
- A phase-locked loop (PLL)
Due to the high configurability of the individual components, the platform can be quickly and easily adapted to specific applications. A specialized ecosystem microcontroller was taped-out in 22nm FDSOI technology as a demonstrator for an audio event detection use-case provided by the project partner Bosch.
Verification IP
An RTL processor implementation can be verified using our co-simulation approaches, which compares the implementation with a functional reference model. As a functional reference model, an instruction set simulator (ISS) that is part of the open-source RISC-V VP can be used. Our cross-level processor verification approach generates endless instruction streams and tightly integrates the ISS with the RTL core with the aid of in-memory communication. The setup allows restriction-free instruction generation, enabling a comprehensive testing approach.
SymEx-VP
SymEx-VP focuses explicitly on testing software for constrained embedded devices (e.g. as used in the Internet of Things). This software often interacts very closely with low-level hardware peripherals and in order to support these interactions, during simulation-based software testing, SymEx-VP supports SystemC peripheral models. SystemC is a C++ class library for modeling hardware peripherals.
MLonMCU
While there exist many ways to deploy machine learning models on microcontrollers, it is non-trivial to choose the optimal combination of frameworks and targets for a given application.
Thus, automating the end-to-end benchmarking flow is of high relevance nowadays. MLonMCU allows performing complex benchmarks of edge ML workloads, frameworks and targets with minimal efforts
Apache License 2.0
UMA: Universal Modular Accelerator Interface
UMA (Universal Modular Accelerator Interface) is a unified infrastructure for easy integration of external hardware accelerators into the machine learning compiler framework TVM. UMA provides file structures, Python interface classes and a documented API and is available open-source in the latest releases of TVM.
Apache License 2.0
Fault Effect Simulation and Analysis for RISC-V (FEAR-V)
FEAR-V is a fast scalable simulation and analysis framework for RISC-V architectures based on QEMU. The generation, simulation, and analysis can be scaled by ISA configuration as well as n-bit permanent and transient faults. The fault injection covers GPR, CSR, instruction, and memory analysis.
The source code of FEAR-V is freely available with all its components and has been published under https://github.com/hni-sct/fear-v.