VLSI Routing. Routing Problem Given a placement, and a fixed number of metal layers, find a valid...

Post on 20-Dec-2015

224 views 4 download

Tags:

Transcript of VLSI Routing. Routing Problem Given a placement, and a fixed number of metal layers, find a valid...

VLSI Routing

Routing

• Problem Given a placement, and a fixed number of metal

layers, find a valid pattern of horizontal and vertical wires that connect the terminals of the nets

Levels of abstraction:o Global routingo Detailed routing

• Objectives Cost components:

o Area (channel width) o Wire delays o Number of layerso Additional cost components: number of bends, vias

Global vs. Detailed Routing• Global routing

Input: detailed placement, with exact terminal locations

Determine “channel” (routing region) for each net

Objective: minimize area (congestion), and timing (approximate)

• Detailed routing Input: channels and approximate

routing from the global routing phase Determine the exact route and layers

for each net Objective: valid routing, minimize

area (congestion), meet timing constraints

Additional objectives: min via, power Figs. [©Sherwani]

Routing Environment

• Chip architecture Full-custom Standard cell Gate Array

Routing Environment

• Chip architecture Full-custom:

o No constraint on routing regions

Objective functions are the objective functions of general routing problem.

•Routability•Area Minimization•Total wire length minimization•Maximum wire length minimization

Routing Environment

• Chip architecture Standard cell:

o Variable channel height?

o Feed-through cells connect channels

Failed netChannel

Feedthroughs

•Channels do not have predetermined capacity•Feedthroughs have predetermined capacty

•Area minimization•Minimization to total wire length•Minimization of maximum wire lenght

Routing Environment

• Chip architecture Gate Array:

o Fixed channel height

o Limited switchbox connections

o Prefabricated wire segments have different weights

Figs. [©Sherwani]

Tracks

Failed connection

•Routability•Minimize total wire length•Minimize maximum wire length

Maze Routing (Lee Algorithm)• Similar to breadth-first search

Very simple algorithm Works on grid graph Time complexity: grid size (NxN)

• Algorithm Propagate a “wave” from source

until hit the sink(implemented using a queue)

Trace back to find the path• Guaranteed to find the optimal solution

Usually multiple optimal solutions exist• More than two terminals?

For the third terminal, use the path between the first two as the source of the wave

s 1

1

1

22

22

23

3 3

3

3

3

4

4

4

44

4

5

5

5

5

55

5

5t

1

1

2

22

3

3

3

3 4

4

44

4

5

Multiple Terminal Nets

A

E

B

C

D

1

1

2

22

3

3

3

3 4

4

44

4

5

Multiple Terminal NetsD

E

C

B

A

1

2

1

1

2

1

1

2

2

11

2

22

3

D

E

C

B

A

Multiple Terminal Nets

2

1

1

2

1

1

2

2

11

1

1

1

D

E

C

B

A

Multiple Terminal Nets

1

12

2

2

2

2

2

2

Finding More Desirable Paths

2

3 3

21

2

2 2 1

3

1

3 3

Finding More Desirable Paths

1 2 2

2 2

2

22

33

3

3

3 33

3 3 3 3 33

3

3 3 3 3 3 33

222222 2 3

2

3 3

21

2

2 2 1

3

1

3 3

Finding More Desirable Paths

1 2 2

2 2

2

22

33

3

3

3 33

3 3 3 3 33

3

3 3 3 3 3 33

222222 2 3

1

5

Finding More Desirable Paths

2 2

2

3

5

5

5

4

1

5

8

Finding More Desirable Paths

2 2

2

6

35

8

58

85

5

4

11 9 7 1

5

8

Finding More Desirable Paths

15 2 2

16 2

6

35

811

5

14

11 814

17 14 11 85

5

1113 9

4

11 9 7 1

5

8

Finding More Desirable Paths

15 2 2

16 2

6

35

811

5

14

11 814

17 14 11 85

5

1113 9

412

11 9 7 1

5

8

Finding More Desirable Paths

13 2 2

16 2

6

35

811

5

14

11 814

17 14 11 85

5

1113 9

412

Speed Improvement

S T

Hadlock’s Algorithm

S

T

01

1

1

1 1

1

1

1

2 2 2

2

2

112

22

2

22 2 2

Soukup’s Algorithm

S

T

0

0

11

1

1

1

1

2 2 2

0 1

1

Line Search (Probe) AlgorithmMikami-Tabuchi’s Algorithm

0

0

11

1

1

1

1

2 2 2

0 1

1

Line Search (Probe) AlgorithmHightower’s Algorithm

Multi Terminal Nets

Steiner Tree

Steiner tree

Steinerpoint

MST

Rectilinear Steiner Tree

Minimize Wire length