1. A method comprising: performing event-driven spiking computation in a neural network circuit comprising a plurality of neural modules, wherein each neural module includes multiple digital neurons, each neuron in each neural module is connected to a corresponding neuron in an other neural module via a synapse of an interconnect network of synapses, and the synapse has a learning rule associating the neuron in the neural module with the corresponding neuron in the other neural module; wherein the event-driven spiking computation comprises: generating signals that define a set of time steps for event-driven operation of each neuron and event communication via the interconnect network of synapses; and at each time step, for each neuron, updating an operational state of the neuron and, based on the operational state, determining whether to generate an outgoing firing event in response to receiving an incoming firing event as an input signal from a corresponding neuron in an other neural module via a synapse connecting the neuron to the corresponding neuron, wherein the input signal is weighted by a synaptic weight of the synapse.