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

Slides:



Advertisements
Similar presentations
You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advertisements

1 Yell / The Law and Special Education, Second Edition Copyright © 2006 by Pearson Education, Inc. All rights reserved.
Advanced Piloting Cruise Plot.
01 Prologo 02 Bran 103 Catelyn 1 05 Eddard 1 04 Daenerys 1 06 Jon 1 07 Catelyn 2 10 Tyrion 1 08 Arya 1 16 Sansa 1 09 Bran 2 11 Jon 2 12 Daenerys 2 13 Eddard.
1_Panel Production. 380 pannelli 45 giorni di produzione = 8.4 pannelli/day.
Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Copyright © 2013 Elsevier Inc. All rights reserved.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 116.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 28.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 38.
Chapter 1 Image Slides Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
Multiplying binomials You will have 20 seconds to answer each of the following multiplication problems. If you get hung up, go to the next problem when.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Year 6 mental test 5 second questions
ZMQS ZMQS
Break Time Remaining 10:00.
The basics for simulations
Jongsok Choi M.A.Sc Candidate, University of Toronto.
©2004 Brooks/Cole FIGURES FOR CHAPTER 16 SEQUENTIAL CIRCUIT DESIGN Click the mouse to move to the next page. Use the ESC key to exit this chapter. This.
Pearls of Functional Algorithm Design Chapter 1 1 Roger L. Costello June 2011.
ABC Technology Project
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
1 Prediction of electrical energy by photovoltaic devices in urban situations By. R.C. Ott July 2011.
VOORBLAD.
15. Oktober Oktober Oktober 2012.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
“Start-to-End” Simulations Imaging of Single Molecules at the European XFEL Igor Zagorodnov S2E Meeting DESY 10. February 2014.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Squares and Square Root WALK. Solve each problem REVIEW:
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
We are learning how to read the 24 hour clock
1..
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Artificial Intelligence
Chapter 5 Test Review Sections 5-1 through 5-4.
SIMOCODE-DP Software.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
: 3 00.
5 minutes.
Types of clocks. Types of clocks Sand clock or Hourglass clock.
Januar MDMDFSSMDMDFSSS
Week 1.
Analyzing Genes and Genomes
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Improved Census Transforms for Resource-Optimized Stereo Vision
Clock will move after 1 minute
1 Unit 1 Kinematics Chapter 1 Day
PSSA Preparation.
Select a time to count down from the clock above
By Rasmussen College. 1. What majors or programs do you offer? 2. What is the average length of your programs? 3. What percentage of your students graduate?
Murach’s OS/390 and z/OS JCLChapter 16, Slide 1 © 2002, Mike Murach & Associates, Inc.
Lecture 10 Nonuniqueness and Localized Averages. Syllabus Lecture 01Describing Inverse Problems Lecture 02Probability and Measurement Error, Part 1 Lecture.
Presentation transcript:

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

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

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

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

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 … … ,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,

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

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

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

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

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

Crossover Process ,2 1,3 1,1 2,2 2,3 2,1 3,2 3,3 3, ,2 1,3 1,1 2,2 2,3 2,1 3,2 3,3 3, ,2 1,3 1,1 2,2 2,3 2,1 3,2 3,3 3,

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

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 < α < <= α <= α <

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

Comparison to GA Name GA GASA CPU (s)No. of TracksCPU (s)No. of Tracks 9symml alu apex e example k term too-lrg vda Total

Comparison to VPR Benchmarks VPlace [5]GASA Cost 9symml alu apex7785 e example k term1700 too-lrg vda3067 Total

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.

Thank you for your attention