1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The...

47
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo *, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology

Transcript of 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The...

Page 1: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

1

Global Routing Method for 2-Layer

Ball Grid Array Packages

Yukiko Kubo*, Atsushi Takahashi*** The University of Kitakyushu

** Tokyo Institute of Technology

Page 2: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

2

Contents

IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion

Page 3: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

3

Contents

IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion

Page 4: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

4

Old package designCircuits were smallNumber of I/O terminals of packages

was small

-> Terminals were put on perimeter of package board

Radial routingManual design or simple automatic

design

Introduction

Page 5: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

5

Recent package designCircuits are largeNumber of I/O terminals

of packages is largeBall Grid Array (BGA)Routing design is difficult

Reduction of design termRouting automation

Introduction

Ball Grid Array

Page 6: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

6

Previous Works for BGA Package Design

Net generation and global routing (single layer)

Yu and Dai [ICCAD95] Shibata etc. [JIEP97](in Japanese)

Layer Assignment and single layer routing Tsai, Wang and Chen [TCAD98] Chen, Chen, Tsai and Chen [ICCD99]

Existing algorithms are for single layer routingGlobal routing method for 2-layer BGA packages is proposed

Page 7: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

7

Contents

IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion

Page 8: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

8

Our target

Route on layer1

Route on layer2

via

Ring wire for plating

Plating lead

Target: 2-layer BGA package with plating leads Plating lead: a wire connecting

outer ring to plate wires Finger (on layer1): connecting

BGA board and chip Ball (on layer2): connecting BGA

board and PCB Net: 2-terminal (a finger and a

ball) with plating lead

chip

ball

finger

ball

finger

via

Page 9: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

9

Via assignment

Vias are on grid array:   Radius of vias are large for ball pitch = At most one via is allowed between four adjacent balls

Page 10: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

10

Routing strategy: Monotonic routing

4

1 3

2 5

6

1 2 3 4 5 6

5

1 3

2 4

6

1 2 3 4 5 6

5

1 3

2 4

6

1 2 3 4 5 6

Monotonic routing Non-monotonic routing

Monotonic Routing: never snakes in horizontal direction crosses any horizontal line at most once

Page 11: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

11

Condition for Monotonic Routing

4

1 3

2 5

6

1 2 3 4 5 6

Monotonic routing is possible

if and only if via assignment is monotonic Monotonic via assignment:

Net labels of vias on each row are

subsequence of net labels of fingers In monotonic via assignment,

Monotonic global routes are determined uniquely

Global routing = Monotonic via assignment

Page 12: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

12

Routing Strategy: Routes on Each Layer

Layer1: Monotonic routes with plating tales Via assignment is monotonic Global routes are determined uniquely

Layer2: Short routes Each via is put near

corresponding ball4 11 10

14

1 6 5 7 13

0 3 8 12 92

0, 1, … , 14

2

4

12

13

10

11

140 3 8

91

5

6 7

Layer1 Layer2

Page 13: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

13

Evaluation of Routes

Via assignment is monotonic-> Global routes can be determined uniquely

Global routes are evaluated by via assignment Evaluation: wire length (layer1), wire length (layer2)

and wire congestion

4 11 10

14

1 6 5 7 13

0 3 8 12 92

0, 1, … , 14

2

4

12

13

10

11

140 3 8

91

5

6 7

Page 14: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

14

Evaluation: Wire Length

Wire length (Layer1): the number of crosses of vertical grid line and global routes

Monotonic routes If wire length is long,= routes snake= routes cross vertical

grid line

4 11 10

14

1 6 5 7 13

0 3 8 12 92

2 5

2

4

12

13

10

11

140 3 8

91

5

6 7

Len:0 Len:2

Page 15: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

15

Evaluation: wire length

Wire Length (Layer2): Manhattan distance between a ball and a via

5

2

2 5

2

5

Len:1Len:2

Page 16: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

16

Evaluation: Wire congestion

Routing failure occurs   = Congestion is dense = Congestion is not ballanced

Congestion evaluation: Sum of difference of adjacent congestion

4 11 10

14

1 6 5 7 13

0 3 8 12 922

4

12

13

10

11

140 3 8

91

5

6 7

