Sei sulla pagina 1di 8

ROUTING

References
PROBLEM FORMULATION
• 1. J.Soukup, “Fast Maze Router”, Proc. Design
Given a routing region R, a number of layers K, Automation Conference, 1978, pp.100-102.
a description of design rules DR, a set of nets • 2. M.Burnstein, R.Pelavin, “Hierarchical Wire
Routing”, IEEE Trans. on CAD, October 1983, pp.
N = {N1, N2, ... Nn} and (optional) a 223-234.
description of special requirements SR. The • 3. K.Mikami, K.Tabuchi, “A computer program for
goal is to find a set of interconnections which: optimal
p routing
g of p
printed circuit
connectors,”Proceedings
”P di off IFIP,
IFIP H47:1475-1478,1968.
H47 1475 1478 1968
A. Fit into the R ; • 4. E.S. Kuh and T. Ohtsuki, Recent advances in VLSI
layout, Proceedings of the IEEE, Vol.78, issue 2, Feb.
B. Connect all the nets N ; 1990, Page(s):237 – 263.
C. Fulfill the design rules DR ; • 5. L. McMurchie and C. Ebeling, “PathFinder: a
negotiation based performance-driven router for
D. Satisfy the SR. FPGAs”, Proc. of the ACM Conference on FPGAs,
pp. 111-117, February 1995

ECE 256A 1 ECE 256A 2

Basic routing solutions


Basic routing problems
• Size complexity
• Size complexity – Divide and conquer: don’t just solve one big problem
– Big chips have an enormous number of wires (~1M) – Solve a sequence of routing problems that refine routing
– Not every wire takes an easy path to connect pins, – Start with global model of routing, end with detailed
congestion may make path-finding hard routing
– It is essential to connect all nets • Shape complexity
• Shape complexity – Coarse routing steps are often gridded,
– In earlier years: grid representation which implied – Detailed routing steps: require some grid or are gridless.
positions for wires, vias and pins
– Now all wire geometries are feasible, complex design
• Circuit timing
rules – Placement must be good to make timing possible
• Circuit timing – Account for timing using different abstractions of time
– Delays contributed by wires can’t be too big – Iteratively improve

ECE 256A 3 ECE 256A 4

Overview of routing approaches Global routing


pins
• Early approaches to chip • Divide the routing area into
routing smaller regions 1
Cell A Cell B Cell A 1 Cell B
– Ideas from PC world • Decide through which 4 4
– 2 routing layers regions the wires will go, 2
– Had to route around objects, but not exactly where each
not over them wire will be 3
Wiring area
• Start with overall floorplan • The idea is to plan global 3
of placed chip paths for the wires, so we 3
Cell D Cell D
• Connect pins with Cell C know early we can fit them Cell C 2 2
interconnects placed in the all in each region.
regions left for routing.

ECE 256A 5 ECE 256A 6

1
Defining channels Row based placements
• Result of global routing: • Alternates logic and channel
– In each region we know which wiring
Cell A 1 1 Cell B
wires go through it and we – Routing in channels
know I/O pins 4 4
– Global routing determines
2 X4
– Typical decomposition for where row-spanning
ASICS is into rectangular 2 X3
3 signals cross the rows and
X
regions where
h th
the h
horizontal
i t l
– Signals only enter on 2 X3
3 segments are placed
opposite sides 3 Cell D
Cell C 2 2

ECE 256A 7 ECE 256A 8

Routing: detailed routing Newer technologies


• Detailed routing follows global routing • Many layers of metal
– Finds actual shape and positions of wires – No need to put wires only
between the blocks on the chip Cell A Cell B
– Wires can be placed over
1 1 1
blocks of the chip
1
– Area routers are designed to
2 4 2 4 b good
be d att d
dealing
li with
ith Wiring area
3 4 3 4
obstacles
– Each region Cell D
2 2
4 4 modeled as Cell C
3 3 3 3 a grid of
legal wire
locations

