  Neuromorphic computing is henceforth a major research field for both academic
and industrial actors. As opposed to Von Neumann machines, brain-inspired
processors aim at bringing closer the memory and the computational elements to
efficiently evaluate machine-learning algorithms. Recently, Spiking Neural
Networks, a generation of cognitive algorithms employing computational
primitives mimicking neuron and synapse operational principles, have become an
important part of deep learning. They are expected to improve the computational
performance and efficiency of neural networks, but are best suited for hardware
able to support their temporal dynamics. In this survey, we present the state
of the art of hardware implementations of spiking neural networks and the
current trends in algorithm elaboration from model selection to training
mechanisms. The scope of existing solutions is extensive; we thus present the
general framework and study on a case-by-case basis the relevant
particularities. We describe the strategies employed to leverage the
characteristics of these event-driven algorithms at the hardware level and
discuss their related advantages and challenges.
