quiz 1. question 1) according to the study on “simultaneous timing driven clustering and placement...

54
QUIZ 1

Upload: nathan-lyons

Post on 17-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

1

QUIZ

Page 2: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

2

Question• 1) According to the study on “Simultaneous Timing Driven

Clustering and Placement for FPGAs”, what is a fragment level move and which drawbacks of the traditional FPGA CAD flow are targeted with the fragment level moves? 

Page 3: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

3

BSPlace: A BLE Swapping technique for placement

04.11.2014

Minsik Hong

George Hwang

Hemayamini Kurra

Minjun Seo

Page 4: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

4

Outline• SCPlace

• Introduction• Algorithm flowchart• Net Counting Algorithm• Results

• BSPlace• Algorithm• Demo

• Backup Slides• If you guys ask minimal questions we can cover more

• Net Weighting• VPR Datastructures

Page 5: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

5

Rajavel, Senthilkumar Thoravi, and Ali Akoglu. "MO-Pack: Many-objective clustering for FPGA CAD." Proceedings of the 48th Design Automation Conference. ACM, 2011.

Page 6: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

6

Simultaneous timing driven clustering and placement for FPGAs.

Chen, Gang, and Jason Cong. Field Programmable Logic and Application. Springer Berlin Heidelberg, 2004. 158-167.

Page 7: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

7

Key concept• Fragment level move

• BLE to a new CLB• Check for valid CLB configuration• Feasibility (number of BLEs and input pins)• Update the cost function

• Block level move• CLB to CLB

Page 8: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

8

BLE Level Swapping• Advantages

• Fix Packing issues during simulated annealing• Better Congestion Mitigation• Better at Routeability

• Disadvantages• Speed• Complexity

Page 9: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

9

SCPlace Algorithm

Page 10: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

10

Page 11: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

11

Additional feature of Journal version SCPlace

Page 12: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

12

Use Novel net weighting

Use Novel net weighting

Page 13: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

13

A novel net weighting algorithm for timing-driven placement

Kong, Tim Tianming. Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design. ACM, 2002.

Page 14: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

14

Accurate All Path Counting

Page 15: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

15

a

b

c d

e

f5

71

5

3

0/0

0/2

7/7 8/8

13/13

11/13

ARR/REQ

a

b

c d

e

f

Calculate F(t)

Fs(a, c) = 7 – 0 – 7 = 0Fs(b, c) = 7 – 0 – 2 = 2

2

00

0

0

D{Fs(a, c), T} = D{0,13} = 1D{Fs(b, c), T} = D{2,13} = = 0.88D{Fs(c, d), T} = D{0,13} = = 1D{Fs(d, e), T} = D{0,13} = = 1D{Fs(d, f), T} = D{0,13} == 1

a=2, T: the longest path delay

1

1

0

0

0

0

F(c) = F(c) + D{Fs(a, c), T} x F(a) + D{Fs(b, c), T} x F(b) = 0 + 1x1 + 0.88x1 = 1.88

1.88 1.88

1.88

1.88

1

1

delay

Page 16: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

16

Calculate B(s)

a

b

c d

e

f5

71

5

3

0/0

0/2

7/7 8/8

13/13

11/13

ARR/REQ

a

b

c d

e

f

0 0

1

1

0

0

Bs(d, e) = 13 – 5 – 8 = 0Bs(d, f) = 13 – 3 – 8 = 2

0

00

0

2

a=2, T: the longest path delay

D{Bs(a, c), T} = D{0,13} = 1D{Bs(b, c), T} = D{0,13} = 1D{Bs(c, d), T} = D{0,13} = 1D{Bs(d, e), T} = D{0,13} = 1D{Bs(d, f), T} = D{2,13} = 0.88

B(d) = B(d) + D{Bs(d, e), T} x B(e) + D{Bs(d, f), T} x B(f) = 0 + 1x1 + 0.88x1 = 1.88

1.88 1.88

1

1

1.88

1.88

Page 17: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

17

Calculate AP(s, t) (a=2)

D{slack(a, c), T} = D{0,13} = 1D{slack(b, c), T} = D{2,13} = 0.88D{slack(c, d), T} = D{0,13} = 1D{slack(d, e), T} = D{0,13} = 1D{slack(d, f), T} = D{2,13} = 0.88

