70
1 - ECpE 583 (Reconfigurable Computing): Map, Place & route Iowa State University (Ames) 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.ed u/cpre583/

CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)

  • Upload
    ingo

  • View
    30

  • Download
    3

Embed Size (px)

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 Presentation

Citation preview

Page 1: CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map, Place & Route)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

70 - ECpE 583 (Reconfigurable Computing): Map, Place & routeIowa State University (Ames)

GLACE: Final placement example