julien lamoureux and steven j.e wilton iccad 2003 1
TRANSCRIPT
1
ON THE INTERACTION BETWEEN POWER-AWARE
FPGA CAD ALGORITHMS
Julien Lamoureux and Steven J.E Wilton
ICCAD 2003
2
Outline
Introduction
Algorithms
Experimental results
Conclusion
3
Introduction
Technology Mapping(CutMap)
Clustering(T-VPack)
Placement(VPR:T-VPlace)
Routing(VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
4
Introduction
Technology Mapping(CutMap)
Clustering(T-VPack)
Placement(VPR:T-VPlace)
Routing(VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
5
Introduction
AB
C
DE
mapping
f2
f3
f1AB
C
DEF
Technology mapping transforms a netlist of gates and registers into a netlist of K-input lookup tables (K-LUTs) and registers.
...
fSRAM
x
y
z...
001
0
...1
6
Introduction
Technology Mapping(CutMap)
Clustering(T-VPack)
Placement(VPR:T-VPlace)
Routing(VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
7
Introduction
Technology Mapping(CutMap)
Clustering(T-VPack)
Placement(VPR:T-VPlace)
Routing(VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
8
Introduction Figure 1: An N cluster
Figure 2: A LUT and flip-flop BLE
9
Introduction
Technology Mapping(CutMap)
Clustering(T-VPack)
Placement(VPR:T-VPlace)
Routing(VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
10
Introduction
Technology Mapping(CutMap)
Clustering(T-VPack)
Placement(VPR:T-VPlace)
Routing(VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
11
f3
f2
f1
Introduction
A
B
C
DEF
f1
f2 f3
ABC
DEF
Mapping + Clustering
PlacementRouting
12
Algorithms
Technology Mapping(EMap)
Clustering(P-T-VPack)
Placement(P-T-VPlace)
Routing(P-VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
13
Algorithms
Technology Mapping(EMap)
Clustering(P-T-VPack)
Placement(P-T-VPlace)
Routing(P-VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
14
Technology Mapping
15
Technology Mapping
16
Algorithms
Technology Mapping(EMap)
Clustering(P-T-VPack)
Placement(P-T-VPlace)
Routing(P-VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
17
Algorithms
Technology Mapping(EMap)
Clustering(P-T-VPack)
Placement(P-T-VPlace)
Routing(P-VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
18
Clustering
T-VPack
P-T-VPack
Crit(B) is a measure of how close LUT B is to being on the critical path, Nets(B) is the set of nets connected to LUT B, Nets(C) is the set of nets connected to the LUTs already selected for cluster C
Activity(i) is the estimated switching activity of net i, Activityavg is the average switching activity of all the nets in the user circuit.
19
Clustering
20
Algorithms
Technology Mapping(EMap)
Clustering(P-T-VPack)
Placement(P-V-Place)
Routing(P-VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
21
Algorithms
Technology Mapping(EMap)
Clustering(P-T-VPack)
Placement(P-T-VPlace)
Routing(P-VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
22
Placement
T-Vplace
P-T-VPlace
q(i) is used to scale the bounding boxes to better estimate wirelength for nets with more than 3 terminals, as described in
[9]. Delay(i,j) is the estimated delay of the connection from source i to sink j, CE is a
constant, and Criticality(i,j) is an indication of how close to the critical path the connection is [9]. bbx(i) and bby(i) are the x and y dimensions of the bounding
box of net i
23
Placement
24
Algorithms
Technology Mapping(EMap)
Clustering(P-T-VPack)
Placement(P-T-VPlace)
Routing(P-VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
25
Algorithms
Technology Mapping(EMap)
Clustering(P-T-VPack)
Placement(P-T-VPlace)
Routing(P-VPR Router)
Circuit
Delay / Area / Power Estimations
FPGA CAD FLOW
26
Routing
VPR-Router
P-VPR-Router
The baseline VPR router uses the following cost function to evaluate a routing track n
while forming a connection from source i to sink j:
b(n) is the “base cost”, h(n) is the historical congestion cost, and p(n) is the present
congestion of node n.
Activity(i) is the switching activity in net i, MaxActivity is the maximum switching
activity of all the nets, and MaxActCrit is the maximum activity criticality that any net can have. cap(n) is the capacitance associated with routing resource node n and ActCrit(i) is the activity criticality of
net i.
27
Routing
28
Experimental results
Node Duplication 3-LUTs mappings:
With duplication No duplication