parallel algorithms for vlsi routing

109
Parallel Algorithms for VLSI Routing 曾曾曾 Department of Computer Science & Engineering Yuan Ze University

Upload: stian

Post on 25-Feb-2016

84 views

Category:

Documents


0 download

DESCRIPTION

Parallel Algorithms for VLSI Routing. 曾奕倫 Department of Computer Science & Engineering Yuan Ze University. Reference. Prithviraj Banerjee , Parallel Algorithms for VLSI Computer-Aided Design , Prentice-Hall, 1994 Chapter 1: Introduction Chapter 2: Parallel Architectures and Programming - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Parallel Algorithms for VLSI Routing

Parallel Algorithms for VLSI Routing

曾奕倫Department of Computer Science & Engineering

Yuan Ze University

Page 2: Parallel Algorithms for VLSI Routing

2

Reference• Prithviraj Banerjee,

Parallel Algorithms for VLSI Computer-Aided Design,Prentice-Hall, 1994– Chapter 1: Introduction– Chapter 2: Parallel Architectures and Programming– Chapter 3: Placement and Floorplanning– Chapter 4: Detailed and Global Routing– Chapter 5: Layout Verification and Analysis– Chapter 6: Circuit Simulation– Chapter 7: Logic and Behavioral Simulation– Chapter 8: Test Generation and Fault Simulation– Chapter 9: Logic Synthesis and Verification– Chapter 10: Conclusions and Future Directions

Page 3: Parallel Algorithms for VLSI Routing

3

A Simple VLSI Design Flow

Picture From: Naveed Sherwani, Algorithms for VLSI Physical Design Automation, 3rd edition, Springer, 1998

(Boolean expressions, using VHDL or Verilog)

(layout, physical layout, layout masks)

(Logic gates, transistor-level)

( TSMC, UMC)

(封裝測試 )

(Define: performance, process technology used, chip size, etc.)

(CISC/RISC, pipeline, number of ALUs, etc.) (Using SystemC)

(main functions of each unit, interconnects between units)

Tape-out

Page 4: Parallel Algorithms for VLSI Routing

4

Introduction• VLSI Physical Design Automation– Placement– Routing• Global Routing• Detailed Routing

– Verification• DRC (Design Rule Checking)• Netlist Extraction• LPE (Layout Parasitics Extraction) or PEX• LVS (Layout versus Schematics)• ERC (Electrical Rule Checking)

Page 5: Parallel Algorithms for VLSI Routing

5

Layout After Placement

Page 6: Parallel Algorithms for VLSI Routing

6

Global & Detailed Routing

Page 7: Parallel Algorithms for VLSI Routing

7

Global Routing

• Global Routing– Steiner Tree Based Routing– Iterative Improvement– Graph Search Methods– Maze Routing– Layer Assignment

Page 8: Parallel Algorithms for VLSI Routing

8

Detailed Routing

• Detailed Routing– General Purpose• Maze routing• Line search (Line expansion) routing

– Restricted• Channel routing• Switchbox routing

Page 9: Parallel Algorithms for VLSI Routing

9

Channels & Switchboxes

Page 10: Parallel Algorithms for VLSI Routing

10

A Simple Standard

Cell Library

Page 11: Parallel Algorithms for VLSI Routing

11

A Routing Example

Page 12: Parallel Algorithms for VLSI Routing

12

Routing• Long wire lengths cause propagation delays, hence wire

lengths have to be minimized.

• Available routing space is often a variant, and hence overall area has to be minimized.

• Nets carrying critical signals are often minimized at the expense of others.

• Design rules need to be considered.

• The number of vias need to be minimized.

• Both placement and routing problems are NP-complete. Therefore, researchers have turned to parallel processing for solving these problems.

Page 13: Parallel Algorithms for VLSI Routing

13

Maze Routing• Originally proposed by Lee and Moore

• A net connects two pins at a time.

• Maze Routing algorithms can be used to solve Detailed Routing and Global Routing problems.

• Animations– http://foghorn.cadlab.lafayette.edu/cadapplets/

Page 14: Parallel Algorithms for VLSI Routing

14

The Lee’s (Lee-Moore) Algorithm• C. Y. Lee, “An Algorithm for Path Connections and Its Applications,” IRE

Transactions on Electronic Computers, September 1961, pp. 346-365.• E . F. Moore, “The Shortest Path through a Maze,” Annals of the

