Buck Buck Go

Accelerated Softcore with Audio-Driven Game Functionality

Project Summary

"Buck Buck Go" combines the open-source PicoRV32 CPU with a custom "V" Vector Extension Vector Processing Unit. This softcore processor is impelmented on the DE1-SoC Cyclone V FPGA. By leveraging vector instructions in BRAM, we accelerate parallel computations and graphics generation directly in hardware—ideal for high-throughput, real-time tasks.

VPU block diagram
Block diagram

The system accepts live audio from an on-board ADC and I²S interface, funnels samples through a FIFO into the CPU/VPU pipeline, and uses the VPU to perform vectorized arithmetic and memory operations. Game logic and VGA frame buffers (640×480 pixels) are driven entirely by our softcore, showcasing seamless integration of audio, video, and computation.

VPU block diagram
Microarchitecture

We validated functionality via simulation (Quartus Prime, ModelSim, SignalTap, System Console) and on-board tests: CPU I/O operations, VPU arithmetic, ADC-to-DAC audio loopback, and incremental video rendering. Results confirm robust performance for interactive gameplay on the DE1-SoC.

Looking ahead, the scalable VPU architecture can accelerate a wide range of parallel workloads — beyond gaming — including on-device, audio-based machine learning (e.g., speech-to-text inference). This positions ou softcore as a flexible platform for future embedded-AI and edge-computing applications.

GitHub Repository