Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s...

55
EE582 Physical Design Automation of VLSI Circuits and Systems Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University Routing

Transcript of Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s...

Page 1: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

EE582 Physical Design Automation of VLSI Circuits and Systems

Prof. Dae Hyun Kim

School of Electrical Engineering and Computer Science Washington State University

Routing

Page 2: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

2 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

Page 3: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

3 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

Page 4: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

4 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

Page 5: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

5 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

Page 6: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

6 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points, it is surely found. – It is guaranteed to be the shortest available path.

Filling (wave propagation)

Retrace

Label clearance

Page 7: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

7 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

S

T

Page 8: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

8 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Filling

S

T

1

1

1

Page 9: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

9 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Filling

S

T

1

1

1

2

2

2

2

Page 10: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

10 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Filling

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

Page 11: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

11 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Filling

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

Page 12: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

12 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Filling

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

5

5

5

5

5

5

5

5

5

5

5

5

5

5

Page 13: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

13 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Filling

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

5

5

5

5

5

5

5

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

Page 14: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

14 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Filling

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

5

5

5

5

5

5

5

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

Page 15: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

15 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Filling

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

5

5

5

5

5

5

5

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

Page 16: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

16 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Retrace

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

5

5

5

5

5

5

5

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

Page 17: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

17 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Complexity – O(L2)

• L: the length of the path

Page 18: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

18 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• How to reduce memory requirement (1,2,3,1,...)

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

Page 19: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

19 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• How to reduce memory requirement (1,1,2,2,...)

S

T

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

Page 20: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

20 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• How to reduce runtime

S

T

1

1

1

2

2

2

2

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

3

3

3

3

4

2

2

2

4 3

1

1

3

4

2

4

1

3 4

Page 21: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

21 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

Starting point selection

Double fan-out Framing

S

T

T

S

S

T S

T

Page 22: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

22 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Speed-up – l(P) = MD(S, T) + 2d(P)

• l: the length of a path P • MD: Manhattan distance • d(P): detour number of a path P

S T

MD(S,T)=7 d(P)=4 l(P)=7+2*4=15

Page 23: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

23 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Hadlock’s algorithm

S

T

0 0

Page 24: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

24 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Hadlock’s algorithm

S

T

0 0

1 1 1

1

1

1

1

1

1

1

1 1

1 1

1 1

1 1

1 1

Page 25: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

25 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Hadlock’s algorithm

S

T

0 0

1 1 1

1

1

1

1

1

1

1

2

1 1

1 1

1 1

1 1

1 1

2 2

2

2

2

2

2

2

2

2

2 2 2

Page 26: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

26 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Hadlock’s algorithm

S

T

0 0

1 1 1

1

1

1

1

1

1

1

2

1 1

1 1

1 1

1 1

1 1

2 2

2

2

2

2

2

2

2

2

2 2 2

3 3 3

3

3

3

3

3

3

3

3

3

3

3 3 3 3 3

3

3

3

3

Page 27: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

27 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Soukup’s algorithm

S

T

0 0

Page 28: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

28 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Soukup’s algorithm

S

T

0 0

1 1 1

1

1

1

1

1

1

1 1 1

Page 29: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

29 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Soukup’s algorithm

S

T

0 0

1 1 1

1

1

1

1

1

1

1

2 2 2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

1

2

2

1

2 2

Page 30: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

30 Physical Design Automation of VLSI Circuits and Systems

Grid Routing

• Soukup’s algorithm

S

T

0 0

1 1 1

1

1

1

1

1

1

1

2 2 2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

1

2

2

1

2 2

3 3 3

3

3

3

3

3

3

3

3

3

3

3 3 3 3 3 3

3

Page 31: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

31 Physical Design Automation of VLSI Circuits and Systems

Steiner Routing

• Routing topology generation for multi-fanout nets

Steiner point

Page 32: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

32 Physical Design Automation of VLSI Circuits and Systems

Steiner Routing

• Routing topology generation for multi-fanout nets

Page 33: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

33 Physical Design Automation of VLSI Circuits and Systems

Steiner Routing

0 10 20 30 40 50 60 70 80 90 100

10

20

30

40

50

60

70

80

90

100

Page 34: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

34 Physical Design Automation of VLSI Circuits and Systems

Steiner Routing

0 10 20 30 40 50 60 70 80 90 100

10

20

30

40

50

60

70

80

90

100

Page 35: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

35 Physical Design Automation of VLSI Circuits and Systems

Steiner Routing

• FLUTE: Fast Lookup Table Based Rectilinear Steiner Minimal Tree Algorithm for VLSI Design, TCAD’08

Page 36: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

36 Physical Design Automation of VLSI Circuits and Systems

FLUTE

𝑥𝑥1 𝑥𝑥2 𝑥𝑥3 𝑥𝑥4 𝑥𝑥

