An apparatus, comprising: a semiconductor chip comprising spiking neural network circuitry, said spiking neural network circuitry comprising: a first neuron circuit; a second neuron circuit; a synapse coupled between the first and second neuron circuits; a timing measurement circuit which measures a difference between firing times of the first and second neuron circuits and generates an output signal that indicates an amount of time between respective firings of said first and second neurons; a learning rule circuit, said learning rule circuit configured to receive the output signal of the timing measurement circuit and an input control signal to indicate a learning rule to be applied; and a weight circuit; wherein the learning rule circuit further comprising a resistive element that exhibits a change in resistance as a function of applied voltage or current, the applied voltage or current generating a resultant current through or voltage across the resistive element, the learning rule circuit configured to: drive a signal proportional to a magnitude of the amount of time between respective firings of said first and second neurons through the resistive element; and generate an output signal indicating a change in a weight of the synapse based on a resistance of said resistive element and said input control signal; wherein the weight circuit calculates a new weight for the synapse based on the output of the learning rule circuit; and wherein the resistive element is a magnetic tunneling junction device. a semiconductor chip comprising spiking neural network circuitry, said spiking neural network circuitry comprising: a first neuron circuit; a second neuron circuit; a synapse coupled between the first and second neuron circuits; a timing measurement circuit which measures a difference between firing times of the first and second neuron circuits and generates an output signal that indicates an amount of time between respective firings of said first and second neurons; a learning rule circuit, said learning rule circuit configured to receive the output signal of the timing measurement circuit and an input control signal to indicate a learning rule to be applied; and a weight circuit; a first neuron circuit; a second neuron circuit; a synapse coupled between the first and second neuron circuits; a timing measurement circuit which measures a difference between firing times of the first and second neuron circuits and generates an output signal that indicates an amount of time between respective firings of said first and second neurons; a learning rule circuit, said learning rule circuit configured to receive the output signal of the timing measurement circuit and an input control signal to indicate a learning rule to be applied; and a weight circuit; wherein the learning rule circuit further comprising a resistive element that exhibits a change in resistance as a function of applied voltage or current, the applied voltage or current generating a resultant current through or voltage across the resistive element, the learning rule circuit configured to: drive a signal proportional to a magnitude of the amount of time between respective firings of said first and second neurons through the resistive element; and generate an output signal indicating a change in a weight of the synapse based on a resistance of said resistive element and said input control signal; wherein the weight circuit calculates a new weight for the synapse based on the output of the learning rule circuit; and wherein the resistive element is a magnetic tunneling junction device. drive a signal proportional to a magnitude of the amount of time between respective firings of said first and second neurons through the resistive element; and generate an output signal indicating a change in a weight of the synapse based on a resistance of said resistive element and said input control signal; wherein the weight circuit calculates a new weight for the synapse based on the output of the learning rule circuit; and wherein the resistive element is a magnetic tunneling junction device.