a

b

c d

e

f

1.88/1.88 1.88/1.88

1.88/1

1.88/1

1/1.88

1/1.882

0

0

0

2

F(s)/B(t)

slack

AP(a,c) = F(a) x B(c) x D{slack(a, c), T} = 1 x 1.88 x 1 = 1.88AP(b,c) = F(b) x B(c) x D{slack(b, c), T} = 1 x 1.88 x 0.88 = 1.65

a

b

c d

e

f

1.88

1.65

3.531.88

1.65

Page 18: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

18

Results (Only use BLE swapping)

CLB = 4

Page 19: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

19

Results (Only use BLE swapping)

Page 20: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

20

Results (BLE + CLB swapping)

where 0 ≤ α ≤ 1

The number of CLB moves: The number of BLE moves:

Page 21: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

21

Results (BLE + CLB swapping)

T-Vpack+VPR vs SCPlace (α=0.5)

Page 22: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

22

BSPlace

Page 23: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

23

BSPlace• BLE Level Swapping within Simulated Annealing with

Rent’s Rule• Advantages

• Fix packing issues as they occur.• Potentially better routability.• Potentially better congestion due to combination of placement and pack-

ing.

• Disadvantages• Execution time – We need to do memory allocation and deallocation for

any ble swapping.• Code Complexity – VPR is complex. We focus a lot of time with debug-

ging and testing instead of algorithms.

Page 24: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

24

Rent’s Rule Threshold Value• Calculate the k value to get threshold• Enter simulated annealing process

• Outer loop process• Inner loop process

• Choose random CLB to move from current position to another position• Check Rent’s Rule Threshold• If we get a better result for swap

• Queue BLE Swapping

• Otherwise• Do CLB swapping :Use T-v place

• Loop Through BLE Swapping• Do BLE Swap after checking whether swap overlaps with previous swap• Re-Allocated Memory and return to outer loop

Pio kBT

Page 25: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

25

Current Status• Code

• Created our own BLE swapping mechanism using VPR data struc-ture.• We have a whole suite of test fixtures to test code.• Testing still continuing, but we are finding minimal issues.

• We have done a swap within placement.• We have started to integrate our cost function

• Validation• We intend to run VPR benchmarks. Our BLE swapping solution

should be better or the same as TV-Place.• Our VPR benchmarks should also be comparable to IRAC.

Page 26: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

26

The circuit below abstracts the MUX, switchboxes, and connection boxes. The connections represent the direct connections between bles in clbs. Op-timize this circuit by performing one BLE swap. Explain why your optimiza-tion will result in better performance.

Architecture ParameterK = 2I = 3N = 2MeasurementCritical Path Delay = 1.182ns

Demo

Page 27: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

27

Demo• http://www.screenr.com/gJdN

Page 28: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

28

Demo

Page 29: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

29

Thanks.

Page 30: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

30

Backup Slides

Page 31: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

31

Impact of duplication on placement

Delay = 2 Delay = 1

Page 32: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

32

A novel net weighting algorithm for timing-driven placement

Kong, Tim Tianming. Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design. ACM, 2002.

Page 33: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

33

A Novel Net Weighting Algorithm• Accurate path counting algorithm

• The first known accurate path counting algorithm that considers all paths

• Due to experimental number of paths present in the circuit, accu-rate all path counting has been considered very difficult.

• Significant performance improvement• Little loss in total wirelength• No runtime overhead

Page 34: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

34

A Novel Net Weighting Algorithm• consider the path sharing effect

• If two critical paths share a common segment, the edges in the common segment should receive higher weights.

• Define two variables• Forward path F(p) - the number of different critical paths starting

from PI elements, terminating at p.

• Backward path B(p) – the number of different critical paths staring from PO elements, terminating at p, if we reverse all signal flow di-rections.

Page 35: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

35

Background

Page 36: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

36

Background

Page 37: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

37

Example

a

b

c d

e

f5

71

5

3

Timing of a circuit

0

0

7 8

13

11

5

71

5

3

ARR(t)

0

2

7 8

13

13

5

71

5

3

REQ(s)

The longest path delay (T)

Page 38: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

38

Example

0

2

0 0

0

25

71

5

3

Slack(s, t)

5

71

