Introduction In the VLSI design cycle, routing follows cell - - PDF document

introduction
SMART_READER_LITE
LIVE PREVIEW

Introduction In the VLSI design cycle, routing follows cell - - PDF document

11/2/2018 G RID RO UT ING PRO F. INDRA NIL SENG UPT A DEPA RT DEPA RT MENT MENT O F C O MPUT O F C O MPUT ER SC IENC E A ND ENG INEERING ER SC IENC E A ND ENG INEERING Introduction In the VLSI design cycle, routing follows cell


slide-1
SLIDE 1

11/2/2018 1

G RID RO UT ING

PRO F. INDRA NIL SENG UPT A

DEPA RT MENT O F C O MPUT ER SC IENC E A ND ENG INEERING DEPA RT MENT O F C O MPUT ER SC IENC E A ND ENG INEERING

Introduction

  • In the VLSI design cycle, routing follows cell placement.
  • Once routing is completed, precise paths are defined on the

layout surface, on which conductors carrying electrical signals are run.

  • Routing takes up almost 30% of the design time, and a large

percentage of layout area

2

percentage of layout area.

– One main objective is to minimize the area required for routing.

slide-2
SLIDE 2

11/2/2018 2

Types of Routing?

  • Given a set of blocks placed on a layout surface and defined pin

l i locations:

– Given a set of obstacles and a set of pins to connect, determine a solution to interconnect the pins on a single layer (GRID ROUTING). – Determine the approximate regions through which each interconnection net should pass (GLOBAL ROUTING). – For each routing region, complete the interconnection by assigning horizontal and vertical metal line segments on the layout surface (DETAILED ROUTING).

3

The General Routing Problem

  • Given:

A t f bl k ith i th b d i – A set of blocks with pins on the boundaries. – A set of signal nets. – Locations of the blocks on the layout surface.

  • Objective:

– Find suitable paths on the available layout space, on which wires are

4

p y p run to connect the desired set of pins. – Minimize some given objective function, subject to given constraints.

slide-3
SLIDE 3

11/2/2018 3

  • Types of constraints:

– Minimum width of routing wires. – Minimum separation between adjacent wires. – Number of routing layers available. – Timing constraints.

5

GRID ROUTING

6

slide-4
SLIDE 4

11/2/2018 4

Basic Concept

  • The layout surface is assumed to be made up of a rectangular

f id ll array of grid cells.

  • Some of the grid cells act as obstacles.

– Blocks that are placed on the surface. – Some nets that are already laid out.