Congestion between adjacent 2 vias : Reciprocal of wire pitch

Congestion: 5Congestion: 3

Difference of congestion: |3-5|=2

Page 17: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

17

Problem Definition

2-Layer BGA Package Routing Input: 2-terminal nets (pair of a ball and a finger) Output: Global routes including vias Objective:

To minimize

Cost=a*wire length(layer1) + b*wire length(layer2) + c*wire congestion

Constraints: Monotonic via assignment Plating leads

Page 18: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

18

Contents

IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion

Page 19: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

19

Routing Optimization Approach

Greedy algorithm1. Give initial via assignment

2. Select via-assignment modification with maximum gain under monotonic constraint

3. If maximum gain > 0, apply the modification and go to 2

Page 20: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

20

Routing Optimization Approach

Greedy algorithm1. Give initial via assignment

2. Select via-assignment modification with maximum gain under monotonic constraint

3. If maximum gain > 0, apply the modification and go to 2

Page 21: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

21

Initial via assignment

Vias are generated according to ball sequences Each via sequence is divided into monotonic sub-sequen

ces Vias of sub-sequences for same ball sequence are put o

n different rows of via grid array

4 11 10

14

1 6 5 7 13

0 3 8 12 92

0, 1, … , 14

4

13

1011

12 140 3 82 9

1 56 7

Page 22: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

22

Initial via assignment

Vias are generated according to ball sequence Each via sequences are divided into monotonic sub-sequ

ences Vias of sub-sequences for same ball sequence are put o

n different rows of via grid array

4 11 10

14

1 6 5 7 13

0 3 8 12 92

0, 1, … , 14

4

13

10

11

12 140 3 8

2 9

1

5

6 7

Vias of sub-sequences in different ball sequences can share same row of via grid array

Page 23: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

23

Initial via assignment

Vias are generated according to ball sequence Each via sequences are divided into monotonic sub-sequ

ences Vias of sub-sequences for same ball sequence are put o

n different rows of via grid array

4 11 10

14

1 6 5 7 13

0 3 8 12 92

0, 1, … , 14

2

4

12

13

10

11

140 3 8

91

5

6 7

4

13

10

11

12 140 3 8

2 9

1

5

6 7

Vias of sub-sequences in different ball sequence can share same row of via grid array

Page 24: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

24

Routing Optimization Approach

Greedy algorithm1. Give initial via assignment

2. Select via-assignment modification with maximum gain under monotonic constraint

3. If maximum gain > 0, apply the modification and go to 2

Page 25: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

25

Via assignment modification

Modification patterns 2-via exchange 3-via rotation Sequential via movement

Page 26: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

26

2-via exchange, 3-via rotation

u

k

d

j il

2-via exchange

u

k

d

j il

3-via rotation

2-via exchange: Adjacent 2 vias are exchanged

3-via rotation: 3 vias on a unit grid are rotated

Page 27: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

27

Sequential via movement

Vias are moved to their adjacent grid one by one without overlaps

4 11 10

14

1 6 5 7 13

0 3 8 12 92

0, 1, … , 14

2

4

12

13

10

11

140 3 8

91

5

6 7

Page 28: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

28

Complexity

Modification with maximum gain enumerating all modifications calculating the gain of them

Complexity to obtain modification with maximum gain (n: number of nets) 2-via exchange: O(n) 3-via rotation: O(n) Sequential via movement: O(n2) Total: O(n2)

Page 29: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

29

Routing Optimization Approach

Greedy algorithm1. Give initial via assignment

2. Select via-assignment modification with maximum gain under monotonic constraint

3. If maximum gain > 0, apply the modification and go to 2

Page 30: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

30

Contents

IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion

Page 31: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

31

Experiments

Proposing method is implemented by C++CPU 3GHz, 1GB memoryCost function:

length(layer1) + length(layer2) + congestion

( a = b = c = 1 )

Comparison: ALL (Proposing method): 2-via exchange, 3-via

rotation, and sequential via movement SEQ: Sequential via movement only

Page 32: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

32

Experimental results

data ALL SEQ

1 16.7 1.0

2 4.7 0.3

3 1.9 0.2

4 5.7 0.6

5 5.5 0.4