Computation Laboratory of Harvard University, 30, 1959, pp. 285-292.

• Three phases– Front wave expansion– Path trace back phase– Sweeping phase

Page 15: Parallel Algorithms for VLSI Routing

15

A Maze Routing Problem

SX X X X

T

S: SourceT: Target

Page 16: Parallel Algorithms for VLSI Routing

16

The Lee’s Algorithm(1) Front Wave Expansion Phase

SX X X X

T

Page 17: Parallel Algorithms for VLSI Routing

17

The Lee’s Algorithm(1) Front Wave Expansion Phase

11 S 1

X X X XT

Page 18: Parallel Algorithms for VLSI Routing

18

The Lee’s Algorithm(1) Front Wave Expansion Phase

22 1 2

2 1 S 1 2X X X X

T

Page 19: Parallel Algorithms for VLSI Routing

19

The Lee’s Algorithm(1) Front Wave Expansion Phase

33 2 3

3 2 1 2 33 2 1 S 1 2 3

X X X X 3T

Page 20: Parallel Algorithms for VLSI Routing

20

The Lee’s Algorithm(1) Front Wave Expansion Phase

44 3 4

4 3 2 3 44 3 2 1 2 3 4

4 3 2 1 S 1 2 3 44 X X X X 3 4

T 4

Page 21: Parallel Algorithms for VLSI Routing

21

The Lee’s Algorithm(1) Front Wave Expansion Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 22: Parallel Algorithms for VLSI Routing

22

The Lee’s Algorithm(2) Path Trace Back Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 23: Parallel Algorithms for VLSI Routing

23

The Lee’s Algorithm(2) Path Trace Back Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 24: Parallel Algorithms for VLSI Routing

24

The Lee’s Algorithm(2) Path Trace Back Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 25: Parallel Algorithms for VLSI Routing

25

The Lee’s Algorithm(2) Path Trace Back Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 26: Parallel Algorithms for VLSI Routing

26

The Lee’s Algorithm(2) Path Trace Back Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 27: Parallel Algorithms for VLSI Routing

27

The Lee’s Algorithm(2) Path Trace Back Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 28: Parallel Algorithms for VLSI Routing

28

The Lee’s Algorithm(3) Sweeping Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 29: Parallel Algorithms for VLSI Routing

29

The Lee’s Algorithm(3) Sweeping Phase

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 X X X 3 4 5

5 4 X X X X X 4 55 X X 5

5

Page 30: Parallel Algorithms for VLSI Routing

30

The Lee’s Algorithm(3) Sweeping Phase

X X XX X X X X

X X

Page 31: Parallel Algorithms for VLSI Routing

31

The Lee’s Maze Routing Algorithm

• Disadvantages– Multiple-point nets need to be decomposed into two-

point nets

– The quality of routing depends on the order in which the nets are routed

– Large memory requirements and long search times proportional to the square of the length of connections

Page 32: Parallel Algorithms for VLSI Routing

32

Distributed-Memory Parallel Lee’s Algorithm

• Y. Won and S. Sahni, “Maze Routing on a Hypercube Multiprocessor Computer,” Proc. Int. Conf. Parallel Processing, August 1987, pp. 630-637.

• The basic idea is to partition the routing grid among the processors and have each processor participate in the different phases of the Lee’s algorithm.

Page 33: Parallel Algorithms for VLSI Routing

33

Distributed-Memory Parallel Lee’s Algorithm

55 4 5

5 4 3 4 55 4 3 2 3 4 5

5 4 3 2 1 2 3 4 55 4 3 2 1 S 1 2 3 4 5

5 4 X X X X 3 4 55 T 4 5

5

Page 34: Parallel Algorithms for VLSI Routing

34

Grid Partitioning and Mapping to Processors

00

00

00

00

0001

0101

0101

1010

10

10

10 11

1111

11

11

Two-dimensional blocked distribution Two-dimensional cyclic distribution

Page 35: Parallel Algorithms for VLSI Routing

35

Grid Partitioning and Mapping to Processors

• 2-D blocked distribution– Lower communication cost between processors

• 2-D cyclic distribution:– Better load balance (idle times of processors are reduced)

Page 36: Parallel Algorithms for VLSI Routing

36

Shared Memory Parallel Lee’s Algorithm

• The status of routing of the entire region is kept in global memory.