𝑦𝑦

𝑦𝑦1

𝑦𝑦2

𝑦𝑦3

𝑦𝑦4

Page 37: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

37 Physical Design Automation of VLSI Circuits and Systems

FLUTE

𝑥𝑥1 𝑥𝑥2 𝑥𝑥3 𝑥𝑥4 𝑥𝑥

𝑦𝑦

𝑦𝑦1

𝑦𝑦2

𝑦𝑦3

𝑦𝑦4

Horizontal edge

Vertical edge

ℎ1 ℎ2 ℎ3

𝑣𝑣1

𝑣𝑣2

𝑣𝑣3

Page 38: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

38 Physical Design Automation of VLSI Circuits and Systems

FLUTE

𝑥𝑥1 𝑥𝑥2 𝑥𝑥3 𝑥𝑥4 𝑥𝑥

𝑦𝑦

𝑦𝑦1

𝑦𝑦2

𝑦𝑦3

𝑦𝑦4

Characterization of the topology: (3142)

𝑠𝑠1 = 3

𝑠𝑠2 = 1

𝑠𝑠3 = 4

𝑠𝑠4 = 2

Page 39: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

39 Physical Design Automation of VLSI Circuits and Systems

FLUTE

(1234) (1243) (1324) (1342)

(1423) (1432) (2413) (4123)

Page 40: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

40 Physical Design Automation of VLSI Circuits and Systems

FLUTE

WL=ℎ1 + 2ℎ2 + ℎ3 + 𝑣𝑣1 + 𝑣𝑣2 + 2𝑣𝑣3 WL=ℎ1 + ℎ2 + ℎ3 + 𝑣𝑣1 + 2𝑣𝑣2 + 3𝑣𝑣3 WL=ℎ1 + 2ℎ2 + ℎ3 + 𝑣𝑣1 + 𝑣𝑣2 + 𝑣𝑣3

WL=𝑎𝑎1ℎ1 + 𝑎𝑎2ℎ2 + 𝑎𝑎3ℎ3 + 𝑏𝑏1𝑣𝑣1 + 𝑏𝑏2𝑣𝑣2 + 𝑏𝑏3𝑣𝑣3

Page 41: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

41 Physical Design Automation of VLSI Circuits and Systems

FLUTE

• Example

WL=ℎ1 + 2ℎ2 + ℎ3 + 𝑣𝑣1 + 𝑣𝑣2 + 𝑣𝑣3 = (1,2,1,1,1,1)

WL=ℎ1 + ℎ2 + ℎ3 + 𝑣𝑣1 + 2𝑣𝑣2 + 𝑣𝑣3 = (1,1,1,1,2,1)

Page 42: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

42 Physical Design Automation of VLSI Circuits and Systems

FLUTE

• POST – Potentially Optimal Steiner Tree

• POWV

– Potentially Optimal Wirelength Vector

Page 43: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

43 Physical Design Automation of VLSI Circuits and Systems

FLUTE

• POWV comparison

(1,2,1,1,1,1) (1,2,𝟐𝟐, 1,1,1)

Page 44: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

44 Physical Design Automation of VLSI Circuits and Systems

FLUTE

• How to obtain the minimum-length Steiner tree – Create a look-up table. – When a topology is given, get the best one.

• How can we generate all POSTs?

