The Vulture Processing Unit (VPU) is a soft implementation of a simple vector-math accelerator written in Verilog using nMigen. It is my first attempt at designing a math coprocessor, and should only be used for educational purposes. Consider this a personal experiment.
The VPU is suitable for neural-network inference workloads using 8-bit integer models.
This is a work in progress. Here's what needs to be implemented:
- INT8 multiply-and-add unit
- Data fetch
- Data write
- Control registers
- Interrupts
- DMA engine
- Driver software
- SRAM cache
- Probably more...
Copyright © Chris Williams, 2020. See LICENSE for distribution and use of source code and binaries.
Please email me if you have any questions or issues to raise, wish to get involved, or have source to contribute. You can, of course, submit pull requests or raise issues via GitHub. Please include vpu
in the subject line if you do decide to email.