Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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
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
Example
Mikami - Tabuchi Line search algorithm (0) intersecton point
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
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
P(2,1) P(2,2)
k(2)
7
k(6) P(6,1) P(6,2) k(11) P(11,1) P(11,2) P(11,3) P(11,4)
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