ALL generates better routes than SEQ ALL takes much more time than SEQ

Tradeoff between quality of solution and calculation time

0

200

400

600

800

1000

1200

1400

Init

SEQ

ALL Init

SEQ

ALL Init

SEQ

ALL Init

SEQ

ALL Init

SEQ

ALL

data1 data2 data3 data4 data5

Data

Cos

t

congestion

length(layer2)

length(layer1) Calculation Time (s)

Page 33: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

33

Experimental result (data3)

Length(layer1): 252 →   53Length(layer2): 160 → 193  Congestion: 414.3 → 129.8Time(s): 1.90 (sec)

Page 34: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

34

Contents

IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion

Page 35: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

35

Conclusion

Global routing method for 2-layer BGA packages was proposed Monotonic routing was introduced Global routing method by monotonic via assignment

was proposed The method gives initial via assignment and

improve it by via assignment modification Experimental results

Our method generates good global routes Tradeoff between quality of solution and calculation

time

Page 36: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

36

Future work

Reduction of calculation time without degrading solution

Accurate design rule consideration for both layer1 and layer2

Plating leads planning Whether is the plating lead of each net routed

on Layer1 or Layer2?

Page 37: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

37

BGA Package Design

Consideration Multi-layer routing Obstacles Plating lead Chip scale package Multi-chip on board Electrical effects

board

Au bonding wiredie

solder ball

bonding finger

Page 38: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

38

Evaluation: Wire length on layer1

4 11 10

14

1 6 5 7 13

0 3 8 12 922

4

12

13

10

11

140 3 8

91

5

6 7

len: 1

len: 3

Page 39: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

39

Many obstacles on layer2 For short routes

Little obstacles on layer1 For long routes Plating leads is on layer1

Routes distribution

Layer1 Layer2

Page 40: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

40

Sequential via movement

4 11 10

14

1 6 5 7 13

0 3 8 12 92

0, 1, … , 14

2

4

12

13

10

11

140 3 8

91

5

6 7

4 11 10

14

1 6 5 7 13

0 3 8 12 92

0, 1, … , 14

2 4

12

13

10

11

140 3 8

91

5

6

7

Layer1: Layer2:

Congestion:

Page 41: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

41

Local change of the cost

Local change of cost is possible to calculate if Adjacent vias of the target via are known Two previous vias and a next via in the movement are kn

own Sum of local change of cost = gain

u

k

d

j il

k

j

d

i *l

The direction of movement is restricted to {right, left} or {above, below}

Page 42: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

42

Cost graph

Nodes : target via and two previous viasEdges : the direction of next via

u

k

d

j il

j, k, u

j, k, l

j, k, d

i, j, k

Page 43: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

43

Cost graph

j, k, u

j, k, l

j, k, d

k, u, a

k, u, b

k, l, b

u

k

d

j il

a

b

c

i, j, k

Nodes : target via and two previous viasEdges : the direction of next via

Weight of edges are local change of cost

Page 44: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

44

Cost graph

Directed acyclic graph Calculate longest path Longest path = sequential movement with

maximum gain

Sequential via movement with maximum via is selected For all starting nodes,

Generate cost graph Search longest path

Select path with maximum gain among all

Page 45: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

45

Experimental results

initial outputdata #net len1 len2 cong Cost len1 len2 cong Cost imp.

(%)

#mod time

(s)

1 316 175 316 356 847 86 359 174 619 27 54 16.7

2 192 418 192 620 1230 89 248 212 549 55 62 4.7

3 160 252 160 414 826 53 193 130 376 55 61 1.9

4 160 250 168 435 853 67 229 158 454 47 76 5.7

5 160 271 164 406 841 63 221 121 405 52 62 5.5

Page 46: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

46

Experimental results

Comparison ALL:

Proposing method

SEQ sequential via movement

only Via movement starts

with via of large cost

ALL SEQ

data imp. time imp. time

1 27 16.7 24 1.0

2 55 4.7 50 0.3

3 55 1.9 54 0.2

4 47 5.7 46 0.6

5 52 5.5 47 0.4

Page 47: 1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.

47

Our Strategy

Strategy: Layer1: Monotonic routes with plating leads Layer2: Short routes

Layer1 Layer2