Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
com
www.jntuworldupdates.org
D
Channel & Switchbox Routing
L
o m
R
. c
ld
O
o r
W
t u w channel routing
U
. jn
T
w w
N
w
J
switchbox routing
Detailed routing
www.specworld.in 1 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
Routing Models
D
• Grid-based model:
L
– A grid is super-imposed on the routing region.
o m
R
– Wires follow paths along the grid lines.
. c
ld
O
• Gridless model:
o r
W
– Any model that does not follow this “gridded” approach.
t u w
U
. jn
T
w w
N
w
J
grid−based gridless
www.specworld.in 2 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
Models for Multi-Layer Routing
L
• Unreserved layer model: Any net segment is allowed to be placed in
o m
R
any layer.
.c
ld
O
• Reserved layer model: Certain type of segments are restricted to
particular layer(s).
o r
W
u
– Two-layer: HV (horizontal-Vertical), VH
t w
U
jn
– Three-layer: HVH, VHV
T
track 2 track 3
w w
track 1 track 2
N
track 1
track 1
w
J
unreserved layer model
HVH model VHV model
www.specworld.in 3 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
terminals
0 1 4 5 1 6 7 0 4 9 10
L
upper boundary
o m
R
c
0 1 4 5 1 6 7 0 4 9 10
.
netlist:
23535268987
ld
O
r
lower boundary
2 3 5 3 5 2 6 8 9 8 7
W
local
w
1 3 5 5 4 3 3 3 4 3 2
density
t u
U
jn
terminals
. upper boundary
T
vias
w w dogleg branches
N
lower boundary
w trunks
J
• Local density at column i: total # of nets that crosses column i.
• Channel density: maximum local density; # of horizontal tracks required ≥ channel
density.
www.specworld.in 4 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
Channel Routing Problem
L
• Assignments of horizontal segments of nets to tracks.
o m
R
• Assignments of vertical segments to connect.
.c
ld
O
– horizontal segments of the same net in different tracks, and
o r
W
– the terminals of the net to horizontal segments of the net.
u w
• Horizontal and vertical constraints must not be violated.
t
U
. jn
– Horizontal constraints between two nets: The horizontal span of
two nets overlaps each other.
T
w
– Vertical constraints between two nets: There exists a column such
w
N
that the terminal on top of the column belongs to one net and the
w
terminal on bottom of the column belongs to the other net.
J
• Objective: Channel height is minimized (i.e., channel area is
minimized).
www.specworld.in 5 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
Horizontal Constraint Graph (HCG)
L
• HCG G = (V, E) is undirected graph where
o m
R
. c
ld
– V = {vi|vi represents a net ni}
O
r
– E = {(vi, vj )| a horizontal constraint exists between ni and nj }.
o
W
t u w
• For graph G: vertices ⇔ nets; edge (i, j) ⇔ net i overlaps net j.
U
1
1 5 2 0 2
. j
1
n
1 0 3 4 0 5
T
w w
N
4
3
w0 1 2 5 3 4 0 0 2 3 2
J
A routing problem and its HCG. 3
www.specworld.in 6 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
Vertical Constraint Graph (VCG)
L
o m
R
• VCG G = (V, E) is directed graph where
. c
ld
– V = {vi|vi represents a net ni}
O
o r
– E = {(vi, vj )| a vertical constraint exists between ni and nj }.
W
t u w
• For graph G: vertices ⇔ nets; edge i → j ⇔ net i must be above net j.
1
U
5
1 5 2 0 2
. 1
jn
1 0 3 4 0
T
w w 4
N
2
3
w
0 1 2 5 3 4 0 0 2 3
J
A routing problem and its VCG. 3
www.specworld.in 7 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
Algorithm
L
within large apertures,” DAC-71.
o m
• Hashimoto & Stevens, “Wire routing by optimizing channel assignment
R
.c
ld
• No vertical constraint.
O
• HV-layer model is used.
o r
W
• Doglegs are not allowed.
t u w
U
jn
• Treat each net as an interval.
T
w
• Intervals are sorted according to their left-end x-coordinates.
w
N
• Intervals (nets) are routed one-by-one according to the order.
w
J
• For a net, tracks are scanned from top to bottom, and the first 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).
www.specworld.in 8 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
Algorithm: Basic Left-Edge(U, track[j])
L
U : set of unassigned intervals (nets) I1 , . . . , In;
o m
Ij = [sj , ej ]: interval j with left-end x-coordinate sj and right-end ej ;
R
track[j]: track to which net j is assigned.
.c
ld
O
1 begin
o r
W
2 U ← {I1 , I2 , . . . , In};
3 t ← 0;
while (U 6= ∅) do
t u w
U
4
5 t ← t + 1;
. jn
T
6 watermark ← 0;
7
w w
while (there is an Ij ∈ U s.t. sj > watermark) do
N
8 Pick the interval Ij ∈ U with sj > watermark,
w
nearest watermark;
J
9 track[j] ← t;
10 watermark ← ej ;
11 U ← U − {Ij };
12 end
www.specworld.in 9 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
• U = {I1 , I2 , . . . , I6 }; I1 = [1, 3], I2 = [2, 6], I3 = [4, 8], I4 = [5, 10], I5 = [7, 11], I6 = [9, 12].
L
• t = 1:
o m
R
– Route I1 : watermark = 3;
. c
ld
– Route I3 : watermark = 8;
O
– Route I6 : watermark = 12;
o r
W
• t = 2:
– Route I2 : watermark = 6;
t u w
U
jn
– Route I5 : watermark = 11;
• t = 3: Route I4
.
T
w w
column: 1 2 3 4 5 6 7 8 9 10 11 12
N
1 0 0 0 4 2 0 3 0 4 0 6
w
J
0 2 1 3 0 0 5 0 6 0 5 0
density: 1 2 2 2 3 3 3 3 3 3 2 1
10
www.specworld.in 10 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
Algorithm: Constrained Left-Edge(U, track[j])
L
U : set of unassigned intervals (nets) I1 , . . . , In;
o m
Ij = [sj , ej ]: interval j with left-end x-coordinate sj and right-end ej ;
R
track[j]: track to which net j is assigned.
.c
ld
O
1 begin
o r
W
2 U ← {I1 , I2 , . . . , In};
3 t ← 0;
while (U 6= ∅) do
t u w
U
4
5 t ← t + 1;
. jn
T
6 watermark ← 0;
7
w w
while (there is an unconstrained Ij ∈ U s.t. sj > watermark) do
N
8 Pick the interval Ij ∈ U that is unconstrained,
w
with sj > watermark, nearest watermark;
J
9 track[j] ← t;
10 watermark ← ej ;
11 U ← U − {Ij };
12 end
11
www.specworld.in 11 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
• I1 = [1, 3], I2 = [1, 5], I3 = [6, 8], I4 = [10, 11], I5 = [2, 6], I6 = [7, 9].
• Track 1: Route I1 (cannot route I3 ); Route I6 ; Route I4 .
L
• Track 2: Route I2 ; cannot route I3 .
o m
R
• Track 3: Route I5 .
. c
ld
O
• Track 4: Route I3 .
1 1 1 2 2 5
o r
6 3 0 4 0
W
t u w
U
. jn
T
w w 2 5 0 5 5 3 3 0 6 0 4
N
1
w 4
J
2 2
5 6 5 5
3 3 3 3
track 1 track 2 track 3 track 4
12
www.specworld.in 12 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
• Deutch, “A dogleg channel router,” 13rd DAC, 1976.
• Drawback of Left-Edge: cannot handle the cases with constraint cycles.
L
– Doglegs are used to resolve constraint cycle.
o m
R
1 1 2
. c
ld
1 1 2
O
1
o r
W
2
2
t
0
u
1
U
. jn
– Doglegs are used to place parts of a net on different tracks to minimize channel
T
height.
w w
N
– Might incur penalty for additional vias.
J
0 1 2 2 0 3 0 4
1 2 0 3 3 4 4 0 1 2 0 3 3 4 4 0
no dogleg with dogleg
13
www.specworld.in 13 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
Dogleg Channel Router
L
• Each multi-terminal net is broken into a set of 2-terminal nets.
o m
R
• Two parameters are used to control routing:
. c
ld
O
r
– Range: Determine the # of consecutive 2-terminal subnets of the same net that
can be placed on the same track.
W
along the channel.
t u w
– Routing sequence: Specifies the starting position and the direction of routing
U
. jn
• Modified Left-Edge Algorithm is applied to each subnet.
T
1 1 2 0 2 3
1
w w 1
1 1 2 0 2 3
N
2a 2b 2a 3a 1 2b
w
3a 3b
J
3a 3b
4 2b 3b 2a 4
2 3 0 3 4 4 4 2 3 0 3 4 4
14
www.specworld.in 14 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
Over-the-Cell Routing
• Routing over the cell rows is possible due to the limited use of the 2nd (M2) metal
D
layers within the cells.
L
choosing the net segments, and (3) routing within the channel.
o m
• Divide the over-the-cell routing problem into 3 steps: (1) routing over the cell, (2)
R
. c
• Reference: Cong & Liu, “Over-the-cell channel routing,” IEEE TCAD, Apr. 1990.
ld
O
o r VDD
GND
W
1 2 1 6 2 6
t u
3 4
w
3 4 6
Over−the−cell routing
U
. jn
T
w w
N
w
J
2 1 3 1 6 4 5 6 5 4 4 Over−the−cell routing
VDD
GND
15
www.specworld.in 15 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
• Cong & Liu, “Over-the-cell channel routing,” IEEE TCAD, Apr. 1990.
L
o m
Select over−the−cell nets
use Supowit’s Max. Independent
R
. c
Set algorithm for circle graph
ld
(solvable in O(c3 ) time,
O
c: # of columns)
o r
W
Select terminals among
t u w
"equivalent" ones for regular
channel routing
U
jn
(Goal: minimize channel density
. NP−complete!)
T
w w
N
w Plannar routing for
J
over−the−cell nets
+
Regular channel routing
16
www.specworld.in 16 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
Supowit’s Algorithm
D
• Supowit, “Finding a maximum plannar subset of a set of nets in a channel,” IEEE
TCAD, 1987.
L
• Problem: Given a set of chords, find a maximum plannar subset of chords.
– Label the vertices on the circle 0 to 2n − 1.
o m
R
– Compute M IS(i, j): size of maximum independent set between vertices i and j,
. c
ld
O
i < j.
– Answer = M IS(0, 2n − 1).
o r
W
11
w
11 0 0
1 c 1 c
u
10 a 10 a
e
f 2 d
t 2 d
U
9 9 c f
jn
c d b b
3 3
.
a f e f e
8 4 8 b 4
b
T
w
7 5 circle graph 7 5 Maximum independent
6 6
set: nodes b, c, f
w
A set of chords. Maximum plannar
N
subset of chords.
w 2n−1 0
J
1 i
2n−2
2 MIS(i, j): size of max.
independent set here
j
vetrices on the circle MIS(i, j), i < j
17
www.specworld.in 17 www.smartzworld.com
www.jntuworld.com
www.jntuworld.com
www.jntuworldupdates.org
D
• Apply dynamic programming to compute M IS(i, j).
L
case 1 case 2
m
case 3
R
k i i
. c i
ld
O
o r
W
w
j k j
j
t u
MIS(i, j) = MIS(i, k−1) + 1
U
MIS(i, j) = MIS(i, j−1) MIS(i, j) = MIS(i+1, j−1) + 1
. j n + MIS(k+1, j−1)
T
k
w
i
w i i
N
MIS(i, k−1)
i+1
w k−1
J
MIS(i, j−1) k
j j k+1 j MIS(i+1, j−1)
j−1 j−1 j−1
MIS(k+1, j−1)
18
www.specworld.in 18 www.smartzworld.com
www.jntuworld.com