• The n×n routing grid is partitioned into P square subregions (assuming P processors), and a task queue is assigned to each subregion that is associated with each processor.

• A processor takes routing tasks off its own task queue, but can insert routing tasks into other processors’ task queues.

• To prevent multiple processors accessing a task queue, locks are associated with the task queues.

• A processor takes a task off its task queue and expands the wavefront.

Page 37: Parallel Algorithms for VLSI Routing

37

Shared Memory Parallel Lee’s Algorithm (cont’d)

• If the expanded cell is within the processor’s own subregion and the cell has not been labeled yet, it places the routing task for the cell on its own task queue.

• If the expanded cell belongs to another processor’s subregion, it inserts the cell on the other processor’s task queue.

• Insertion of the routing task on another processor’s task queue is done by locking and unlocking the appropriate task queue.

Page 38: Parallel Algorithms for VLSI Routing

38

Line Search (Line Expansion) Routing

S

T

E

E

E

Page 39: Parallel Algorithms for VLSI Routing

39

Line Search (Line Expansion) Routing• K. Mikami and K. Tabuchi, “A Computer Program for Optimal Routing of Printed

Circuit Board Connections,” IFIPS Proc., H47, 1968, pp. 1475-1478.• David W. Hightower, “A Solution to Line-Routing Problems on the Continuous

Plane,” Proceedings of Design Automation Conference, 1969, pp. 1-24.

• The algorithm starts by determining the two points to be connected.

• From each point, potential wiring segments are projected as far as possible in both the horizontal and vertical directions.

• If the probes intersect, the routing is complete.

• If the probes are stopped by some obstruction, the algorithm must choose a new escape point along the current probes from which additional probes are sent out.

Page 40: Parallel Algorithms for VLSI Routing

40

Line Search Routing (cont’d)• The process of choosing escape points is the difference

between the two original line search algorithms.

• Mikami and Tabuchi’s algorithm is essentially a complete bread-first search and guarantees a solution if it exists. (Escape points for perpendicular lines at each grid intersection for each existing line segment)

• Hightower’s algorithm tries to add only a single escape point to each line probe. Therefore, it may not produce a successful connection even if it exists.

• Compared with Lee’s algorithms, line search routers have a major advantage in use of memory.

Page 41: Parallel Algorithms for VLSI Routing

41

Watanabe’s Maze Routing Algorithm• Takumi Watanabe, Hitoshi Kitazawa, and Yoshi Sugiyama, “A Parallel Adaptable

Routing Algorithm and its Implementation on a Two-Dimensional Array Processor,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. CAD-6, No. 2, March 1987, pp. 241-250.

• Parallel• PAR-1– Similar to the Lee’s Algorithm– Uses the expansion distance (Dex) to control the quality of

routing

• PAR-2 (Double Front Wave Expansion)– Requires the use of PAR-1– Steiner tree construction

Page 42: Parallel Algorithms for VLSI Routing

42

Watanabe’s PAR-1

Page 43: Parallel Algorithms for VLSI Routing

43

Watanabe’s PAR-1(Dex = 4)

T

S

Page 44: Parallel Algorithms for VLSI Routing

44

Watanabe’s PAR-1(Dex = 4)

1 T111

1 1 1 S 1111

Page 45: Parallel Algorithms for VLSI Routing

45

Watanabe’s PAR-1(Dex = 4)

2 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 21 1 1 S 12 2 2 1 2

1 2 2 2 22 2 2 1 2 2 2 2

Page 46: Parallel Algorithms for VLSI Routing

46

Watanabe’s PAR-1(Dex = 4)

3 33 33 33 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 31 1 1 S 1 3 32 2 2 1 2 3 3

1 2 2 2 22 2 2 1 2 2 2 2

Page 47: Parallel Algorithms for VLSI Routing

47

Watanabe’s PAR-1(Dex = 4)

3 3 4 4 4 43 3 4 4 4 43 3 43 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3

1 2 2 2 22 2 2 1 2 2 2 2

Page 48: Parallel Algorithms for VLSI Routing

48

Watanabe’s PAR-1(Dex = 4)

555

3 3 4 4 4 4 5 53 3 4 4 4 4 5 53 3 4 5 53 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3 5 5

1 2 2 2 2 5 52 2 2 1 2 2 2 2 5 5

Page 49: Parallel Algorithms for VLSI Routing

49

Watanabe’s PAR-1(Dex = 4)

