1. A neural network, comprising: a processor; multiple heterogeneous neuron populations that operate at different time scales, wherein each neuron population comprises: at least one digital neuron; and a time scale generation circuit that controls timing for operation of each neuron of the neuron population by: counting number of clock steps generated by a clock; and generating a time step upon determining that the number of clock steps reaches a time scale threshold parameter of the neuron population, wherein the time step generated is divided into multiple phases including an update phase during which each neuron of the neuron population updates, based on neuronal firing events received, a corresponding operational state at a time scale corresponding to the neuron population; and a plurality of synapses interconnecting the neuron populations, wherein each synapse interconnects a neuron with another neuron of a same or different neuron population, each synapse is assigned a corresponding synaptic weight, and at least one neuron of the neuron populations receives neuronal firing events from an interconnected neuron that operates at a different time scale; wherein the plurality of synapses comprise a first synapse and a second synapse, the first synapse transmitting neuronal firing events from a first neuron operating at a first time scale to a second neuron operating at a second time scale, the second synapse transmitting neuronal firing events from the second neuron to the first neuron, the first time scale faster than the second time scale, the first synapse assigned a first synaptic weight that is lower than a second synaptic weight assigned to the second synapse, and a ratio of the first synaptic weight to the second synaptic weight is based on a ratio of the first time scale to the second time scale.