FPGA placement based on self-organizing maps