Related: [[ConceptAxonDelay]], [[ConceptNeuronFrequency]], [[SoftwareNeuronEngine]] > In the brain, all neurons can work asynchronously but in a computer, things are necessarily more sequential, so synchronization is necessary. > Imagine that two neurons fire at the same time and both connect to the same target neuron, one with its synapse "weight" of (+1.0) and the other with its synapse "weight" of (-1.0). In your brain, the target will never fire. In a simulator, if the (+1.0) synapse is processed first, the target neuron will fire but if the (-1.0) is processed first, it will not. > > To eliminate this problem, the Neuron Engine algorithm imposes a discrete time step and two-phase processing. > Within a time step, every neuron has the chance to fire just once, then every firing neuron processes its target synapses. > By setting a long [[ConceptNeuron#RefactoryPeriod]] (a short cycle time), the impact of synchronization can be minimized but most of the Brain Simulator networks are built with a Refractory Period of '0'ms. This is sufficient to represent a huge number of network capabilities but it does impose some timing limitations. **CyleTime** ms