ECE 256A 9 ECE 256A 10

Timing constraints Detailed Routing


• Remains as a huge, somewhat open problem I. GENERAL METHODS can handle arbitrary
• Not uniquely a router problem routing problem and operate in sequential
– If placement is bad, wires can’t be short enough to fashion making 2-point connection at a time.
meet timing They guarantee finding a path between two
– Problems come from points if such a path exists. The basic path-
• Placement quality search algorithms are:
• Router 1. MAZE SEARCH ALGORITH
• Crosstalk 2. LINE SEARCH ALGORITHM
• Slow logic
– Many complex interdependencies
– Active problem

ECE 256A 11 ECE 256A 12

2
Classical maze-style area-routers Maze routing
• Strategy:
• Area router, not a region router – One net at a time
– Handles obstacles well – Optimize path – finds the best wiring path
– Results are sensitive to wire ordering • Problems:
• Can be used for g
global and detailed routing
g – Early wired nets may block paths of later nets
• Can handle gridless routing constraints – Optimal choice for one net may block later nets
• Can handle some timing constraints • Solutions:
– Careful net ordering
– Careful optimization to include impact on future
wiring
– Rip-up and re-route
ECE 256A 13 ECE 256A 14

MAZE SEARCH ALGORITHM


1
1 A 1
2 1 2
2 1 A 1 Maze Router characteristics:
1 1 2
2

B B • Finds a path of minimum length.


• Finds a path, if one exists.
• Can p
process several layers.
y
3 2 1 2 3 4 5 6 7 8 9 10 1 2 3 4 • Nets routed sequentially: ordering needed.
2 1 A 1
1 2
5
6
7 8 9 10 11
8 8 10
A 5
6
• Large memory needed to store the grid.
4 3 2 3 7 8 9 10 11 12 13 7 8 9 10 11 12
5 4 8 13 13
6 5 6 10 9 10 11 B B
7 6 7 8 9 10 11 1213
8 7 8 9 10 11 13
9 10 11 12
12 11 10 11 12 13
ECE 256A 15 ECE 256A 16

Maze router Maze router: concerns


• Storage:
• Three main steps:
– Do we really need a big grid to represent a big routing
– Expansion problem?
– Backtrace
– What information is required in each cell of the grid?
– Clean-up
• Complexity:
A key
k property t off maze search:h – Do we really have to search the whole grid each time
we add a wire?
label represents the distance from the source.
• Technology
– How to handle many layers?
It is a breadth-first search, grids closer to the
starting point are searched with higher – Complex wire widths and spacings.
preference.

ECE 256A 17 ECE 256A 18

3
Applications Improvements, extensions:
• Multi point nets
– One source – many targets • Window constraints.
• Strategy • Multi-terminal nets:
– Use maze router to find path from source to
nearest target
g chains, spanning trees, Steiner trees.
– Re-label all cells on this path as sources and re-run
maze router using all sources simultaneously
– Repeat for each segment

ECE 256A 19 ECE 256A 20

Enhanced Search Toward the Target Hadlock’s minimum detour algorithm:


