Multi-Fpga Partitioning Using Simulated Annealing