An implementation of Izhikevich's model of a spiking neuron
Model: https://www.izhikevich.org/publications/spikes.htm
My implementation is a parallelised version in C of the model above. It runs a bunch of 'neurons' but they don't do much except firing at random. I guess you could plug in some form of input, output and back-propagation training.