  One of today's main concerns is to bring Artificial Intelligence power to
embedded systems for edge applications. The hardware resources and power
consumption required by state-of-the-art models are incompatible with the
constrained environments observed in edge systems, such as IoT nodes and
wearable devices. Spiking Neural Networks (SNNs) can represent a solution in
this sense: inspired by neuroscience, they reach unparalleled power and
resource efficiency when run on dedicated hardware accelerators. However, when
designing such accelerators, the amount of choices that can be taken is huge.
This paper presents SpikExplorer, a modular and flexible Python tool for
hardware-oriented Automatic Design Space Exploration to automate the
configuration of FPGA accelerators for SNNs. Using Bayesian optimizations,
SpikerExplorer enables hardware-centric multi-objective optimization,
supporting factors such as accuracy, area, latency, power, and various
combinations during the exploration process. The tool searches the optimal
network architecture, neuron model, and internal and training parameters,
trying to reach the desired constraints imposed by the user. It allows for a
straightforward network configuration, providing the full set of explored
points for the user to pick the trade-off that best fits the needs. The
potential of SpikExplorer is showcased using three benchmark datasets. It
reaches 95.8% accuracy on the MNIST dataset, with a power consumption of
180mW/image and a latency of 0.12 ms/image, making it a powerful tool for
automatically optimizing SNNs.