Maze algorithm: a special case of search New measure for labeling : detour number.
algorithms in graph theory. Search Let M(A, B) be the Manhattan distance between
techniques are capable of finding a path no A and B. P is a path connecting A and B. d(P) =
matter in which sequence the cells are
searched, the worst case running time is total number of grid points directed away from
O(N2) for N x N grid. the
h target. l(p)
l( ) = M(A
M(A, B) + 2d(P)
directed away
Speed improvement : advance wave fronts from B
with higher priority to target direction. A B d(P) = 4
M(A, B) = 6
l(P) = 6 + 2 * 4 =14

ECE 256A 21 ECE 256A 22

P - path between A and B is the shortest path if Soukup’s fast maze search:
and only if d(P) is minimized among all paths
connecting A and B. M(A, B) is fixed. A combination of breadth-first search and
Algorithm: depth-first search.
Wave propagation modified such that: * line segment starting from the source is
* detour numbers with respect to a specified initially extended toward the target, cells
target
g are entered in searched empty
p y cells ; along the line are searched first.
* the cells with less detour numbers are * when
h the h li
line hi
hits an obstacle,
b l maze search h
expanded with higher priority used to search around the obstacle.
• Run time complexity O(N) to O(N )
2 * when a cell approaching a target is found,
depending on distribution of target-source another line segment starting there is
and obstacles. extended towards the target.
Shortest path guaranteed. Finds a path if it exists. Does not guarantee
that the shortest path is found.
ECE 256A 23 ECE 256A 24

4
3 3 3 3 3 3 3
3 2 2 2 2 2 2 2 3
3 2 1 1 1 1 1 1 1 2 3
3 2 1 1 1 1 1 1 2 3
3 2 1 0 1 1 1 1 1 2 3
3 2 1 0 3
3 3 3
3 3

(b) minimum detour algorithm ( c) fast maze algorithm

Cells searched before target is reached.

(a) original Lee algorithm

ECE 256A 25 ECE 256A 26

Routing Many Nets Negotiated Congestion


• The success of maze routing depends on the
order in which nets are routed • Basic algorithm
– Route signals along minimum cost path
– Rip-up and reroute may help but still depends on – If congestion/overuse
order; • assign higher cost to congested resources
– R&R may go into an infinite loop; – Repeat until done
– it is hard to come up with an effective rip-up • Key
K ididea
heuristic. – Congested paths/resources become expensive
– When there is freedom
• A more practical approach: • future routes, with freedom to avoid, will
– Negotiate the congestion – When there is less freedom
• have to take routes
– Routes which must use congested resources will, while
others will chose less congested paths

ECE 256A 27 ECE 256A 28

Example
Mikami - Tabuchi Line search algorithm (0) intersecton point

Path sought between A and B. (1)


(1)
First 4 lines passing through A and B are generated. (1)
They extend up to the nearest obstacles, they are 0- (0) (1)
level lines. At each iteration: (1)
A
(0)
B
(1) Pick up trial lines of level (i) one after another along (1) (1)
each such line; trace all grid points (base points) and
generate new line segments for each of them: (i+1) - (1) (1) (1) (0) (1) (1) (0) (1) (1) (1)
level lines.
(2) If a trial line of level (i+1) intersects a trial line trial lines from A trial lines from B

originated from the other terminal points, then


backtrace from the point of intersection to both The Mikami-Tabuchi guarantees to find a path, if one exists.
terminals to generate paths. Appropriate level scheduling of trial lines yields a solution
(3) Otherwise, all trial lines of level (i+1) are stored. with minimum number of bends.
ECE 256A 29 ECE 256A 30

5
Global Routing
To handle complicated routing problems 2 levels
of hierarchy are introduced : The regions allocated for routing depend on the
layout style. There are 3 approaches to current
Global Routing layout design :
• gate array
Detailed Routing • standard cell
• building block

ECE 256A 31 ECE 256A 32

Gate array and standard cell

Global routing amounts to assigning nets to


vertical avenues channels. The inter channel connections are
by means of vertical avenues on the sides or
}

} center of the chip and by feed throughs


between gates or cells in each row.
} horizontal
h i t l I gate
In t array channels
h l h
have fi
fixed
dhheight.
i ht IIn
channels
standard cell channels have unspecified
} heights and the aim is to minimize the sum of
channel heights.
}

ECE 256A 33 ECE 256A 34

Sequential Routing
Optimization
The global routing can be formulated as an
optimization problem. To make it solvable we
make the following simplifying assumptions:

