  Neuromorphic computing and spiking neural networks (SNN) mimic the behavior
of biological systems and have drawn interest for their potential to perform
cognitive tasks with high energy efficiency. However, some factors such as
temporal dynamics and spike timings prove critical for information processing
but are often ignored by existing works, limiting the performance and
applications of neuromorphic computing. On one hand, due to the lack of
effective SNN training algorithms, it is difficult to utilize the temporal
neural dynamics. Many existing algorithms still treat neuron activation
statistically. On the other hand, utilizing temporal neural dynamics also poses
challenges to hardware design. Synapses exhibit temporal dynamics, serving as
memory units that hold historical information, but are often simplified as a
connection with weight. Most current models integrate synaptic activations in
some storage medium to represent membrane potential and institute a hard reset
of membrane potential after the neuron emits a spike. This is done for its
simplicity in hardware, requiring only a "clear" signal to wipe the storage
medium, but destroys temporal information stored in the neuron.
  In this work, we derive an efficient training algorithm for Leaky Integrate
and Fire neurons, which is capable of training a SNN to learn complex spatial
temporal patterns. We achieved competitive accuracy on two complex datasets. We
also demonstrate the advantage of our model by a novel temporal pattern
association task. Codesigned with this algorithm, we have developed a CMOS
circuit implementation for a memristor-based network of neuron and synapses
which retains critical neural dynamics with reduced complexity. This circuit
implementation of the neuron model is simulated to demonstrate its ability to
react to temporal spiking patterns with an adaptive threshold.
