Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Investigation on FPGA Placement Using Mixed Genetic Algorithm with Simulated Annealing Meng Yang Napier University Edinburgh, UK.

Similar presentations


Presentation on theme: "An Investigation on FPGA Placement Using Mixed Genetic Algorithm with Simulated Annealing Meng Yang Napier University Edinburgh, UK."— Presentation transcript:

1 An Investigation on FPGA Placement Using Mixed Genetic Algorithm with Simulated Annealing Meng Yang Napier University Edinburgh, UK

2 Overview Placement problem definition Placement problem definition Symmetrical FPGA general architecture Symmetrical FPGA general architecture Proposed algorithm Proposed algorithm Experimental results Experimental results Conclusions Conclusions

3 FPGA Placement Definition Constraints Constraints Some fixed I/O pads Some fixed I/O pads Architecture Architecture Problem definition Problem definition Given a netlist to find exact locations of the FPGA logic blocks with constraints to minimize wire length required for routing

4 FPGA General Architecture Switch Block CLBs IOBs Out 4-input LUT D Flip-flop Clock In

5 9 Genotype The chromosome structure is (L 1, L 2, L 3, ……, L N ) The chromosome structure is (L 1, L 2, L 3, ……, L N ) Chromosome length, N, depends on the size of FPGA, K Chromosome length, N, depends on the size of FPGA, K The location of CLB is calculated as P = (x-1)×K + (y-1) The location of CLB is calculated as P = (x-1)×K + (y-1) 0123 … 131415 -1 5 2 9…6-110 108 1,2 1,3 1,1 1,4 2,2 2,3 2,1 2,4 3,2 3,3 3,1 3,4 4,2 4,3 4,1 4,4 211 5674 13

6 Fitness Function Compensation factor Bounding box for horizontal span Bounding box for vertical span The worst cost for placementmaxcost

7 Half-perimeter Wire Length Model Bounding Box=6 =4 (Hori. dist.) +2(Vert. dist.) Net with 6 terminals

8 Half-perimeter Wire Length Model Net with 6 terminals Bounding Box=5 =3 (Hori. dist.) +2(Vert. dist.)

9 Overview of GASA 01 begin 02 initialize_population (); 03 while (generation < MAX_GENS) do 04 evaluate_population_fitness (); 05 reproduce_population (Preserve); 06 for i = 1 to POP_SIZE/2 do 07 crossover (Pcrossover); 08 for j=1 to NUM_GENES do 09 mutate(Pmutation); 10 for i = 1 to POP_SIZE do 11 local_improvement(Plocal); 12 elitism(); 13 end while 14 select_the_best_one(); 15 T = set_temperature(); 16 R = set_block_movement_range(); 17 /* following algorithm is pseudo-code of SA*/ 18 while (Exit_criterion() == FALSE) do 19 while (inner_criterion() == FALSE) do 20 Pnew = generate_movement (R, Pold) 21 ΔC = C (Pnew) - C (Pold); 22 RANDOM = generate_number(); 23 if (RANDOM < e exp (-ΔC/T)) 24 Pold = Pnew; 25 end while 26 end while 27 end algorithm

10 Selection Individuals are selected according to their fitness value Individuals are selected according to their fitness value The fitness values of population are sorted in increasing order. The fitness values of population are sorted in increasing order. A small number of individuals of population with higher fitness value in the current generation are intact and remain in the population A small number of individuals of population with higher fitness value in the current generation are intact and remain in the population W individuals are simultaneously selected W individuals are simultaneously selected The selection procedure is random but fitter individual is more likely to be selected The selection procedure is random but fitter individual is more likely to be selected

11 Crossover Process 01 2 3 4 5 6 7 8 6 -1 1 4 5 2 -1 3 -1 01 2 3 4 5 6 7 8 -1 5 2 3 -1 6 -1 4 1 01 2 3 4 5 6 7 8 1 -1 6 4 5 2 -1 3 -1 1 1,2 1,3 1,1 2,2 2,3 2,1 3,2 3,3 3,1 26 53 4 1 1,2 1,3 1,1 2,2 2,3 2,1 3,2 3,3 3,1 62 54 36 1,2 1,3 1,1 2,2 2,3 2,1 3,2 3,3 3,1 21 53 4

12 Local optimization (SA) stage Once GA has done the global search in the first stage, SA will take over from GA to do local search. Once GA has done the global search in the first stage, SA will take over from GA to do local search. The takeover is static. If the improvement does not gained in the GA for 5 generations or the number of generations is greater than the maximum number of generations, SA will start to work on individual instead of entire population. The takeover is static. If the improvement does not gained in the GA for 5 generations or the number of generations is greater than the maximum number of generations, SA will start to work on individual instead of entire population. As the takeover process is static, according to the experimental results, the initial temperature T in the second stage of our algorithm is selected at 1 degree As the takeover process is static, according to the experimental results, the initial temperature T in the second stage of our algorithm is selected at 1 degree

13 Local optimization (SA) stage (Cont.) New temperature is computed as Tnew = β Told New temperature is computed as Tnew = β Told β depends on α β depends on α α is the percentage of attempted movements between two swapped blocks that have been accepted α is the percentage of attempted movements between two swapped blocks that have been accepted Movement is only between two blocks nearby Movement is only between two blocks nearby αβ 0.15 < α < 0.30.95 0.05 <= α <= 0.150.8 α < 0.050.6

14 Comparison Flow Logic optimization and technology map to 4 Look Up Tables (LUTs) Pack Flip-Flops and LUTs into basic logic elements Placement (VPlace) Routing (VRouter) Placement (GASA) Channel density Benchmarks

15 Comparison to GA Name GA GASA CPU (s)No. of TracksCPU (s)No. of Tracks 9symml25.74522.865 alu291.76674.276 apex738.39538.115 e64163.708155.218 example2107.57595.235 k2461.5910364.779 term128.06526.355 too-lrg82.51774.377 vda179.178148.338 Total1178.4959999.558

16 Comparison to VPR Benchmarks VPlace [5]GASA Cost 9symml690693 alu216701678 apex7785 e6428532849 example213481345 k258745873 term1700 too-lrg17501748 vda3067 Total1873718738

17 Conclusions FPGA placement by using GASA is presented. The experimental results show that the proposed algorithm is effective in improving the quality of placement for the tested MCNC benchmarks. The proposed GASA achieves less CPU time than GA in all cases without degradation of performance in the final routing stage, i.e. same number of routing channel tracks for all benchmarks. It also shows GASA and VPlace are highly comparable placement tools.

18 Thank you for your attention


Download ppt "An Investigation on FPGA Placement Using Mixed Genetic Algorithm with Simulated Annealing Meng Yang Napier University Edinburgh, UK."

Similar presentations


Ads by Google