Академический Документы
Профессиональный Документы
Культура Документы
Two vertices are joined by an edge if the corresponding cells are adjacent to each other. The occupied cells are represented as lled circles, whereas the others are as clear circles.
w w
. w
c
u t jn
d
r o w
a
. ld
b
m o c
d c
w w
. w
u t jn
r o w
. ld
m o c
Global-Routing Problem
Given a netlist N={N1 , N2 , . . . , Nn}, a routing graph G = (V, E ), nd a Steiner tree Ti for each net Ni, 1 i n, such that U (ej ) c(ej ), ej E n and i=1 L(Ti ) is minimized, where c(ej ): capacity of edge ej ; xij = 1 if ej is in Ti; xij = 0 otherwise;
n U (ej ) = i=1 xij : # of wires that pass through the channel corresponding to edge ej ;
L(Ti): total wirelength of Steiner tree Ti. For high-performance, the maximum wirelength (maxn i=1 L(Ti )) is minimized (or the longest path between two points in Ti is minimized).
w w
. w
u t jn
r o w
. ld
m o c
fixed feedthroughs
w w
. w
u t jn
r o w
gate array
. ld
m o c
FPGA
fixed channels
Minimize total channel height. Assignment of feedthrough: Placement? Global routing? For high performance, Minimize the maximum wire length. Minimize the maximum path length.
w w
. w
u t jn
r o w
failed net
. ld
m o c
feedthroughs
w w
. w
u t jn
r o w
. ld
m o c
2 tracks
w w
. w
u t jn
r o w
. ld
m o c
s s
?
s
w w
. w
u t jn
r o w
switch module
. ld
m o c
sequential approach
twoterminal
linesearch
w w
. w
u t jn
Soukup
r o w
. ld
m o c
concurrent approach
multiterminal
maze
Steinertree based
Lee
Hadlock
2 2,1
0,0 5
w w
2,1 6 7 0,1 0,4 2,1 9 2,5 10
n j . w
1 3,2 4 1,2 3,2 8
3,2 8
w tu
2 2,1 5 0,0 6 0,1 3 2,1 2,1 9
or
3,2 1,2 3,2 9 7 0,4 2,5 10
1,6
. ld
7 10 1 4 8
m o c
0,1 5 0,2 6 1,0 5 1,2 6
7 0,5
3,6
2 5 A B
3 A 6 9 7 10 B
grid graph
C2 = 2
C2
C4
w w
C1 C4 C3
. w
2
C2 C1 C3
u t jn
C1 = 2
r o w
C3 = 2
C2
. ld
C2
m o c
2 1 2 3
C2 C1
a feasible routing
1
1, 3 3
C4 = 2
2, 3
1, 2
C1 C3 C3
C4 C1
C4
C4 C3
trees of net 1
trees of net 2
trees of net 3
10
An Integer-Programming Example
Boundary B1 B2 B3 B4 t1 1 0 1 0 1 t1 2 1 0 1 1 t1 3 1 1 1 0 t2 1 1 0 1 0 t2 2 0 1 1 1 t2 3 1 1 0 1 t3 1 1 1 0 0
gi,j : cost of tree ti j g1,1 = 2, g1,2 = 3, g1,3 = 3, g2,1 = 2, g2,2 = 3, g2,3 = 3, g3,1 = 2, g3,2 = 2. Minimize 2x1,1 + 3x1,2 + 3x1,3 + 2x2,1 + 3x2,2 + 3x2,3 + 2x3,1 + 2x3,2 subject to x1,1 + x1,2 + x1,3 x2,1 + x2,2 + x2,3 x3,1 + x3,2 x1,2 + x1,3 + x2,1 + x2,3 + x3,1 x1,1 + x1,3 + x2,2 + x2,3 + x3,1 x1,2 + x1,3 + x2,1 + x2,2 + x3,2 x1,1 + x1,2 + x2,2 + x2,3 + x3,2 xi,j
w w
. w
u t jn
r o w
= = = =
. ld
m o c
I : t1 ) I : t2 ) I : t3 ) II : B 1) II : B 2) II : B 3) II : B 4)
t3 2 0 0 1 1
11
w w
Cut line
j . w
Section
u t n
r o w
N x i=1 ij
. ld
m o c
M x j =1 ij
= 1, 1 i N .
C, 1 j M .
M w x . j =1 ij ij
12
gate array
Minimum Rectilinear Steiner Tree (MRST) Problem: Given n points in the plane, nd a minimum-length tree of rectilinear edges which connects the points. M RST (P ) = M ST (P S ), where P and S are the sets of original points and Steiner points, respectively.
w w
. w
u t jn
standard cell
r o w
. ld
m o c
building block
13
Steiner points
w w
. w
u t jn
r o w
. ld
MRST
m o c
Hwang, On Steiner minimal tree with rectilinear distance, SIAM J. Applied Math., 1976. Best existing approximation algorithm: Performance bound
Foessmeier et al, Fast approximation algorithm for the rectilinear Steiner problem, Wilhelm Schickard-Institut f ur Informatik, TR WSI-93-14, 93. Zelikovsky, An 11 approximation algorithm for the network Steiner problem, Al6 gorithmica., 1993.
w w
n j . w
w tu
MST
or
. ld
3 . 2
m o c
61 48
by Foessmeier et al.
MRST
Hanan grid
14
2.
Given any MRST T on point set P with Steiner point set S , construct a spanning tree T on P as follows: 1. Select any point in T as a root. 2. Perform a depth-rst traversal on the rooted tree T . 3. Construct T based on the traversal.
2 7 1 6 3 4 T 8 5 2
w w
. w
6 1 3
u t jn
7 8 4 5
r o w
2 1 6 3
. ld
8 4
m o c
5 1 3
T 5 4
15