6 6 6 6 56 6 6 6 5 6 6

5 6 63 3 4 4 4 4 5 53 3 4 4 4 4 5 53 3 4 5 5 6 63 3 6 62 2 2 1 2 6 6 T2 2 2 1 2 6 62 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3 5 5

1 2 2 2 2 5 5 6 6 6 62 2 2 1 2 2 2 2 5 5 6 6 6 6

Page 50: Parallel Algorithms for VLSI Routing

50

Watanabe’s PAR-1(Dex = 4)

7 6 6 6 6 57 6 6 6 6 5 6 6

5 6 63 3 4 4 4 4 5 53 3 4 4 4 4 5 53 3 4 5 5 6 63 3 6 6 7 7 7 72 2 2 1 2 6 6 7 7 7 T2 2 2 1 2 6 6 7 7 7 72 2 2 1 2 72 2 2 1 2 3 3 4 4 4 71 1 1 S 1 3 3 4 4 4 7 7 72 2 2 1 2 3 3 5 5 7 7 7

1 2 2 2 2 5 5 6 6 6 62 2 2 1 2 2 2 2 5 5 6 6 6 6

Page 51: Parallel Algorithms for VLSI Routing

51

Watanabe’s PAR-1(Dex = 4)

6 6 6 6 56 6 6 6 5 6 6

5 6 63 3 4 4 4 4 5 53 3 4 4 4 4 5 53 3 4 5 5 6 63 3 6 62 2 2 1 2 6 6 T2 2 2 1 2 6 62 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3 5 5

1 2 2 2 2 5 5 6 6 6 62 2 2 1 2 2 2 2 5 5 6 6 6 6

Page 52: Parallel Algorithms for VLSI Routing

52

Watanabe’s PAR-1(Dex = 4)

6 6 6 6 56 6 6 6 5 6 6

5 6 63 3 4 4 4 4 5 53 3 4 4 4 4 5 53 3 4 5 5 6 63 3 6 62 2 2 1 2 6 6 T2 2 2 1 2 6 62 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3 5 5

1 2 2 2 2 5 5 6 6 6 62 2 2 1 2 2 2 2 5 5 6 6 6 6

Page 53: Parallel Algorithms for VLSI Routing

53

Watanabe’s PAR-1(Dex = 4)

555

3 3 4 4 4 4 5 53 3 4 4 4 4 5 53 3 4 5 53 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3 5 5

1 2 2 2 2 5 52 2 2 1 2 2 2 2 5 5

Page 54: Parallel Algorithms for VLSI Routing

54

Watanabe’s PAR-1(Dex = 4)

555

3 3 4 4 4 4 5 53 3 4 4 4 4 5 53 3 4 5 53 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3 5 5

1 2 2 2 2 5 52 2 2 1 2 2 2 2 5 5

Page 55: Parallel Algorithms for VLSI Routing

55

Watanabe’s PAR-1(Dex = 4)

3 3 4 4 4 43 3 4 4 4 43 3 43 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3

1 2 2 2 22 2 2 1 2 2 2 2

Page 56: Parallel Algorithms for VLSI Routing

56

Watanabe’s PAR-1(Dex = 4)

3 3 4 4 4 43 3 4 4 4 43 3 43 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 3 4 4 41 1 1 S 1 3 3 4 4 42 2 2 1 2 3 3

1 2 2 2 22 2 2 1 2 2 2 2

Page 57: Parallel Algorithms for VLSI Routing

57

Watanabe’s PAR-1(Dex = 4)

3 33 33 33 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 31 1 1 S 1 3 32 2 2 1 2 3 3

1 2 2 2 22 2 2 1 2 2 2 2

Page 58: Parallel Algorithms for VLSI Routing

58

Watanabe’s PAR-1(Dex = 4)

3 33 33 33 32 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 2 3 31 1 1 S 1 3 32 2 2 1 2 3 3

1 2 2 2 22 2 2 1 2 2 2 2

Page 59: Parallel Algorithms for VLSI Routing

59

Watanabe’s PAR-1(Dex = 4)

2 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 21 1 1 S 12 2 2 1 2

1 2 2 2 22 2 2 1 2 2 2 2

Page 60: Parallel Algorithms for VLSI Routing

60

Watanabe’s PAR-1(Dex = 4)

