Darwin: A neuromorphic hardware co-processor based on spiking neural networks