AdaCore: Build Software that Matters
AdaCore Hero Image

Wishbone-NPU

The Wishbone-NPU is an open-source hardware accelerator built by a Penn State Behrend capstone team, offloading neural network inference from RISC-V soft-cores to dedicated FPGA logic. Paired with an Ada firmware library, the project runs a full pipeline from training in Keras through to INT8 deployment on hardware.

Npu penn state

Penn State Behrend

Running neural network inference on a soft-core CPU means burning cycles on matrix math. A Penn State Behrend capstone team, sponsored by AdaCore through the GNAT Academic Program, built the alternative: the Wishbone-NPU, an open-source hardware accelerator that offloads dense layers, 3×3 convolutions, activations, and pooling to dedicated FPGA logic.

The NPU is a self-contained Wishbone B4 slave, platform-independent VHDL that works with any Wishbone master. The reference system pairs it with a NEORV32 RISC-V soft-core on a Lattice ECP5, driven by an Ada firmware library. The pipeline runs end-to-end: train in Keras, quantize to INT8 with gemmlowp-style requantization, embed weights as Ada constant arrays, build with Alire, upload over UART, and watch MNIST digits, a breast-cancer classifier, and rock-paper-scissors run in hardware.

The team also shipped worst-case layer timing tests, three video tutorial series, and companion Wishbone peripherals,  a small ecosystem, not just a repo.