2 2 2 1 2 T2 2 2 1 22 2 2 1 22 2 2 1 21 1 1 S 12 2 2 1 2

1 2 2 2 22 2 2 1 2 2 2 2

Page 61: Parallel Algorithms for VLSI Routing

61

Watanabe’s PAR-1(Dex = 4)

1 T111

1 1 1 S 1111

Page 62: Parallel Algorithms for VLSI Routing

62

Watanabe’s PAR-1(Dex = 4)

1 T111

1 1 1 S 1111

Page 63: Parallel Algorithms for VLSI Routing

63

Watanabe’s PAR-1(Dex = 4)

T

S

Page 64: Parallel Algorithms for VLSI Routing

64

Watanabe’s PAR-1(Dex = 4)

T

S

Page 65: Parallel Algorithms for VLSI Routing

65

Watanabe’s PAR-1

• When Dex = 1, PAR-1 equals the Lee’s algorithm. Shortest path

• When Dex = ∞, PAR-1 becomes a line search (or line expansion) algorithm. Minimize the number of vias

Page 66: Parallel Algorithms for VLSI Routing

66

Watanabe’s PAR-1

Page 67: Parallel Algorithms for VLSI Routing

67

Watanabe’s PAR-1

Page 68: Parallel Algorithms for VLSI Routing

68

Watanabe’s PAR-2

• Steiner Tree Construction• Can be used to connect multiple-pin nets• Double Wave Expansion

1st wave expansion 2nd wave expansion

Page 69: Parallel Algorithms for VLSI Routing

69

Watanabe’s PAR-2(1st Wave Expansion)

T1

T3

T2

Page 70: Parallel Algorithms for VLSI Routing

70

Watanabe’s PAR-2(1st Wave Expansion)

11 T1 1

1

T3

T2

Page 71: Parallel Algorithms for VLSI Routing

71

Watanabe’s PAR-2(1st Wave Expansion)

2 1 21 T1 1 22 1 2

2

T3

T2

Page 72: Parallel Algorithms for VLSI Routing

72

Watanabe’s PAR-2(1st Wave Expansion)

2 1 2 31 T1 1 22 1 2 33 2 3

3T3

T2

Page 73: Parallel Algorithms for VLSI Routing

73

Watanabe’s PAR-2(1st Wave Expansion)

2 1 2 3 41 T1 1 22 1 2 33 2 3 44 3 4

4 T3

T2

Page 74: Parallel Algorithms for VLSI Routing

74

Watanabe’s PAR-2(1st Wave Expansion)

2 1 2 3 4 51 T1 1 22 1 2 33 2 3 44 3 4 55 4 5 T3

5

T2

Page 75: Parallel Algorithms for VLSI Routing

75

Watanabe’s PAR-2(1st Wave Expansion)

2 1 2 3 4 5 61 T1 1 22 1 2 33 2 3 44 3 4 5 65 4 5 6 T3

6 5 66

T2

Page 76: Parallel Algorithms for VLSI Routing

76

Watanabe’s PAR-2(1st Wave Expansion)

2 1 2 3 4 5 6 71 T1 1 22 1 2 33 2 3 44 3 4 5 6 75 4 5 6 7 T3

6 5 6 77 6 7

7 T2

Page 77: Parallel Algorithms for VLSI Routing

77

Watanabe’s PAR-2(1st Wave Expansion)

2 1 2 3 4 5 6 7 81 T1 1 22 1 2 33 2 3 44 3 4 5 6 7 85 4 5 6 7 8 T3

6 5 6 7 87 6 7 88 7 8 T2

8

Page 78: Parallel Algorithms for VLSI Routing

78

Watanabe’s PAR-2(1st Wave Expansion)

2 1 2 3 4 5 6 7 8 91 T1 1 22 1 2 33 2 3 44 3 4 5 6 7 8 95 4 5 6 7 8 9 T3

6 5 6 7 8 97 6 7 8 98 7 8 9 T2

9 8 9

Page 79: Parallel Algorithms for VLSI Routing

79

Watanabe’s PAR-2(1st Wave Expansion)

2 1 2 3 4 5 6 7 8 91 T1 1 2 102 1 2 33 2 3 44 3 4 5 6 7 8 9 105 4 5 6 7 8 9 10 T3

6 5 6 7 8 9 107 6 7 8 9 108 7 8 9 T2

9 8 9 10

Page 80: Parallel Algorithms for VLSI Routing

