This repository contains the code of:
@inproceedings{lightweightk,
title={Lightweight Software Kernels and Hardware Extensions for Efficient Sparse Deep Neural Networks on Microcontrollers},
author={Daghero, Francesco and Pagliari, Daniele Jahier and Conti, Francesco and Benini, Luca and Poncino, Massimo and Burrello, Alessio},
booktitle={Eighth Conference on Machine Learning and Systems (MLSys)},
year={2025}
}
Each module is contained in a file with its own name, moreover there is a fir_xifu_package
SV package containing constants data structure definitions.
The overall hierarchy of the FIR XIFU looks like this:
fir_xifu_top # top-level of the IP
|-> fir_xifu_ctrl # main controller, including a simple scoreboard for instructions offloaded to the interface
|-> fir_xifu_regfile # a private register file of parametric size
|-> fir_xifu_id # instruction decode stage
|-> fir_xifu_ex # instruction execute stage
|-> fir_xifu_wb # instruction write-back stage
The dependencies are managed via Bender (https://github.com/pulp-platform/bender).
The core can be found here (https://github.com/pulp-platform/cv32e40x/tree/fc/xif-fixes)