The SW partition is implemented on a 32-bit MicroBlaze processor. The processor is equipped with a floating point unit, and a data cache to meet the performance requirements and the precision requirements of ELM learning algorithm. Its main functions are: system control, resource management, input/output (I/O) pre-processing (scaling and fixed point codification), HW/SW communication, and ELM training. The SW partition has been developed using C programming language. The code has been written to be independent of the platform and the operating system as much as possible. The only hardware-dependable functions are those needed to communicate with the HW partition, and the I/O send/receive functions