80

Watanabe’s PAR-2(2nd Wave Expansion)

T1

T3

T2

Page 81: Parallel Algorithms for VLSI Routing

81

Watanabe’s PAR-2(2nd Wave Expansion)

T1

T3

99 T2 9

9

Page 82: Parallel Algorithms for VLSI Routing

82

Watanabe’s PAR-2(2nd Wave Expansion)

T1

T3

88 9 8

8 9 T2 9 88 9 8

Page 83: Parallel Algorithms for VLSI Routing

83

Watanabe’s PAR-2(2nd Wave Expansion)

T1

7 T3

7 8 77 8 9 8 7

7 8 9 T2 9 8 77 8 9 8 7

Page 84: Parallel Algorithms for VLSI Routing

84

Watanabe’s PAR-2(2nd Wave Expansion)

T1

66 7 6 T3

6 7 8 7 66 7 8 9 8 7 6

6 7 8 9 T2 9 8 7 66 7 8 9 8 7 6

Page 85: Parallel Algorithms for VLSI Routing

85

Watanabe’s PAR-2(2nd Wave Expansion)

T1

5 6 55 6 7 6 5 T3

5 6 7 8 7 6 55 6 7 8 9 8 7 6 56 7 8 9 T2 9 8 7 6 55 6 7 8 9 8 7 6 5

Page 86: Parallel Algorithms for VLSI Routing

86

Watanabe’s PAR-2(2nd Wave Expansion)

T1

44 5 6 5 4

4 5 6 7 6 5 4 T3

4 5 6 7 8 7 6 5 45 6 7 8 9 8 7 6 5 46 7 8 9 T2 9 8 7 6 55 6 7 8 9 8 7 6 5 4

Page 87: Parallel Algorithms for VLSI Routing

87

Watanabe’s PAR-2(2nd Wave Expansion)

T1

33 4

3 4 5 6 5 4 33 4 5 6 7 6 5 4 T3

4 5 6 7 8 7 6 5 4 35 6 7 8 9 8 7 6 5 46 7 8 9 T2 9 8 7 6 55 6 7 8 9 8 7 6 5 4

Page 88: Parallel Algorithms for VLSI Routing

88

Watanabe’s PAR-2(2nd Wave Expansion)

T1 22 3

2 3 42 3 4 5 6 5 4 3 23 4 5 6 7 6 5 4 T3 24 5 6 7 8 7 6 5 4 35 6 7 8 9 8 7 6 5 46 7 8 9 T2 9 8 7 6 55 6 7 8 9 8 7 6 5 4

Page 89: Parallel Algorithms for VLSI Routing

89

Watanabe’s PAR-2(2nd Wave Expansion)

1T1 1 21 2 3

1 2 3 42 3 4 5 6 5 4 3 2 13 4 5 6 7 6 5 4 T3 24 5 6 7 8 7 6 5 4 35 6 7 8 9 8 7 6 5 46 7 8 9 T2 9 8 7 6 55 6 7 8 9 8 7 6 5 4

Page 90: Parallel Algorithms for VLSI Routing

90

Watanabe’s PAR-2(2nd Wave Expansion)

0 1T1 1 2

0 1 2 31 2 3 4 02 3 4 5 6 5 4 3 2 13 4 5 6 7 6 5 4 T3 24 5 6 7 8 7 6 5 4 35 6 7 8 9 8 7 6 5 46 7 8 9 T2 9 8 7 6 55 6 7 8 9 8 7 6 5 4

Page 91: Parallel Algorithms for VLSI Routing

91

Watanabe’s PAR-2(2nd Wave Expansion)

0 1T1 1 2

0 1 2 31 2 3 4 02 3 4 5 6 5 4 3 2 13 4 5 6 7 6 5 4 T3 24 5 6 7 8 7 6 5 4 35 6 7 8 9 8 7 6 5 46 7 8 9 T2 9 8 7 6 55 6 7 8 9 8 7 6 5 4

Page 92: Parallel Algorithms for VLSI Routing

92

Watanabe’s PAR-2 (Restricted Routing Area)

0 1T1 1 2

0 1 2 31 2 3 4 02 3 4 5 6 5 4 3 2 13 4 5 6 7 6 5 4 T3 24 5 6 7 8 7 6 5 4 35 6 7 8 9 8 7 6 5 46 7 8 9 T2 9 8 7 6 55 6 7 8 9 8 7 6 5 4