5

3

0/0

0/2

7/7 8/8

13/13

11/13

Page 39: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

39

Example

0

0 0

0

71

5

d(π) = 13, slack(π) = 0

2

0 0

25

1

3

0

0 0

2

71

3 2

0 0

0

5

1

5

d(π) = 9, slack(π) = 4

d(π) = 11, slack(π) = 2

d(π) = 11, slack(π) = 2

Page 40: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

40

Critical Path counting

Page 41: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

41

Calculate F(p)

0

0

0 0

0

05

71

5

3

1

1

0 0

0

05

71

5

3

1

1

2 2

2

25

71

5

3

Page 42: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

42

Calculate B(p)

0

0

0 0

0

05

71

5

3

0

0

0 0

1

15

71

5

3

2

2

2 2

1

15

71

5

3

Page 43: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

43

Calculate GP(s,t)

2

2

2 2

1

15

71

5

3

1

1

2 2

2

25

71

5

3

a

b

c d

e

f

2

2

4

2

2

Page 44: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

44

Accurate All Path Counting• Use discount function to get accurate counting result

• ‘a’ is a positive constant number• x

• Fs(s,t) = ARR(t) – ARR(s) – d(s,t)• Bs(s,t) = REQ(t) – REQ(s) – d(s,t)

• y is the longest path delay (T)

Page 45: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

45

Accurate All Path Counting

Page 46: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

46

Ex. Calculate F(t) (a=2)

a

b

c d

e

f5

71

5

3

0/0

0/2

7/7 8/8

13/13

11/13

D{Fs(a, c), T} = D{0,13} = 1D{Fs(b, c), T} = D{2,13} = 0.88D{Fs(c, d), T} = D{0,13} = 1D{Fs(d, e), T} = D{0,13} = 1D{Fs(d, f), T} = D{0,13} = 1

a

b

c d

e

f5

71

5

3

1

1

1+0.88

1.88

1.88

1.88

Page 47: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

47

Ex. Calculate B(s) (a=2)

a

b

c d

e

f5

71

5

3

0/0

0/2

7/7 8/8

13/13

11/13

D{Bs(a, c), T} = D{0,13} = 1D{Bs(b, c), T} = D{0,13} = 1D{Bs(c, d), T} = D{0,13} = 1D{Bs(d, e), T} = D{0,13} = 1D{Bs(d, f), T} = D{2,13} = 0.88

a

b

c d

e

f5

71

5

3

1.88

1.88

1.88 1+0.88

1

1

Page 48: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

48

Ex. Calculate AP(s,t) (a=2)

a

b

c d

e

f5

71

5

3

1.88

1.88

1.88 1+0.88

1

1

a

b

c d

e

f5

71

5

3

1

1

1+0.88

1.88

1.88

1.88

a

b

c d

e

f

1*1.88*1= 1.88

D{slack(a, c), T} = D{0,13} = 1D{slack(b, c), T} = D{2,13} = 0.88D{slack(c, d), T} = D{0,13} = 1D{slack(d, e), T} = D{0,13} = 1D{slack(d, f), T} = D{2,13} = 0.88

1*1.88*0.88=1.65

1.88*1.88*1=3.53

1.88*1*1=1.88

1.88*1*0.88=1.65

Page 49: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

49

Compare results

a

b

c d

e

f

1.88

1.65

3.53

1.88

1.65

a

b

c d

e

f

2

2

4

2

2

Using Critical counting method (GPATH), it is difficult to get accurate re-sult.However, if we use proposed algorithm, we can get more accurate result.

Page 50: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

50

VPR Datastructures• Resource Routing Graph• Physical Block Graph• Netlist

• Global CLB Netlist• Global Atom Netlist

• Blocks

Page 51: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

51

Blocks

• Contains CLB• Contains the Input Output• Contains the Resource Routing Graph• Contains the Physical Blocks

• Physical Blocks represents the BLE• Physical Blocks represents the Flip Flop• Physical Blocks also contains the LUTs

Page 52: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

52

Resource Routing Graph

• Nodes are pins• Edges are architectural connections• Each pin is associated with a net num• Prev Nodes and Edges represents

the actual connections per ble.

Page 53: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

53

Global Netlist

Page 54: QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which

54

Atom Netlist