Sei sulla pagina 1di 18

www.jntuworld.

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

3 types of 3−layer models

www.specworld.in 3 www.smartzworld.com

www.jntuworld.com
www.jntuworld.com

www.jntuworldupdates.org

Terminology for Channel Routing Problems

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

2-L Channel Routing: Basic Left-Edge

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

Basic Left-Edge Algorithm

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

Basic Left-Edge Example

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

Constrained Left-Edge Algorithm

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

Constrained Left-Edge Example

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

Dogleg Channel Router

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

• Drawback of Left-Edge: the entire net is on a single track. w 2 0 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.

w 0 1 2 2 0 3 0 4 save 2 tracks, with via penalty

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

Over-the-Cell Channel Routing

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

Dynamic Programming in Supowit’s Algorithm

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

Potrebbero piacerti anche