Skydiver: A Spiking Neural Network Accelerator Exploiting
  Spatio-Temporal Workload Balance
  Spiking Neural Networks (SNNs) are developed as a promising alternative to
Artificial Neural networks (ANNs) due to their more realistic brain-inspired
computing models. SNNs have sparse neuron firing over time, i.e.,
spatio-temporal sparsity; thus, they are useful to enable energy-efficient
hardware inference. However, exploiting spatio-temporal sparsity of SNNs in
hardware leads to unpredictable and unbalanced workloads, degrading the energy
efficiency. In this work, we propose an FPGA-based convolutional SNN
accelerator called Skydiver that exploits spatio-temporal workload balance. We
propose the Approximate Proportional Relation Construction (APRC) method that
can predict the relative workload channel-wisely and a Channel-Balanced
Workload Schedule (CBWS) method to increase the hardware workload balance ratio
to over 90%. Skydiver was implemented on a Xilinx XC7Z045 FPGA and verified on
image segmentation and MNIST classification tasks. Results show improved
throughput by 1.4X and 1.2X for the two tasks. Skydiver achieved 22.6 KFPS
throughput, and 42.4 uJ/Image prediction energy on the classification task with
98.5% accuracy.
