1. A neural network circuit, comprising: a plurality of neural modules, wherein each neural module comprises multiple digital neurons such that each neuron in a neural module has a corresponding neuron in another neural module; and an interconnection network comprising a plurality of digital synapses that interconnect the plurality of neural modules, wherein each synapse interconnects a first neural module to a second neural module by interconnecting a neuron in the first neural module to a corresponding neuron in the second neural module such that corresponding neurons in the first neural module and the second neural module communicate via the synapses, wherein each synapse comprises a learning rule associating a neuron in the first neural module with a corresponding neuron in the second neural module; and a control module that generates signals which define a set of time steps for event driven operation of the neurons and event communication via the interconnection network.