Page 93: Parallel Algorithms for VLSI Routing

93

Watanabe’s PAR-2 (Restricted Routing Area)

T1

T3

T2

Page 94: Parallel Algorithms for VLSI Routing

94

Watanabe’s PAR-2(1st Wave Expansion)

T1

T3

T2

Page 95: Parallel Algorithms for VLSI Routing

95

Watanabe’s PAR-2(1st Wave Expansion)

1 1 11 T1

111 11 1 T3

1 11 11 T2 1

1 1 1 1

Page 96: Parallel Algorithms for VLSI Routing

96

Watanabe’s PAR-2(1st Wave Expansion)

2 1 1 1 21 T1

111 1 21 1 2 T3

1 1 21 1 21 T2 1 22 1 1 1 1 2

Page 97: Parallel Algorithms for VLSI Routing

97

Watanabe’s PAR-2(1st Wave Expansion)

2 1 1 1 2 31 T1

111 1 2 31 1 2 3 T3

1 1 2 31 1 2 31 T2 1 2 32 1 1 1 1 2 3

Page 98: Parallel Algorithms for VLSI Routing

98

Watanabe’s PAR-2(1st Wave Expansion)

2 1 1 1 2 3 41 T1

111 1 2 3 41 1 2 3 T3

1 1 2 3 41 1 2 3 41 T2 1 2 3 42 1 1 1 1 2 3 4

Page 99: Parallel Algorithms for VLSI Routing

99

Watanabe’s PAR-2(2nd Wave Expansion)

T1

33 T3 3

3

T2

Page 100: Parallel Algorithms for VLSI Routing

100

Watanabe’s PAR-2(2nd Wave Expansion)

T1

2 3 22 3 T3 3

2 3 22

T2

Page 101: Parallel Algorithms for VLSI Routing

101

Watanabe’s PAR-2(2nd Wave Expansion)

T1

1 2 3 21 2 3 T3 3

1 2 3 21 2 1

T2 1

Page 102: Parallel Algorithms for VLSI Routing

102

Watanabe’s PAR-2(2nd Wave Expansion)

T1

0 1 2 3 20 1 2 3 T3 3

0 1 2 3 20 1 2 1

T2 0 1 00

Page 103: Parallel Algorithms for VLSI Routing

103

Watanabe’s PAR-2(Restricted Routing Area)

T1

0 1 2 3 20 1 2 3 T3 3

0 1 2 3 20 1 2 1

T2 0 1 00

Page 104: Parallel Algorithms for VLSI Routing

104

Watanabe’s PAR-2(Steiner Point)

T1

P T3

T2

Page 105: Parallel Algorithms for VLSI Routing

105

Watanabe’s PAR-2(Use PAR-1 to Connect Terminals/Pins)

T1

P T3

T2

Page 106: Parallel Algorithms for VLSI Routing

106

Watanabe’s PAR-2• A branch point (Steiner point) can be found by taking the

logical AND between two restricted routing areas. The result does not depend on the order of the corresponding pins.

• The routing problem of a multiple pin net can be solved by iteratively applying the three-pin routing technique.

Page 107: Parallel Algorithms for VLSI Routing

107

Watanabe’s PAR-2

Page 108: Parallel Algorithms for VLSI Routing

108

A Multi-Terminal Routing Problem10 T1

9

8 T4

7

6

5

4

3 T3

2

1 T2

0

0 1 2 3 4 5 6 7 8 9 10 11

.chip (0 0) (11 10)

.pin 41 (1 10)2 (8 1)3 (2 3)4 (9 8).obs 8(4 9) (4 10)(1 6) (3 7)(4 2) (4 6)(5 4) (5 4)(2 1) (4 1)(7 6) (11 6)(9 5) (9 5)(6 2) (8 2)

Input File:

Page 109: Parallel Algorithms for VLSI Routing

109

A Multi-Terminal Routing Problem10 T1

9

8 T4

7

6

5

4

3 T3

2

1 T2

0

0 1 2 3 4 5 6 7 8 9 10 11

.net(1 10) (1 8)(0 8) (9 8)(0 8) (0 3)(0 3) (2 3)(6 8) (6 3)(5 3) (6 3)(5 3) (5 1)(8 1) (5 1).total_wire_length30.num_of_vias7

A Sample Output File: