Title: Global Routing Method for 2Layer Ball Grid Array Packages
1Global Routing Method for 2-Layer Ball Grid
Array Packages
- Yukiko Kubo, Atsushi Takahashi
- The University of Kitakyushu
- Tokyo Institute of Technology
2Contents
- Introduction
- Problem Definition and Strategy
- Global Routing Method
- Experiments
- Conclusion
3Contents
- Introduction
- Problem Definition and Strategy
- Global Routing Method
- Experiments
- Conclusion
4Introduction
- Old package design
- Circuits were small
- Number of I/O terminals of packages was small
- -gt Terminals were put on perimeter of package
board - Radial routing
- Manual design or simple automatic design
5Introduction
Ball Grid Array
- Recent package design
- Circuits are large
- Number of I/O terminals
- of packages is large
- Ball Grid Array (BGA)
- Routing design is difficult
- Reduction of design term
- Routing automation
6Previous 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 routing
- Global routing method for 2-layer BGA packages
is proposed
7Contents
- Introduction
- Problem Definition and Strategy
- Global Routing Method
- Experiments
- Conclusion
8Our target
Ring wire for plating
- 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
finger
ball
Plating lead
via
Route on layer1
finger
via
ball
Route on layer2
9Via assignment
Vias are on grid array Radius of vias are
large for ball pitch At most one via is
allowed between four adjacent balls
10Routing strategy Monotonic routing
- Monotonic Routing
- never snakes in horizontal direction
- crosses any horizontal line at most once
Monotonic routing
Non-monotonic routing
11Condition for Monotonic Routing
- 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
12Routing 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 ball
0, 1, , 14
Layer2
Layer1
13Evaluation of Routes
- Via assignment is monotonic
- -gt Global routes can be determined uniquely
- Global routes are evaluated by via assignment
- Evaluation wire length (layer1), wire length
(layer2) and wire congestion
0, 1, , 14
14Evaluation Wire Length
Wire length (Layer1) the number of crosses of
vertical grid line and global routes
2 5
- Monotonic routes
- If wire length is long,
- routes snake
- routes cross vertical grid line
Len2
Len0
15Evaluation wire length
Wire Length (Layer2) Manhattan distance between
a ball and a via
2 5
5
Len2
5
Len1
2
2
16Evaluation Wire congestion
- Routing failure occurs
- Congestion is dense
- Congestion is not
- ballanced
Difference of congestion 3-52
Congestion between adjacent 2 vias
Reciprocal of wire pitch
Congestion evaluation Sum of
difference of adjacent congestion
17Problem 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
- Costawire length(layer1) bwire
length(layer2) cwire congestion - Constraints
- Monotonic via assignment
- Plating leads
18Contents
- Introduction
- Problem Definition and Strategy
- Global Routing Method
- Experiments
- Conclusion
19Routing Optimization Approach
- Greedy algorithm
- Give initial via assignment
- Select via-assignment modification with maximum
gain under monotonic constraint - If maximum gain gt 0, apply the modification and
go to 2
20Routing Optimization Approach
- Greedy algorithm
- Give initial via assignment
- Select via-assignment modification with maximum
gain under monotonic constraint - If maximum gain gt 0, apply the modification and
go to 2
21Initial via assignment
- Vias are generated according to ball sequences
- Each via sequence is divided into monotonic
sub-sequences - Vias of sub-sequences for same ball sequence are
put on different rows of via grid array
0, 1, , 14
4
10
11
13
1
5
6
7
12
14
0
3
8
2
9
22Initial via assignment
- Vias are generated according to ball sequence
- Each via sequences are divided into monotonic
sub-sequences - Vias of sub-sequences for same ball sequence are
put on different rows of via grid array
Vias of sub-sequences in different ball
sequences can share same row of via grid array
0, 1, , 14
11
4
10
5
13
1
6
7
2
9
12
14
0
3
8
23Initial via assignment
- Vias are generated according to ball sequence
- Each via sequences are divided into monotonic
sub-sequences - Vias of sub-sequences for same ball sequence are
put on different rows of via grid array
Vias of sub-sequences in different ball sequence
can share same row of via grid array
0, 1, , 14
11
4
10
5
13
1
6
7
2
9
12
14
0
3
8
24Routing Optimization Approach
- Greedy algorithm
- Give initial via assignment
- Select via-assignment modification with maximum
gain under monotonic constraint - If maximum gain gt 0, apply the modification and
go to 2
25Via assignment modification
- Modification patterns
- 2-via exchange
- 3-via rotation
- Sequential via movement
262-via exchange, 3-via rotation
- 2-via exchange
- Adjacent 2 vias are exchanged
- 3-via rotation
- 3 vias on a unit grid are rotated
u
u
j
i
k
j
i
k
l
l
d
d
2-via exchange
3-via rotation
27Sequential via movement
- Vias are moved to their adjacent grid one by one
without overlaps
0, 1, , 14
11
4
10
5
2
13
9
1
6
7
12
14
0
3
8
28Complexity
- 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)
29Routing Optimization Approach
- Greedy algorithm
- Give initial via assignment
- Select via-assignment modification with maximum
gain under monotonic constraint - If maximum gain gt 0, apply the modification and
go to 2
30Contents
- Introduction
- Problem Definition and Strategy
- Global Routing Method
- Experiments
- Conclusion
31Experiments
- Proposing method is implemented by C
- CPU 3GHz, 1GB memory
- Cost 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
32Experimental results
Calculation Time (s)
- ALL generates better routes than SEQ
- ALL takes much more time than SEQ
- Tradeoff between quality of solution and
calculation time
33Experimental result (data3)
Length(layer1) 252 ? 53 Length(layer2) 160 ?
193 Congestion 414.3 ? 129.8 Time(s) 1.90
(sec)
34Contents
- Introduction
- Problem Definition and Strategy
- Global Routing Method
- Experiments
- Conclusion
35Conclusion
- 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
36Future 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?
37BGA Package Design
- Consideration
- Multi-layer routing
- Obstacles
- Plating lead
- Chip scale package
- Multi-chip on board
- Electrical effects
die
Au bonding wire
bonding finger
board
solder ball
38Evaluation Wire length on layer1
11
len 1
4
10
5
2
13
9
1
6
7
len 3
12
14
0
3
8
39Routes distribution
- Many obstacles on layer2
- For short routes
- Little obstacles on layer1
- For long routes
- Plating leads is on layer1
Layer2
Layer1
40Sequential via movement
0, 1, , 14
0, 1, , 14
Layer1 Layer2 Congestion
41Local 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 known - Sum of local change of cost gain
u
k
j
i
i
k
l
j
l
d
d
The direction of movement is restricted to
right, left or above, below
42Cost graph
Nodes target via and two previous vias Edges
the direction of next via
j, k, u
u
j
i
k
l
j, k, l
i, j, k
d
j, k, d
43Cost graph
Nodes target via and two previous vias Edges
the direction of next via
a
j, k, u
k, u, a
u
b
j, k, l
i
k
j
l
c
k, u, b
i, j, k
d
j, k, d
Weight of edges are local change of cost
k, l, b
44Cost 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
45Experimental results
46Experimental results
- Comparison
- ALL
- Proposing method
- SEQ
- sequential via movement only
- Via movement starts with via of large cost
47Our Strategy
- Strategy
- Layer1 Monotonic routes with plating leads
- Layer2 Short routes
Layer2
Layer1