julien lamoureux and steven j.e wilton iccad 2003 1

29
ON THE INTERACTION BETWEEN POWER-AWARE FPGA CAD ALGORITHMS Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

Upload: melvin-may

Post on 01-Jan-2016

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

1

ON THE INTERACTION BETWEEN POWER-AWARE

FPGA CAD ALGORITHMS

Julien Lamoureux and Steven J.E Wilton

ICCAD 2003

Page 2: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

2

Outline

Introduction

Algorithms

Experimental results

Conclusion

Page 3: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

3

Introduction

Technology Mapping(CutMap)

Clustering(T-VPack)

Placement(VPR:T-VPlace)

Routing(VPR Router)

Circuit

Delay / Area / Power Estimations

FPGA CAD FLOW

Page 4: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

4

Introduction

Technology Mapping(CutMap)

Clustering(T-VPack)

Placement(VPR:T-VPlace)

Routing(VPR Router)

Circuit

Delay / Area / Power Estimations

FPGA CAD FLOW

Page 5: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 6: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

6

Introduction

Technology Mapping(CutMap)

Clustering(T-VPack)

Placement(VPR:T-VPlace)

Routing(VPR Router)

Circuit

Delay / Area / Power Estimations

FPGA CAD FLOW

Page 7: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

7

Introduction

Technology Mapping(CutMap)

Clustering(T-VPack)

Placement(VPR:T-VPlace)

Routing(VPR Router)

Circuit

Delay / Area / Power Estimations

FPGA CAD FLOW

Page 8: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

8

Introduction Figure 1: An N cluster

Figure 2: A LUT and flip-flop BLE

Page 9: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

9

Introduction

Technology Mapping(CutMap)

Clustering(T-VPack)

Placement(VPR:T-VPlace)

Routing(VPR Router)

Circuit

Delay / Area / Power Estimations

FPGA CAD FLOW

Page 10: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

10

Introduction

Technology Mapping(CutMap)

Clustering(T-VPack)

Placement(VPR:T-VPlace)

Routing(VPR Router)

Circuit

Delay / Area / Power Estimations

FPGA CAD FLOW

Page 11: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

11

f3

f2

f1

Introduction

A

B

C

DEF

f1

f2 f3

ABC

DEF

Mapping + Clustering

PlacementRouting

Page 12: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 13: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 14: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

14

Technology Mapping

Page 15: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

15

Technology Mapping

Page 16: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 17: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 18: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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.

Page 19: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

19

Clustering

Page 20: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 21: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 22: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 23: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

23

Placement

Page 24: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 25: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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

Page 26: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

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.

Page 27: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

27

Routing

Page 28: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

28

Experimental results

Page 29: Julien Lamoureux and Steven J.E Wilton ICCAD 2003 1

Node Duplication 3-LUTs mappings:

With duplication No duplication