1 global routing method for 2-layer ball grid array packages yukiko kubo*, atsushi takahashi** * the...
TRANSCRIPT
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
3
Contents
IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion
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
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
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
7
Contents
IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion
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
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
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
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
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
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
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
15
Evaluation: wire length
Wire Length (Layer2): Manhattan distance between a ball and a via
5
2
2 5
2
5
Len:1Len:2
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
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
18
Contents
IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion
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
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
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
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
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
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
25
Via assignment modification
Modification patterns 2-via exchange 3-via rotation Sequential via movement
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
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
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)
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
30
Contents
IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion
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
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)
33
Experimental result (data3)
Length(layer1): 252 → 53Length(layer2): 160 → 193 Congestion: 414.3 → 129.8Time(s): 1.90 (sec)
34
Contents
IntroductionProblem Definition and StrategyGlobal Routing MethodExperimentsConclusion
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
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?
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
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
39
Many obstacles on layer2 For short routes
Little obstacles on layer1 For long routes Plating leads is on layer1
Routes distribution
Layer1 Layer2
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:
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}
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
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
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
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
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
47
Our Strategy
Strategy: Layer1: Monotonic routes with plating leads Layer2: Short routes
Layer1 Layer2