Sie sind auf Seite 1von 19

# Single-Net Routing

KLMH

5.6

5.1

Introduction

5.2

## Terminology and Definitions

5.3

Optimization Goals

5.4

5.5

## The Global Routing Flow

5.6

Single-Net Routing
5.6.1 Rectilinear Routing
5.6.2 Global Routing in a Connectivity Graph
5.6.3 Finding Shortest Paths with Dijkstras Algorithm
5.6.4 Finding Shortest Paths with A* Search

Full-Netlist Routing

5.8

## 5.7.1 Routing by Integer Linear Programming

5.7.2 Rip-Up and Reroute (RRR)

## Modern Global Routing

5.8.1 Pattern Routing
5.8.2 Negotiated-Congestion Routing

## Chapter 5: Global Routing

Lienig

5.7

Rectilinear Routing
KLMH

5.6.1

B (2, 6)

A (2, 1)

Rectilinear minimum
spanning tree (RMST)

## VLSI Physical Design: From Graph Partitioning to Timing Closure

C (6, 4)

A (2, 1)

Rectilinear Steiner
minimum tree (RSMT)

C (6, 4)

S (2, 4)

Lienig

B (2, 6)

KLMH

5.6.1

## An RMST can be computed in O(p2) time, where p is the number of terminals

in the net using methods such as Prims Algorithm

Prims Algorithm builds an MST by starting with a single terminal and greedily
adding least-cost edges to the partially-constructed tree

Lienig

## RSMT -Rectilinear Steiner Minimum Tree

KLMH

5.6.1

Characteristics of an RSMT
An RSMT for a p-pin net has between 0 and p 2 (inclusive) Steiner points

## The degree of any terminal pin is 1, 2, 3, or 4

The degree of a Steiner point is either 3 or 4

A RSMT is always enclosed in the minimum bounding box (MBB) of the net

The total edge length LRSMT of the RSMT is at least half the perimeter
of the minimum bounding box of the net: LRSMT LMBB / 2

Lienig

## 2011 Springer Verlag

Rectilinear Routing
KLMH

5.6.1

p3

p2

p3

p1

## Construct L-shapes between points

with (most) overlap of net segments

## VLSI Physical Design: From Graph Partitioning to Timing Closure

S1
p1

p2

p3

p3

p1
Final tree (RSMT)
2011 Springer Verlag

p1

p2

## Chapter 5: Global Routing

Lienig

p2

Rectilinear Routing
KLMH

5.6.1

## Adding Steiner points to an spanning tree can significantly reduce the

wirelength

Maurice Hanan proved that for finding Steiner points, it suffices to consider only
points located at the intersections of vertical and horizontal lines
that pass through terminal pins

The Hanan grid consists of the lines x = xp, y = yp that pass through the location
(xp,yp) of each terminal pin p

## The Hanan grid contains at most (n2-n) candidate Steiner points

(n = number of pins), thereby greatly reducing the solution space
for finding an RSMT

Lienig

## 2011 Springer Verlag

Hanan grid

Hanans theorem
KLMH

5.6.1

Hanan points ( )

RSMT

For a set of P pins, there exists an RSMT of P with Steiner points chosen
from the Hanan grid*
* Hanan, On Steiner's problem with rectilinear distance, SIAM J. Applied
Math., 1966.
VLSI Physical Design: From Graph Partitioning to Timing Closure

## 2011 Springer Verlag

Intersection lines

Lienig

Terminal pins

KLMH

Hwangs theorem
In 1976, Hwang proved an interesting relationship between minimum spanning tree and minimum steiner tree for a set of pins.

## MST- Minimum spanning tree, RSMT- rectilinear steiner minimum tree

This equation gives a strong motivation for constructing an RSMT by an

Lienig

KLMH

## Ho et al. constructed an RSMT from an MST by maximizing non-detour edge

(e.g., L-shaped, Z-shaped) overlaps by dynamic programming [Ho 1990].

Kahng and Robins developed the iterated 1-Steiner heuristic. Starting with the
minimum spanning tree, they iteratively select one Steiner point that can
reduce the wire length most and then add the Steiner point to the tree [Kahng
1990]

## [Chu 2004] developed the FLUTE package by use of precomputed lookup

tables to efficiently and accurately estimate the wirelength for multi-pin nets

[Chu 2004] C. Chu, FLUTE: fast lookup table based wirelength estimation technique, in Proc. IEEE/ ACM Int. Conf. on ComputerAided Design, pp. 696701, November 2004.

## Chapter 5: Global Routing

Lienig

[Kahng 1990] A. B. Kahng and G. Robins, A new class of Steiner tree heuristics with good performance: the iterated 1-Steiner
approach, in Proc. IEEE/ACM Int. Conf. on Computer-Aided Design, pp. 428431, November 1990.

## 2011 Springer Verlag

[Ho 1990] J.-M. Ho, C. K. Vijayan, and C. K. Wong, New algorithms for the rectilinear Steiner tree problem, IEEE Trans. on
Computer-Aided Design, 9(2), pp. 185193, February 1990.

Rectilinear Routing
KLMH

5.6.1

## A Sequential Steiner Tree Heuristic

1. Find the closest (in terms of rectilinear distance) pin pair,
construct their minimum bounding box (MBB)
2. Find the closest point pair (pMBB,pC) between any point pMBB on the MBB
and pC from the set of pins to consider
3. Construct the MBB of pMBB and pC
4. Add the L-shape that pMBB lies on to T (deleting the other L-shape).
If pMBB is a pin, then add any L-shape of the MBB to T.

10

Lienig

KLMH

5.6.1

11

Lienig

KLMH

5.6.1

12

Lienig

KLMH

5.6.1

pc
3

1
2

13

Lienig

MBB

KLMH

5.6.1

1
2

1
2

14

Lienig

pMBB

KLMH

5.6.1

1
2

1
2

1
2
4

15

Lienig

KLMH

5.6.1

1
2

1
2

1
2
4

4
5

4
6

16

Lienig

KLMH

5.6.1

1
2

1
2

1
2

4
5

4
6

2
4

5
6

## 2011 Springer Verlag

7
VLSI Physical Design: From Graph Partitioning to Timing Closure

17

Lienig

KLMH

5.6.1

1
2

1
2

1
2

4
5

4
6

2
4

5
6

5
7

## VLSI Physical Design: From Graph Partitioning to Timing Closure

1
2
4
5

6
6

4
5

7
Chapter 5: Global Routing

18

Lienig

KLMH

5.6.1

1
2

1
2

1
2

4
5

4
6

2
4

5
6

5
7

## VLSI Physical Design: From Graph Partitioning to Timing Closure

1
2
4
5

6
6

4
5

7
Chapter 5: Global Routing

19

Lienig