StaticRoute : A novel router for the dynamic partial reconfiguration of FPGAs

17
StaticRoute: A novel router for the dynamic partial reconfiguration of FPGAs Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013

description

StaticRoute : A novel router for the dynamic partial reconfiguration of FPGAs. Brahim Al Farisi , Karel Bruneel, Dirk Stroobandt 2/9/2013. Dynamic partial reconfiguration (DPR). M 3. M 3. M 1. M 1. M 2. M 2. Advantages: Smaller area Lower power usage. Disadvantage: - PowerPoint PPT Presentation

Transcript of StaticRoute : A novel router for the dynamic partial reconfiguration of FPGAs

Page 1: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

StaticRoute: A novel router for the dynamic partial

reconfiguration of FPGAsBrahim Al Farisi,

Karel Bruneel, Dirk Stroobandt2/9/2013

Page 2: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Dynamic partial reconfiguration (DPR)

2

• Advantages:• Smaller area• Lower power usage

M1 M2 M3

• Goal: area reduction with reduced reconfiguration time

M1M2M3

• Disadvantage:• Reconfiguration

time

Page 3: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Conventional DPR tool flow

• Different circuits are implemented independently

• Complete area is rewritten

Problem: long reconfiguration times

3

Page 4: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Static vs dynamic bits

After implementation:– Each memory cell corresponds to a collection of bit values – This collection of bit values is called • a static bit, when the values are the same for all circuits• a dynamic bit, otherwise

4

Page 5: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Clustering of dynamic bits

• Only memory cells that contain a dynamic bit need to be rewritten during run-time

• Configuration memory of an FPGA is frame-based• Dynamic bits are scattered over the frames• Approach in this work:– Divide configuration frames into dynamic and static ones– Cluster dynamic bits into the dynamic frames

5

Page 6: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

CLBs vs routing

• In our experiments:– 10% of the configuration memory consists of CLB bits– 90% of the configuration memory consists of routing bits

Most of the time spent in reconfiguring the routing infrastructure

• Focus on reducing reconfiguration time of routing– All CLB frames are dynamic– Routing frames are divided in static and dynamic ones– Novel router, called StaticRoute, that clusters dynamic routing

bits in the dynamic routing frames

6

Page 7: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Proposed DPR tool flow

7

Page 8: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

PathFinder

• Makes use of a routing resource graph (RRG): directed graph where nodes represent wires and edges represent routing switches

• For each net PathFinder finds a minimum cost tree in the RRG• In a first iteration nets are allowed to share resources, i.e. wire

congestion is allowed• Negotiated congestion• Cost function of a node in the RRG:

8

Page 9: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

StaticRoute

• Extended Pathfinder algorithm that also clusters dynamic routing bits into dynamic routing frames

• Makes use of an extended routing resource graph (eRRG): – switches are also represented by nodes– mark switches as static/dynamic– keep information about the switches during routing

• Detecting dynamic bits– After routing: easy– During routing: not obvious

9

Page 10: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Detecting dynamic bits

10

Page 11: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Novel cost function StaticRoute

• Switch congestion: when a static switch is controlled by a dynamic bit

• StaticRoute iterates until both wire and switch congestion are resolved

• Novel cost function:

11

Page 12: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Experiments

13

• Regular expression matching, adaptive filtering, general MCNC and MCNC20 benchmarks

• 200-1500 LBs• Considered only 2 circuits at a time• Comparison of conventional DPR and new

flow that uses StaticRoute• Metrics:• Reconfiguration time• Wire length (of each circuit separately)

Page 13: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Results – Reconfiguration time

14

Page 14: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Results – Reconfiguration time

15

0 25 50 75 1000

10

20

30

40

50

60

70

80

Decrease in total reconfiguration time rel. to conventional DPR

Relative portion of static switch blocks

Dec

reas

e in

tota

l rec

onfig

urati

on ti

me

rel.t

o co

nven

tiona

l DPR

(%)

Page 15: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Results – Wire length

16

Page 16: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

Conclusions

16

• Possible to detect dynamic bits during routing• Introduced notion of switch congestion• Novel router, called StaticRoute, that resolves both

wire and switch congestion• Using novel DPR tool flow that uses StaticRoute:• Total reconfiguration speed-up of approx. 2X• Increase in wire length is limited

Page 17: StaticRoute : A  novel  router  for the  dynamic partial reconfiguration  of  FPGAs

StaticRoute: A novel router for the dynamic partial reconfiguration of

Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt

2/9/2013