cpre 583 reconfigurable computing lecture 24: wed 12/8/2010 (map, place & route)
DESCRIPTION
CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route). Instructor: Dr. Phillip Jones ([email protected]) Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA. http://class.ee.iastate.edu/cpre583/. Announcements/Reminders. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/1.jpg)
1 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
CPRE 583Reconfigurable ComputingLecture 24: Wed 12/8/2010
(Map, Place & Route)
Instructor: Dr. Phillip Jones([email protected])
Reconfigurable Computing LaboratoryIowa State University
Ames, Iowa, USA
http://class.ee.iastate.edu/cpre583/
![Page 2: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/2.jpg)
2 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
• HW3: finishing up (hope to release this evening) will be due Fri12/17 midnight.
• Two lectures left– Fri 12/3: Synthesis and Map– Wed 12/8: Place and Route
• Two class sessions for Project Presentations – Fri 12/10– Wed 12/15 (9 – 10:30 am)
• Take home final given on Wed 12/15 due 12/17 5pm
Announcements/Reminders
![Page 3: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/3.jpg)
3 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Initial Project Proposal Slides (5-10 slides)
• Project team list: Name, Responsibility (who is project leader)– Team size: 3-4 (5 case-by-case)
• Project idea• Motivation (why is this interesting, useful)• What will be the end result• High-level picture of final product
• High-level Plan– Break project into mile stones
• Provide initial schedule: I would initially schedule aggressively to have project complete by Thanksgiving. Issues will pop up to cause the schedule to slip.
– System block diagrams– High-level algorithms (if any)– Concerns
• Implementation• Conceptual
• Research papers related to you project idea
![Page 4: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/4.jpg)
4 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
• FPL• FPT• FCCM• FPGA• DAC• ICCAD• Reconfig• RTSS• RTAS• ISCA
Projects Ideas: Relevant conferences
• Micro• Super Computing• HPCA• IPDPS
![Page 5: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/5.jpg)
5 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Initial Project Proposal Slides (5-10 slides)
• Project team list: Name, Responsibility (who is project leader)• Project idea
• Motivation (why is this interesting, useful)• What will be the end result• High-level picture of final product
• High-level Plan– Break project into mile stones
• Provide initial schedule: I would initially schedule aggressively to have project complete by Thanksgiving. Issues will pop up to cause the schedule to slip.
– System block diagrams– High-level algorithms (if any)– Concerns
• Implementation• Conceptual
• Research papers related to you project idea
![Page 6: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/6.jpg)
6 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Final Project Presentation (12-15 slides)
• Project team list: Name, Responsibility (who is project leader)• Project idea
• Motivation (why is this interesting, useful)• High-level picture of final product
• Implementation– System block diagrams– High-level algorithms (if any)
• Lessons learned– Design issue realizations– Implementation issues
• Research papers related to you project idea
![Page 7: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/7.jpg)
7 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Weekly Project Updates
• The current state of your project write up– Even in the early stages of the project you
should be able to write a rough draft of the Introduction and Motivation section
• The current state of your Final Presentation– Your Initial Project proposal presentation
(Due Fri 10/22). Should make for a starting point for you Final presentation
• What things are work & not working• What roadblocks are you running into
![Page 8: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/8.jpg)
8 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
• Teams Formed and Idea: Mon 10/11– Project idea in Power Point 3-5 slides
• Motivation (why is this interesting, useful)• What will be the end result• High-level picture of final product
– Project team list: Name, Responsibility• High-level Plan/Proposal: Fri 10/22
– Power Point 5-10 slides• System block diagrams• High-level algorithms (if any)• Concerns
– Implementation– Conceptual
• Related research papers (if any)
Projects: Target Timeline
![Page 9: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/9.jpg)
9 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
• Work on projects: 10/22 - 12/8– Weekly update reports
• More information on updates will be given• Presentations: Last Wed/Fri of class
– Present / Demo what is done at this point– 25-30 minutes (depends on number of projects)
• Final write up and Software/Hardware turned in (Fri: 12/17).
Projects: Target Timeline
![Page 10: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/10.jpg)
10 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Project Grading Breakdown
• 50% Final Project Demo• 30% Final Project Report
– 30% of your project report grade will come from your 5-6 project updates. Friday’s midnight
• 20% Final Project Presentation
![Page 11: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/11.jpg)
11 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
• Mapping a synthesized circuit to FPGA components
• Placing components on the FPGA
• Routing: connecting components
Outline
![Page 12: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/12.jpg)
12 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Applications on FPGA: Low-level
• Implement circuit in VHDL (Verilog)• Simulate compiled VHDL• Synthesis VHDL into a device independent format• Map device independent format to device specific
resources– Check that device has enough resources for the design
• Place resources onto physical device locations• Route (connect) resources together
– Completely routed– Circuit meets specified performance
• Download configuration file (bit-steam) to the FPGA
![Page 13: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/13.jpg)
13 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Applications on FPGA: Low-level
Implement
Simulate
Synthesize
Map
Place
Route
Download
![Page 14: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/14.jpg)
14 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
(Technology) Map
• Translate device independent net list to device specific resources
![Page 15: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/15.jpg)
15 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
(Technology) Map
• Translate device independent net list to device specific resources
![Page 16: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/16.jpg)
16 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
(Technology) Map
• Translate device independent net list to device specific resources
![Page 17: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/17.jpg)
17 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
(Technology) Map
• Translate device independent net list to device specific resources
![Page 18: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/18.jpg)
18 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Applications on FPGA: Low-level
Implement
Simulate
Synthesize
Map
Place
Route
Download
![Page 19: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/19.jpg)
19 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place• Bind each mapped resource to a physical
device location– User Guided Layout (Chapter 16:Reconfigurable Computing)
– General Purpose (Chapter 14:Reconfigurable Computing)
• Simulated Annealing• Partition-based
– Structured Guided (Chapter 15:Reconfigurable Computing)
• Data Path based
• Heuristics used– No efficient means for finding an optimal solution
![Page 20: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/20.jpg)
20 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (High-level)
Netlist from technology mapping
in A in B in C
LUTD RAM
E
DFFF
DFFGclk
out
![Page 21: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/21.jpg)
21 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (High-level)
Netlist from technology mapping
in A in B in C
LUTD RAM
E
DFFF
DFFGclk
out
FPGA physical layout
I/O I/O I/O I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O I/O I/O I/O
I/O
I/O
I/O
I/O
I/O
I/O
LUT
LUTBRAM
BRAM
LUT
LUT
LUT
LUT
LUT
LUT
![Page 22: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/22.jpg)
22 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (High-level)
FPGA physical layout
clk in C out I/O
In A
In B
I/O
I/O
I/O
I/O
I/O I/O I/O I/O
I/O
I/O
I/O
I/O
I/O
I/O
LUT
DE
BRAM
G
F
LUT
LUT
LUT
LUT
LUT
LUT
Netlist from technology mapping
in A in B in C
LUTD RAM
E
DFFF
DFFGclk
out
![Page 23: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/23.jpg)
23 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place
• User Guided Layout (Chapter 16:Reconfigurable Computing
• General Purpose (Chapter 14:Reconfigurable Computing)
– Simulated Annealing– Partition-based
• Structured Guided (Chapter 15:Reconfigurable Computing)
– Data Path based
![Page 24: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/24.jpg)
24 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided)
• User provide information about applications structure to help guide placement– Can help remove critical paths– Can greatly reduce amount of time for routing
• Several methods to guide placement– Fixed region– Floating region– Exact location– Relative location
![Page 25: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/25.jpg)
25 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided): Examples
Fixed region
LUTD
DFFF
DFFG
Part ofMap Netlist
FPGA
![Page 26: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/26.jpg)
26 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided): Examples
Fixed region
LUTD
DFFF
DFFG
Part ofMap Netlist
FPGA
SDRAM
![Page 27: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/27.jpg)
27 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided): Examples
Floating region
FPGA
SoftcoreProcessor
![Page 28: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/28.jpg)
28 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided): Examples
LUTD
DFFF
DFFG
Part ofMap Netlist
FPGA
LUT
LUTBRAM
BRAM
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
Exact Location
![Page 29: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/29.jpg)
29 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided): Examples
Exact Location
LUTD
DFFF
DFFG
Part ofMap Netlist
FPGA
LUT
LUTBRAM
BRAM
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT G
D
LUT
F
LUT
LUT
LUT
LUT
![Page 30: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/30.jpg)
30 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided): Examples
LUTD
DFFF
DFFG
Part ofMap Netlist
FPGA
LUT
LUTBRAM
BRAM
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
Relative Location
G
D F
![Page 31: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/31.jpg)
31 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided): Examples
LUTD
DFFF
DFFG
Part ofMap Netlist
FPGA
LUT
LUTBRAM
BRAM
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
Relative Location
G
D F
![Page 32: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/32.jpg)
32 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (User-Guided): Examples
LUTD
DFFF
DFFG
Part ofMap Netlist
FPGA
LUT
LUTBRAM
BRAM
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
Relative Location
G
D F
![Page 33: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/33.jpg)
33 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place
• User Guided Layout (Chapter 16:Reconfigurable Computing
• General Purpose (Chapter 14:Reconfigurable Computing)
– Simulated Annealing– Partition-based
• Structured Guided (Chapter 15:Reconfigurable Computing)
– Data Path based
![Page 34: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/34.jpg)
34 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Characteristics:– Places resources without any knowledge of high
level structure– Guided primarily by local connections between
resources
• Drawback: Does not take explicit advantage of applications structure
• Advantage: Typically can be used to place any arbitrary circuit
![Page 35: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/35.jpg)
35 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Preprocess Map Netlist using Clustering– Group netlist components that have local
conductivity into a single logic block
• Clustering helps to reduce the number of objects a placement algorithm has to explicitly place.
![Page 36: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/36.jpg)
36 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Placement using simulated annealing– Based on the physical process of annealing
used to create metal alloys
![Page 37: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/37.jpg)
37 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Simulated annealing basic algorithm
Placement_cur = Inital_Placement;T = Initial_Temperature;
While (not exit criteria 1) While (not exit criteria 2)
• Placement_new = Modify_placement(Placement_cur)1. ∆ Cost = Cost(Placement_new) – Cost(Placement_cur)2. r = random (0,1);3. If r < e^(-∆Cost / T), Then Placement_cur = Placement_new
End loop T = UpdateTemp(T);End loop
![Page 38: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/38.jpg)
38 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Simulated annealing: IllustrationFPGA
LUT
LUTBRAM
BRAM
A
LUT
B
LUT
LUT
LUT
LUT
X
LUT
Z
LUT
LUT
LUT
LUT
G
D F
![Page 39: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/39.jpg)
39 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Simulated annealing: IllustrationFPGA
LUT
LUTBRAM
BRAM
LUT
LUT
B
A
LUT
D
LUT
LUT
LUT
Z
G
X
LUT
LUT
LUT
LUT F
![Page 40: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/40.jpg)
40 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Simulated annealing: IllustrationFPGA
LUT
LUTBRAM
BRAM
A
LUT
B
LUT
LUT
LUT
LUT
X
LUT
Z
LUT
LUT
LUT
LUT
G
D F
![Page 41: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/41.jpg)
41 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Simulated annealing: IllustrationFPGA
LUT
LUTBRAM
BRAM
LUT
A
B
LUT
LUT
LUT
LUT
X
LUT
Z
LUT
LUT
LUT
LUT
G
D F
![Page 42: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/42.jpg)
42 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (General Purpose)
• Simulated annealing: IllustrationFPGA
LUT
LUTBRAM
BRAM
LUT
A
B
LUT
LUT
LUT
LUT
LUT
X
Z
LUT
LUT
LUT
LUT
G
D F
![Page 43: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/43.jpg)
43 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place
• User Guided Layout (Chapter 16:Reconfigurable Computing
• General Purpose (Chapter 14:Reconfigurable Computing)
– Simulated Annealing– Partition-based
• Structured Guided (Chapter 15:Reconfigurable Computing)
– Data Path based
![Page 44: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/44.jpg)
44 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (Structured-based)
• Leverage structure of the application
• Algorithms my work well for a give structure, but will likely give unacceptable results for an design with little regular structure.
![Page 45: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/45.jpg)
45 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Structure high-level example
![Page 46: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/46.jpg)
46 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Applications on FPGA: Low-level
Implement
Simulate
Synthesize
Map
Place
Route
Download
![Page 47: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/47.jpg)
47 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route
• Connect placed resources together• Two requirements
– Design must be completely routed– Routed design meets timing requirements
• Widely used algorithm “PathFinder”– PathFinder (FPGA’95)
• McMurchie and Ebeling – Reconfigurable Computing (Chapter 17)
• Scott Hauch, Andre Dehon (2008)
![Page 48: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/48.jpg)
48 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route: Route FPGA Circuit
![Page 49: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/49.jpg)
49 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder)
• PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs (FPGA’95)
• Basic PathFinder algorithm– Based closely on Djikstra’s shortest path
• Weights are assigned to nodes instead of edges
![Page 50: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/50.jpg)
50 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• G = (V,E)– Vertices V: set of nodes (wires)– Edges E: set of switches used to connect wires– Cost of using a wire: c_n = (b_n + h_n) * p_n
S1 S2 S3
D1 D2 D3
A B C
1
1
1
11
14 3
34
3
3
2
2
![Page 51: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/51.jpg)
51 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• Simple node cost cn = bn
– Obstacle avoidance• Note order matters
S1 S2 S3
D1 D2 D3
A B C
1
1
1
11
14 3
34
3
3
2
2
![Page 52: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/52.jpg)
52 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• cn = b * p– p: sharing cost (function of number of signals
sharing a resource)– Congestion avoidance
S1 S2 S3
D1 D2 D3
A B C
1
1
1
11
14 3
34
3
3
2
2
![Page 53: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/53.jpg)
53 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• cn = (b + h) * p– h: history of previous iteration sharing cost– Congestion avoidance
S1 S2 S3
D1 D2 D3
A B C
2
21
1 1
1
2
2
1
1
![Page 54: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/54.jpg)
54 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• cn = (b + h) * p– h: history of previous iteration sharing cost– Congestion avoidance
S1 S2 S3
D1 D2 D3
A B C
2
21
1 1
1
2
2
1
1
![Page 55: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/55.jpg)
55 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• cn = (b + h) * p– h: history of previous iteration sharing cost– Congestion avoidance
S1 S2 S3
D1 D2 D3
A B C
2
21
1 1
1
2
2
1
1
![Page 56: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/56.jpg)
56 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• cn = (b + h) * p– h: history of previous iteration sharing cost– Congestion avoidance
S1 S2 S3
D1 D2 D3
A B C
2
21
1 1
1
2
2
1
1
![Page 57: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/57.jpg)
57 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• cn = (b + h) * p– h: history of previous iteration sharing cost– Congestion avoidance
S1 S2 S3
D1 D2 D3
A B C
2
21
1 1
1
2
2
1
1
![Page 58: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/58.jpg)
58 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• cn = (b + h) * p– h: history of previous iteration sharing cost– Congestion avoidance
S1 S2 S3
D1 D2 D3
A B C
2
21
1 1
1
2
2
1
1
![Page 59: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/59.jpg)
59 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Route (PathFinder): Example
• cn = (b + h) * p– h: history of previous iteration sharing cost– Congestion avoidance
S1 S2 S3
D1 D2 D3
A B C
2
21
1 1
1
2
2
1
1
![Page 60: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/60.jpg)
60 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Applications on FPGA: Low-level
Implement
Simulate
Synthesize
Map
Place
Route
Download
![Page 61: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/61.jpg)
61 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Download
• Convert routed design into a device configuration file (e.g. bitfile for Xilinx devices)
![Page 62: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/62.jpg)
62 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Next Lecture
• Project presentations
![Page 63: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/63.jpg)
63 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Questions/Comments/Concerns
• Write down– Main point of lecture
– One thing that’s still not quite clear
– If everything is clear, then give an example of how to apply something from lecture
OR
![Page 64: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/64.jpg)
64 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
Place (Structured-based)
• Leverage structure of the application– Algorithms my work well for a give structure, but will likely
give unacceptable results for an design with little regular structure.
• GLACE “A Generic Library for Adaptive Computing Environments” (FPL 2001)– Is an example tool that takes the structure of an application
into account.• FLAME (Flexible API for Module-based Environments)• JHDL (From BYU)• Gen (From Lockheed-Martin Advanced Technology
Laboratories)
![Page 65: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/65.jpg)
65 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
GLACE: High-level
![Page 66: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/66.jpg)
66 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
GLACE: Flow
![Page 67: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/67.jpg)
67 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
GLACE: Library Modules
![Page 68: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/68.jpg)
68 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
GLACE: Data Path and Control Path
![Page 69: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/69.jpg)
69 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
GLACE: FLAME low-level
![Page 70: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)](https://reader035.vdocuments.net/reader035/viewer/2022070405/56814000550346895dab3431/html5/thumbnails/70.jpg)
70 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)
GLACE: Final placement example