![Page 1: StaticRoute: A novel router for the dynamic partial reconfiguration of FPGAs Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/1.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/2.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/3.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/4.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/5.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/6.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/7.jpg)
Proposed DPR tool flow
7
![Page 8: StaticRoute: A novel router for the dynamic partial reconfiguration of FPGAs Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/8.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/9.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/10.jpg)
Detecting dynamic bits
10
![Page 11: StaticRoute: A novel router for the dynamic partial reconfiguration of FPGAs Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/11.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/12.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/13.jpg)
Results – Reconfiguration time
14
![Page 14: StaticRoute: A novel router for the dynamic partial reconfiguration of FPGAs Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/14.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/15.jpg)
Results – Wire length
16
![Page 16: StaticRoute: A novel router for the dynamic partial reconfiguration of FPGAs Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/16.jpg)
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 Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013](https://reader030.vdocuments.site/reader030/viewer/2022032600/56649db15503460f94a9f5d0/html5/thumbnails/17.jpg)
StaticRoute: A novel router for the dynamic partial reconfiguration of
Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt
2/9/2013