Obj i i fi d i l l h ( f id

7

  • Objective is to find out a single‐layer path (sequence of grid

cells) for connecting two points belonging to the same net.

  • Two broad classes of grid

i l i h routing algorithms:

1. Maze routing algorithms. 2. Line search algorithms.

S T

8

S

slide-5
SLIDE 5

11/2/2018 5

Grid Routing Algorithms

  • 1. Maze running algorithm

’ – Lee’s algorithm – Hadlock’s algorithm

  • 2. Line search algorithm

– Mikami‐Tabuchi’s algorithm – Hightower’s algorithm

9

Hightower s algorithm

  • 3. Steiner tree algorithm

Maze Running Algorithms

  • The entire routing surface is represented by a 2‐D array of grid cells.

ll d d f b d b h l h bl k – All pins, wires and edges of bounding boxes that enclose the blocks are aligned with respect to the grid lines. – The segments on which wires run are also aligned. – The size of grid cells is appropriately defined.

  • Wires belonging to different nets can be routed through adjacent

ll i h i l i h id h d i l

10

cells without violating the width and spacing rules.

  • Maze routers connect a single pair of points at a time.

– By finding a sequence of adjacent cells from one point to the other.

slide-6
SLIDE 6

11/2/2018 6

Lee’s Algorithm

  • The most common maze routing algorithm.
  • Characteristics:
  • Characteristics:

– If a path exists between a pair of points S and T, it is definitely found. – It always finds the shortest path. – Uses breadth‐first search.

  • Time and space complexities are O(N2) for a grid of dimension

11

NN.

Phase 1 of Lee’s Algorithm

  • Wave propagation phase

– Iterative process. Iterative process. – During step i, non‐blocking grid cells at Manhattan distance of i from grid cell S are all labeled with i. – Labeling continues until the target grid cell T is marked in step L.

  • L is the length of the shortest path.

– The process fails if:

12

The process fails if:

  • T is not reached and no new grid cells can be labeled during step i.
  • T is not reached and i equals M, some upper bound on the path length.
slide-7
SLIDE 7

11/2/2018 7

Phase 2 of Lee’s Algorithm

  • Retrace phase

– Systematically backtrack from the target cell T back towards the source cell S Systematically backtrack from the target cell T back towards the source cell S. – If T was reached during step i, then at least one grid cell adjacent to it will be labeled i‐1, and so on. – By tracing the numbered cells in descending order, we can reach S following the shortest path.

  • There is a choice of cells that can be made in general.

13

  • In practice, the rule of thumb is not to change the direction of retrace unless
  • ne has to do so.
  • Minimizes number of bends.

Phase 3 of Lee’s Algorithm

  • Label clearance

– All labeled cells except those corresponding to the path just found are cleared. – Cells along the path are marked as obstacles. – Search complexity is as involved as the wave propagation step itself.

14

slide-8
SLIDE 8

11/2/2018 8

T Initial routing S g problem

15

T

Phase 1 (i = 1)

S

1 1

16

1

slide-9
SLIDE 9

11/2/2018 9

T

Phase 1 (i = 2)

S

1 1 2 2 2

17

1 2 2

T

Phase 1 (i = 3)

S

1 1 2 2 2 3

18

1 2 2 3 3

slide-10
SLIDE 10

11/2/2018 10

T

Phase 1 (i = 4)

S

1 1 2 2 2 3 4 4

19

1 2 2 3 3 4

T

5

Phase 1 (i = 5)

S

1 1 2 2 2 3 4 4 5

20

1 2 2 3 3 4 5

slide-11
SLIDE 11

11/2/2018 11

T

5 6 6

Phase 1 (i = 6)

S

1 1 2 2 2 3 4 4 5 6 6

21

1 2 2 3 3 4 5

T

5 6 6 7 7

Phase 1 (i = 7)

S

1 1 2 2 2 3 4 4 5 6 6 7 7

22

1 2 2 3 3 4 5

slide-12
SLIDE 12

11/2/2018 12

T

5 6 6 7 7

Phase 2 (RETRACE)

S

1 1 2 2 2 3 4 4 5 6 6 7 7

23

1 2 2 3 3 4 5

T

Phase 3 (CLEAR)

S

5 6 7

24

1 2 3 4

slide-13
SLIDE 13

11/2/2018 13

T

Phase 3 (MARK)

S

5 6 7

25

1 2 3 4

T

5 6 6 7 7

S

1 1 2 2 2 3 4 4 5 6 6 7 7

26

1 2 2 3 3 4 5

slide-14
SLIDE 14

11/2/2018 14

  • Memory Requirement

– Each cell needs to store a number between 1 and L, where L is some bound on the maximum path length.

  • For M x N grid, L can be at most M+N‐1.

– One bit combination to denote empty cell. – One bit combination to denote obstacles.

27

log2(L+2) bits per cell

  • Examples:

1. 2000 x 2000 grid

  • B = log2 4001 = 12

g2

  • Memory required = 2000 x 2000 x 12 bits = 6 Mbytes

2. 3000 x 3000 grid

  • B = log2 6001 = 13
  • Memory required = 3000 x 3000 x 13 bits = 14.6 Mbytes

3. 4000 x 4000 grid

  • B = log2 8001 = 13
  • Memory required = 4000 x 4000 x 13 bits = 26 Mbytes

28

slide-15
SLIDE 15

11/2/2018 15

  • Improvements:

– Instead of using the sequence 1,2,3,4,5,….. for numbering the cells the sequence 1 2 3 1 2 3 is used cells, the sequence 1,2,3,1,2,3,… is used.

  • For a cell, labels of predecessors and successors are
  • different. So tracing back is easy.

log2(3+2) = 3 bits per cell. – Use the sequence 0,0,1,1,0,0,1,1,…..

1.5 Mbytes for 2000 x 2000 grid

29

  • Predecessors and successors are again different.

log2(2+2) = 2 bits per cell.

1.0 Mbyte for 2000 x 2000 grid

T Initial routing S g problem

30

slide-16
SLIDE 16

11/2/2018 16

T

Label

S

31

T

Label 00

S

32

slide-17
SLIDE 17

11/2/2018 17

T

Label 001

S

1

33

1 1

T

Label 0011

S

1 1 1

34

1 1 1

slide-18
SLIDE 18

11/2/2018 18

T

1 1

Label 0011001

S

1 1 1 1 1

35

1 1 1

T

1 1

Retrace 0011001

S

1 1 1 1 1

36

1 1 1

slide-19
SLIDE 19

11/2/2018 19

Reducing Running Time

  • Starting point selection

– Choose the starting point as the one that is farthest from the center of the grid.

  • Double fan‐out

– Propagate waves from both the source and the target cells. – Labeling continues until the wavefronts touch.

  • Framing

37

g

– An artificial boundary is considered outside the terminal pairs to be connected. – 10‐20% larger than the smallest bounding box.

Connecting Multi‐point Nets

  • A multi‐pin net consists of three or more terminal points to be connected.

  • Extension of Lee’s algorithm:

– One of the terminals of the net is treated as source, and the rest as targets. – A wave is propagated from the source until one of the targets is reached. – All the cells in the determined path are next labeled as source cells, and the remaining unconnected terminals as targets.

38

– Process continues.

slide-20
SLIDE 20

11/2/2018 20

T1 S T2

39

T1 S T2

40

slide-21
SLIDE 21

11/2/2018 21

T1 S T2

1 1 1 1 1

41

1 1

T1 S T2

2 1 1 1 1 1 2 2 2 2 2

42

1 1 2

slide-22
SLIDE 22

11/2/2018 22

T1 S T2

1 2

43

Hadlock’s Algorithm

  • Uses a new method for cell labeling called detour numbers.

– A goal directed search method. – The detour number d(P) of a path P connecting two cells S and T is defined as the number of grid cells directed away from its target T. – The length of the path P is given by

44

– The length of the path P is given by

len(P) = MD (S,T) + 2 d(P) where MD (S,T) is the Manhattan distance between S and T.

slide-23
SLIDE 23

11/2/2018 23

  • The cell filling phase of Lee’s algorithm can be modified as

f ll follows:

– Fill a cell with the detour number with respect to a specified target T (not by its distance from source). – Cells with smaller detour numbers are expanded with higher priority.

  • Path retracing is of course more complex, and requires some

45

g p , q degree of searching.

T S

46

slide-24
SLIDE 24

11/2/2018 24 T S

47

T 1 1 1 1 1 S 1 1 1 1 1 1 1 1 1 1 1

48

slide-25
SLIDE 25

11/2/2018 25 T 1 1 1 1 1 2 2 2 S 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2

49

2 2 2 T 1 1 1 1 1 2 2 2 3 3 3 3 3 3 3 3 3 3 S 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 3 3 3 3 3

50

2 2 2 3 3 3 3

slide-26
SLIDE 26

11/2/2018 26 T 1 1 1 1 1 2 2 2 3 3 3 3 3 3 3 3 3 3 S 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 3 3 3 3 3

51

2 2 2 3 3 3 3

  • Advantages:

– Number of grid cells filled up is considerably less as compared to Lee’s algorithm. – Running time for an NxN grid ranges from O(N) to O(N2).

  • Depends on the obstructions.

Al l i f S d T

52

  • Also locations of S and T.
slide-27
SLIDE 27

11/2/2018 27

Line Search Algorithm

  • In maze running algorithms, the time and space complexities are too high.

A lt ti h i ll d li hi hi h thi

  • An alternative approach is called line searching, which overcomes this

drawback.

  • Basic idea:

– Assume no obstacles for the time being. – A vertical line drawn through S and a horizontal line passing though T will intersect

53

intersect.

  • Manhattan path between S and T.

– In the presence of obstacles, several such lines need to be drawn.

  • Line search algorithms do not guarantee finding the optimal

h path.

– May need several backtrackings. – Running time and memory requirements are significantly less. – Routing area and paths are represented by a set of line segments.

  • Not as a matrix as in Lee’s or Hadlock’s algorithm.

54

slide-28
SLIDE 28

11/2/2018 28

Mikami‐Tabuchi’s Algorithm

  • Let S and T denote a pair of terminals to be connected.
  • Step 0:
  • Step 0:

– Generate four lines (two horizontal and two vertical) passing through S and T. – Extend these lines till they hit obstructions or the boundary of the layout. – If a line generated from S intersects a line generated from T, then a connecting path is found. – If they do not intersect, they are identified as trial lines of level zero.

55

y y

  • Stored in temporary storage for further processing.
  • Step i of Iteration: (i > 0)

– Pick up trial lines of level i‐1, one at a time.

  • Along the trial line, all its grid points are traced.
  • Starting from these grid points, new trial lines (of level i) are generated perpendicular

to the trial line of level i‐1. – If a trial line of level i intersects a trial line (of any level) from the other terminal point, the connecting path can be found.

  • By backtracing from the intersection point to S and T.

56

  • Otherwise, all trial lines of level i are added to temporary storage, and the procedure

repeated.

  • The algorithm guarantees to find a path if it exists.
slide-29
SLIDE 29

11/2/2018 29

Illustration

S T

57

Hightower’s Algorithm

  • Similar to Mikami‐Tabuchi’s algorithm.

– Instead of generating all line segments perpendicular to a trial line, consider only th li th t b t d d b d th b t l hi h bl k d th di those lines that can be extended beyond the obstacle which blocked the preceding trial line.

  • Steps of the algorithm:

– Pass a horizontal and a vertical line through source and target points (called first‐ level probes). – If the source and the target lines meet, a path is found.

58

– Otherwise, pass a perpendicular line to the previous probe whenever it intersects an obstacle.

  • Concept of escape point and escape line.
slide-30
SLIDE 30

11/2/2018 30

Steiner Trees

  • A tree interconnecting a set P={P1,…,Pn} of specified points in the rectilinear

plane and some arbitrary points is called a (rectilinear) Steiner tree of P. plane and some arbitrary points is called a (rectilinear) Steiner tree of P.

59

  • A Steiner tree with minimum total cost is called a Steiner minimal tree (SMT).

– The general SMT problem is NP‐hard.

Steiner Tree Based Algorithms

  • Minimum length Steiner trees:

l h f h l h f h d f h – Goal is to minimize the sum of the length of the edges of the tree. – Both exact and approximate versions exist.

  • Weigted Steiner trees:

– Given a plane partitioned into a collection of weighted regions, an edge with length L in a region with weight W has cost LW.

60

  • Steiner trees with arbitrary orientations:

– Allows lines in non‐rectilinear directions like +45o and –45o.