– For low-degree nets (# points = 1, 2, 3, ...) • Enumerate all POSTs.

– For high-degree nets

• Use compaction.

Page 45: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

45 Physical Design Automation of VLSI Circuits and Systems

FLUTE

• Boundary compaction

Left boundary compaction Steiner tree Expansion

Page 46: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

46 Physical Design Automation of VLSI Circuits and Systems

FLUTE

Left boundary compaction Top boundary compaction

Steiner tree

Bottom boundary compaction

Right boundary

compaction

Expansion

Expansion Expansion Expansion

Page 47: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

47 Physical Design Automation of VLSI Circuits and Systems

FLUTE

• Left boundary compaction

vs

Page 48: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

48 Physical Design Automation of VLSI Circuits and Systems

ILP-Based Global Routing

• Problem formulation

1 1

1

2

2 2 3

3

Layout

Capacity of each edge: 2

Page 49: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

49 Physical Design Automation of VLSI Circuits and Systems

ILP-Based Global Routing

• Routing topology generation

Potential routing topologies for net 1

Potential routing topologies for net 2

Potential routing topologies for net 3

Page 50: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

50 Physical Design Automation of VLSI Circuits and Systems

ILP-Based Global Routing

• ILP formulation – For net i, prepare a few routing topologies.

• 𝑡𝑡1𝑖𝑖 , 𝑡𝑡2𝑖𝑖 , … , 𝑡𝑡𝑛𝑛𝑖𝑖

– 𝑥𝑥𝑖𝑖,𝑗𝑗 • 1 if net i is routed according to topology 𝑡𝑡𝑗𝑗𝑖𝑖. • 0 otherwise.

– ∑ 𝑥𝑥𝑖𝑖,𝑗𝑗𝑗𝑗 = 1 • Only one routing topology is used.

Page 51: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

51 Physical Design Automation of VLSI Circuits and Systems

ILP-Based Global Routing

• ILP formulation – Capacity constraints

• ∑∑𝑎𝑎𝑖𝑖,𝑝𝑝𝑥𝑥𝑙𝑙,𝑘𝑘 ≤ 𝑐𝑐𝑖𝑖

– Objective function • Minimize ∑∑𝑔𝑔𝑖𝑖,𝑗𝑗𝑥𝑥𝑖𝑖,𝑗𝑗

Page 52: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

52 Physical Design Automation of VLSI Circuits and Systems

ILP-Based Global Routing

• Example

net 1

𝑥𝑥1,1 𝑥𝑥1,2 𝑥𝑥1,3

net 2

𝑥𝑥2,1 𝑥𝑥2,2 𝑥𝑥2,3

𝑥𝑥3,1 net 3

𝑥𝑥3,2

Minimize 2𝑥𝑥1,1 + 3𝑥𝑥1,2 + 3𝑥𝑥1,3 + 2𝑥𝑥2,1 + 3𝑥𝑥2,2 + 3𝑥𝑥2,3 + 2𝑥𝑥3,1 + 2𝑥𝑥3,2 Subject to 𝑥𝑥1,1 + 𝑥𝑥1,2 + 𝑥𝑥1,3 = 1 𝑥𝑥2,1 + 𝑥𝑥2,2 + 𝑥𝑥2,3 = 1 𝑥𝑥3,1 + 𝑥𝑥3,2 = 1 𝑥𝑥1,2 + 𝑥𝑥1,3 + 𝑥𝑥2,1 + 𝑥𝑥2,3 + 𝑥𝑥3,1 ≤ 2 𝑥𝑥1,1 + 𝑥𝑥1,3 + 𝑥𝑥2,2 + 𝑥𝑥2,3 + 𝑥𝑥3,2 ≤ 2 𝑥𝑥1,2 + 𝑥𝑥1,3 + 𝑥𝑥2,1 + 𝑥𝑥2,2 + 𝑥𝑥3,2 ≤ 2 𝑥𝑥1,1 + 𝑥𝑥1,2 + 𝑥𝑥2,2 + 𝑥𝑥2,3 + 𝑥𝑥3,1 ≤ 2 𝑥𝑥𝑖𝑖,𝑗𝑗 = 0, 1

Page 53: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

53 Physical Design Automation of VLSI Circuits and Systems

Congestion Minimization

• Just satisfying the routing capacity of each edge does not guarantee 100% routability.

• Can we minimize routing congestion by ILP?

Page 54: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

54 Physical Design Automation of VLSI Circuits and Systems

Congestion Minimization

• We minimize routing congestion by spreading wires out.

Minimize C Subject to 𝑥𝑥1,1 + 𝑥𝑥1,2 + 𝑥𝑥1,3 = 1 𝑥𝑥2,1 + 𝑥𝑥2,2 + 𝑥𝑥2,3 = 1 𝑥𝑥3,1 + 𝑥𝑥3,2 = 1 𝑥𝑥1,2 + 𝑥𝑥1,3 + 𝑥𝑥2,1 + 𝑥𝑥2,3 + 𝑥𝑥3,1 ≤ 𝐶𝐶 𝑥𝑥1,1 + 𝑥𝑥1,3 + 𝑥𝑥2,2 + 𝑥𝑥2,3 + 𝑥𝑥3,2 ≤ 𝐶𝐶 𝑥𝑥1,2 + 𝑥𝑥1,3 + 𝑥𝑥2,1 + 𝑥𝑥2,2 + 𝑥𝑥3,2 ≤ 𝐶𝐶 𝑥𝑥1,1 + 𝑥𝑥1,2 + 𝑥𝑥2,2 + 𝑥𝑥2,3 + 𝑥𝑥3,1 ≤ 𝐶𝐶 𝑥𝑥𝑖𝑖,𝑗𝑗 = 0, 1

net 1

𝑥𝑥1,1 𝑥𝑥1,2 𝑥𝑥1,3

net 2

𝑥𝑥2,1 𝑥𝑥2,2 𝑥𝑥2,3

𝑥𝑥3,1 net 3

𝑥𝑥3,2

Page 55: Routing - Washington State Universitydaehyun/teaching/2016_EE582/ppt/06-routing.… · • Lee’s algorithm (Maze routing) – Grid routing – If a path exists between two points,

55 Physical Design Automation of VLSI Circuits and Systems

Box Router