Professional Documents
Culture Documents
com
D L
w w
Detailed routing
N J
. w
tu jn
U T
switchbox routing
1
or w
. ld
m o c
R
www.jntuworld.com
channel routing
www.jntuworld.com
Grid-based model:
D L
Routing Models
Gridless model:
w w
gridbased
gridless
2
www.jntuworld.com
N J
. w
tu jn
U T
or w
. ld
m o c
www.jntuworld.com
D L
Unreserved layer model: Any net segment is allowed to be placed in any layer. Reserved layer model: Certain type of segments are restricted to particular layer(s).
Two-layer: HV (horizontal-Vertical), VH Three-layer: HVH, VHV
w w
N J
track 1
. w
tu jn
U T
track 2 VHV model
or w
. ld
m o c
www.jntuworld.com
www.jntuworld.com
D L
terminals 5 1 0 1 4
netlist:
2 local density 1
3 3
5 5
3 5
5 4
vias
Local density at column i: total # of nets that crosses column i. Channel density: maximum local density; # of horizontal tracks required channel density. 4
w w
trunks
www.jntuworld.com
N J
. w
terminals
tu jn
dogleg
U T
branches
or w
9 8 7 4 3 2
. ld
0 1 4 5 1 6 7 0 4 9 10 23535268987
lower boundary
m o c
upper boundary
lower boundary
www.jntuworld.com
D L
horizontal segments of the same net in dierent tracks, and the terminals of the net to horizontal segments of the net.
Horizontal constraints between two nets: The horizontal span of two nets overlaps each other.
N J
Vertical constraints between two nets: There exists a column such that the terminal on top of the column belongs to one net and the terminal on bottom of the column belongs to the other net.
w w
. w
U T
tu jn
or w
. ld
m o c
www.jntuworld.com
www.jntuworld.com
D L
U T
5 4
w w
0 1 2
N J
3
.j w
5 3
tu n
0 3 0 0
W
4 0 2 3
or w
. ld
m o c
1
www.jntuworld.com
www.jntuworld.com
D L
w w
0 1 2
N J
3
. w
2 1 5 3
tu jn
1 0 3 4 0 0
W
4 0 2 3
U T
5 4
or w
. ld
m o c
1 2
www.jntuworld.com
www.jntuworld.com
D L
Hashimoto & Stevens, Wire routing by optimizing channel assignment within large apertures, DAC-71.
Intervals are sorted according to their left-end x-coordinates. Intervals (nets) are routed one-by-one according to the order. For a net, tracks are scanned from top to bottom, and the rst track that can accommodate the net is assigned to the net. Optimality: produces a routing solution with the minimum # of tracks (if no vertical constraint).
8
w w
www.jntuworld.com
N J
. w
tu jn
U T
No vertical constraint.
or w
. ld
m o c
www.jntuworld.com
Algorithm: Basic Left-Edge(U, track[j]) U : set of unassigned intervals (nets) I1 , . . . , In; Ij = [sj , ej ]: interval j with left-end x-coordinate sj and right-end ej ; track[j]: track to which net j is assigned. begin U {I1 , I2 , . . . , In}; t 0; while (U = ) do t t + 1; watermark 0; while (there is an Ij U s.t. sj > watermark) do Pick the interval Ij U with sj > watermark, nearest watermark; 9 track[j] t; 10 watermark ej ; 11 U U {Ij }; 12 end 1 2 3 4 5 6 7 8
D L
w w
N J
9
. w
tu jn
www.jntuworld.com
U T
or w
. ld
m o c
www.jntuworld.com
U = {I1 , I2 , . . . , I6 }; I1 = [1, 3], I2 = [2, 6], I3 = [4, 8], I4 = [5, 10], I5 = [7, 11], I6 = [9, 12]. t = 1:
D L
w w
0 density: 1
2 2
1 2
3 2
0 3
0 3
5 3
0 3
6 3
0 3
N J
5 2 0 1
. w
tu jn
2 0 3 0 4 0 5 4
6 2
7 0
U T
8 3
or w
. ld
m o c
9 10 11 12 0 4 0 6
10
www.jntuworld.com
www.jntuworld.com
Algorithm: Constrained Left-Edge(U, track[j]) U : set of unassigned intervals (nets) I1 , . . . , In; Ij = [sj , ej ]: interval j with left-end x-coordinate sj and right-end ej ; track[j]: track to which net j is assigned. 1 2 3 4 5 6 7 8 begin U {I1 , I2 , . . . , In}; t 0; while (U = ) do t t + 1; watermark 0; while (there is an unconstrained Ij U s.t. sj > watermark) do Pick the interval Ij U that is unconstrained, with sj > watermark, nearest watermark; 9 track[j] t; 10 watermark ej ; 11 U U {Ij }; 12 end
D L
w w
N J
. w
tu jn
U T
or w
. ld
m o c
11
www.jntuworld.com
www.jntuworld.com
D L
R O
2 2 5 5 5 3 2 6 5 3 track 2 5 3 track 3
w w
5 3 track 1
N J
3 track 4
. w
2 5
tu jn
0
U T
0 6 0 4
or w
6 3 0
. ld
4 0
m o c
12
www.jntuworld.com
www.jntuworld.com
D L
R
1 1 2 ? 2 0 1
Doglegs are used to place parts of a net on dierent tracks to minimize channel height. Might incur penalty for additional vias.
0 1 2 2 0 3 0 4 0 1 2 2
w w
1
3 3 4 no dogleg
0 3 3 4 with dogleg
N J
4 4 0
. w
U T
tu jn
or w
2 0 1
. ld
m o c
13
www.jntuworld.com
www.jntuworld.com
D L
2a
2b
2a 2b
3a 3b
3a
3b
N J
3a
w w
0 3
. w
2
4
U T
1 1
2a
Routing sequence: Species the starting position and the direction of routing along the channel.
tu jn
4
Range: Determine the # of consecutive 2-terminal subnets of the same net that can be placed on the same track.
or w
2
. ld
m o c
2 0
2b
3b
14
www.jntuworld.com
www.jntuworld.com
Over-the-Cell Routing
D L
Routing over the cell rows is possible due to the limited use of the 2nd (M2) metal layers within the cells. Divide the over-the-cell routing problem into 3 steps: (1) routing over the cell, (2) choosing the net segments, and (3) routing within the channel.
Reference: Cong & Liu, Over-the-cell channel routing, IEEE TCAD, Apr. 1990.
w w
2 1 3
N J
Overthecell routing
VDD GND
. w
tu jn
U T
15
or w
3 4 6
. ld
VDD GND
m o c
Overthecell routing
www.jntuworld.com
www.jntuworld.com
Cong & Liu, Over-the-cell channel routing, IEEE TCAD, Apr. 1990.
D L
w w
N J
16
. w
tu jn
www.jntuworld.com
U T
or w
Select terminals among "equivalent" ones for regular channel routing (Goal: minimize channel density NPcomplete!)
. ld
m o c
www.jntuworld.com
Supowits Algorithm
Supowit, Finding a maximum plannar subset of a set of nets in a channel, IEEE TCAD, 1987. Problem: Given a set of chords, nd a maximum plannar subset of chords.
D L
W
10 9 c 8 7 j
Compute M IS(i, j): size of maximum independent set between vertices i and j, i < j.
2n1
0 1 2
2n2
N J
5 6 A set of chords.
w w
. w
f
circle graph
tu jn
d e
U T
f 3 b 4
or w
11
. ld
1 2
m o c
a d b f e c
17
www.jntuworld.com
www.jntuworld.com
D L
w w
j1
N J
j j1
.j w
U T
tu n
j1
or w
k
. ld
j
m o c
i i i+1
R
j
MIS(i, j1)
MIS(i+1, j1)
MIS(k+1, j1)
18
www.jntuworld.com