Download presentation
Published byZoe Gibbs Modified over 9 years ago
1
Etron Project: Placement and Routing for Chip-Package-Board Co-Design
Progress Report Jia-Wei Fang, Kuan-Hsien Ho, and Yao-Wen Chang The Electronic Design Automation Laboratory Graduate Institute of Electronics Engineering National Taiwan University June 5, 2008 GIEE, NTU
2
Outline Introduction Problem Formulation
Placement and Routing Algorithm
3
Introduction Cross sections of a die, a BGA package, and a PCB Finger
Bonding wire Package wire Die Top metal layer BGA Pin Bump ball Metal layers PCB wire PCB
4
Chip-Package-Board Co-Design
Advantages: Give higher flexibility to design a system Can achieve much higher performance Package planning Determine package size and then place the package on the PCB Package routing Route nets from fingers to bump balls PCB routing Route nets from bump balls to component pins PCB : Fingers : Bump balls Die Component pins Package
5
Problem of Chip-Package-Board Co-Design
Given a die with fingers, a placement of components with pins, the numbers of BGA and PCB metal layers, and a netlist Generate and place the package and then assign signals and route wires from component pins to fingers via bump balls Objectives Maximize routability Minimize package size, total wirelength, and the number of vias PCB : Fingers : Bump balls Die Component pins Package
6
Example BGA creation and placement BGA and PCB routing
7
Design Flow Die (Fingers), Components (Pins)
# Layers, Netlist, Design Rules Design Flow CPB Placement Bump-Ball Arrangement Package Placement Package and PCB Routing Global Routing Detailed Routing Routing Network Construction Any-Angle Routing No Routed & Minimized? Routing Result Output Yes Layer Assignment
8
Design Flow Die (Fingers), Components (Pins)
# Layers, Netlist, Design Rules Design Flow CPB Placement Bump-Ball Arrangement Package Placement Package and PCB Routing Global Routing Detailed Routing Routing Network Construction Any-Angle Routing No Routed & Minimized? Routing Result Output Yes Layer Assignment
9
Bump-Ball Arrangement
Determine package size (can get the minimum rectangle size) # bump balls of (r-1) rings < # fingers < # bump balls of r rings Bump ball ring r-1 ring r Fingers
10
Package Placement (1/2) Pin yboundary xboundary
Apply linear programming (LP) to determine the location of the package Step 1: Define legal regions of package placement Pin 3 4 yboundary q (x1, y1) 1 Package Center c (xc, yc) x=0 (x2, y2) 2 (xp, yp) p r y=0 xboundary
11
Package Placement (2/2) Step 2: Formulate LP
Objective function: Minimize total wirelength Min |(xc+xp)-x1|+|(yc+yp)-y1|+|(xc+xp)-x2|+|(yc+yp)-y2|+ |(xc+xp)-x3|+|(yc+yp)-y3|+|(xc+xp)-x4|+|(yc+yp)-y4| Subject to Package placement in legal regions xp>xboundary yp+package width<yboundary xp>0 yp>0 Min A A≧|(xc+xp)-x1| (A≧(xc+xp)-x1; A≦-(xc+xp)+x1)
12
Design Flow Die (Fingers), Components (Pins)
# Layers, Netlist, Design Rules Design Flow CPB Placement Bump-Ball Arrangement Package Placement Package and PCB Routing Global Routing Detailed Routing Routing Network Construction Any-Angle Routing No Routed & Minimized? Routing Result Output Yes Layer Assignment
13
Global Routing (1/3) Two types of nets
Type 1: from a finger to a bump ball Type 2: from a finger to a component via a bump ball Apply network flow to do global routing Multi-sources Single sink Use s2 to choose the bump pads for Type 1 s2 b1 b4 Netlist: 1, 2, 3 es1_1 1 b na f1 b2 b5 s1 Ball t a f2 2 Pin c f3 Finger b3 b6 Pre-assigned signals Only given a netlist PCB BGA Chip
14
Global Routing (2/3) Two types of nets
Type 1: from a finger to a bump ball Type 2: from a finger to a component via a bump ball Apply network flow to do global routing Multi-sources Single sink s2 b1 b4 Netlist: 1, 2, 3 1 g f1 b2 b5 s1 t f2 2 Pin h f3 Finger b3 b6 Only given a netlist PCB BGA Chip
15
Global Routing (3/3) Apply LP to solve the routing network
LP formulation: Objective function & constraints Objective function: Minimize total wirelength min Σl(ei_j)ei_j (l(ei_j): length of ei_j) Subject to Capacity of each edge/node (model routing resource) ei_j ≦ cap(ei_j); ni ≦ cap(ni); Flow constraint Σei_j = Σej_k Routability constraint es1_i = 1 Σes2_bi = # fingers – Σes1_j
16
Global Routing Result 1 Netlist: 1, 2, 3 1 3 2 2 Pre-assigned Signals
Ball 3 2 Pin 2 Finger 2 Pre-assigned Signals Only given a netlist PCB BGA Chip
17
Layer Assignment (1/2) In global routing, integrate all metal layers into one layer Model the layer assignment as a flow network to distribute nets into each layer after global routing Can only route wires in one layer 1 1 e1_l Layer 1 es_1 l el_t 1 3 3 Ball s t 3 2 r es_2 er_t 2 2 Finger e2_r Layer 2 BGA Chip Flow network
18
Layer Assignment (2/2) Apply LP to solve the flow network
Objective function: Minimize total via cost min Σci_jei_j (ci_j: via cost of ei_j) Subject to Capacity of each metal layer el_t ≦ 2; er_t ≦ 2 Flow constraint es_1 = 1; es_2 = 1; es_3 = 1 Σei_j = Σej_k Whole net in the same metal layer A net is composed of two wires p and q ei_lp = ei_lq; ei_rp = ei_rq BGA PCB
19
Detailed Routing The PCB routing does not allow any routing path with an acute angle The router should check every turning point to avoid an acute angle Once an acute corner is detected, the two adjacent net segments can be cut off to generate two obtuse angles Acute angle Turn Original routing path Min. spacing ring : Pins : Bump balls
20
Differential Pair Implement the proposed algorithm
Consider differential pairs Can have better signal integrity Differential pair
21
Preliminary Layout
22
Schedule Problem of Chip-Package-Board Co-Design
Stage 1 (1/2008 – 4/2008): done Literature survey Development of a placement and routing algorithm considering the objectives Stage 2 (5/2008 – 7/2008): almost done Implementation of the placement and routing algorithm Stage 3 (8/2008 – 9/2008) Optimization of the objectives Stage 4 (10/2008 – 12/2008) GUI generation and integration of all functions Paper writing and documentation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.