In the first steps of our work, we explore a model based on Kohonen Self-Organizing Map (SOM)  implemented thanks to a FSM. In order to giver a satisfing behavior, this model supposed the neurons entries weights sorted relatively to theirs entries domain in respect with the network topology formed by their lateral connections.
From the pre-processing neurons, the amount of edges and movements in the image is extracted. In this experiment, these quantities are used as the criteria for adaptation.
An element of the SOM architecture is formed by four main modules (see Fig. 9):
Fig. 9. The Kohonnen neuron is implemented thanks to different VHDL modules. Fd is dedicated to handle the distances computing. Fa handles the activation function. Ws is used to store and compute the synaptic weights. Finally PM is responsible of the replication and configuration of the current program of the cell.
A finite-state machine is then responsible for controlling the functionality of the Kohonen cell. It is composed of five states depicted in Fig. 10.
At this step, all the neurons can simultaneously compare their own computed distance D with the ones outputted by their four direct neighbors (signal Ds). Because of the ordered initialization of the weight vectors and of the nature of the entries, there is only one winning neuron for each sample (that has a distance lower than its neighbors). In the third state, this neuron outputs on the A port the
maximum activation value as it is the elected neuron. Then all the neurons compute the argmin function on the set of their activation inputs As incoming from theirs neighbors. This state is repeated over the number of discretization samples of the modulation function (the Mexican hat function of Fig. 7). Then in the forth state, the activation function block, that contains a discrete form of the Mexican hat function, gives to the distance block the modulation rate to compute the new weights of the neuron. Finally, on the fifth state, the programs of the corresponding computing cells are updated depending on the new positions and the new proximities of the neurons. The PM block is then able to read from port P the program of the neighbor cells, and outputs on port C its own program and reconfigures its relative computing cell through the Ci port.
As a resulting behavior, we can observe that the programs of the cells are replicated in their neighbor cells through the P, C and Ci ports.
 Teuvo Kohonen. "Self-Organization and Associative Memory". 1989 Springer-Veriag