The most common approach is to route one net at a A1. A net list contains 2-pin nets only.
time and choose the shortest path whenever possible.
* Route all nets independently, if some regions A2. The shapes of routes are limited to few
become too crowded, reroute the nets which cause possible patterns. Usually only 1 or 2 bends
congestion. per wire are allowed.
* Route nets sequentially and update the information
about routing regions after completing each net.
ECE 256A 35 ECE 256A 36

6
tj tj
tj tj
Integer programming Pj2

Pj1 Sj
Pj3
with assumptions A1, A2 the GR problem is: Sj
Sj Pj4
Sj
Given a net list L = { (s1, t1),..(sn, tn)}.
Associated with each terminal pair (sj, tj) is a set {Pjk }, k=1,2,..ιi
Let G = (V, E, w), and let each ei ∈ E be assigned of feasible paths, one of which must be used to join sj to tj. Let
an integer weight wi, i = 1, 2,..m; m = |E|
1 if Pjk is selected which uses ei
aijk =
wα = 3 0 otherwise
α
A solution to the problem can be specified by the indicator
variable
1 if Pjk is selected
xjk =
No more than wi of the n paths required to complete the 0 otherwise
routing use edge ei.
ECE 256A 37 ECE 256A 38

Then: HIERARCHICAL DECOMPOSITION


Xjk ≥ 0 j = 1, 2, .. n; k = 1, 2, .. ι Avoids net ordering, decisions are applied at
(ι = |Pj|)
|Pj| each level of hierarchy to all nets “at once”
 Xjk = 1 j = 1, 2…n * Top - Down Scheme
k=1 GRP
* Bottom Up Scheme
 aijk Xjk ≤ wi i = 1, 2, … m
j, k
Hierarchical decisions are made independently,
i.e. without the knowledge of how they may
affect the succeeding stages.

ECE 256A 39 ECE 256A 40

THE TOP - DOWN APPROACH I


k(1) P(1,1) P(1,2)

P(2,1) P(2,2)
k(2)

k(3) P(3,1) P(3,2)

k(4) P(4,1) P(3,2)

k(5) P(5,1) P(5,2)


ECE 256A 41 ECE 256A 42

7
k(6) P(6,1) P(6,2) k(11) P(11,1) P(11,2) P(11,3) P(11,4)

k(7) P(7,1) P(7,2) P(7,3)

k(8) P(8,1) P(8,2) P(8,3)

P(9,1) P(9,2) P(9,3)


k(9)

k(10) P(10,1) P(10,2) P(10,3)


ECE 256A 43 ECE 256A 44

H1
h1 The linear restrictions are:
v1 v2 V2
For all admissible i, j : x(i, j) ≥ 0
V1 H2 For all i = 1, 2, .. 11, Xi +  x(i, j) = K(i)
h2  x(i, j) + y1 = v1
(i, j) ∈ V1

x(i, j) - Number of nets of type i using the j-th  x(i, j) + y2 = h1
pattern (i, j) ∈ H1

Xi - Number of over flown nets of type i, i i=  x(i, j) + y3 = v2
(i, j) ∈ V2
1,2,…11 ∼
 x(i, j) + y4 = h2
v1, v2, h1, h2 -Channel capacities (i, j) ∈ H2

H1 = { (i, j)|P(i, j) crosses H1} ; H2, V1, V2- similar. The linear forms which are optimized:
∼ ∼ ∼ ∼ 11
y1, y2, y3, y4 -Number of leftover tracks on v1,  Ki = MAX
h1, v2, h2 - respectively i =1
4
K(i) - Number of nets of type i  Xi = MIN
ECE 256A 45 i =1 ECE 256A 46

THE TOP- DOWN APPROACH II


Principle : Cut and make linear
cut line
assignment of
crossings

1. For each net calculate the crossing costs


2. Build the cost matrix
3. Make linear assignment
4. Split the original problem into 2 new, smaller
problems
5. Continue in breadth-first manner until desired
granularity is met.
ECE 256A 47 ECE 256A 48

Potrebbero piacerti anche