0% found this document useful (0 votes)
13 views18 pages

Maze Routing3

This document discusses routing algorithms for integrated circuit layout. It covers maze routing algorithms like Lee's algorithm and improvements like Hadlock's algorithm. It also discusses line-search algorithms like Soukup's algorithm and Hightower's algorithm. Finally, it discusses topics like multi-layer routing, net ordering, and rip-up and re-routing.

Uploaded by

riki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views18 pages

Maze Routing3

This document discusses routing algorithms for integrated circuit layout. It covers maze routing algorithms like Lee's algorithm and improvements like Hadlock's algorithm. It also discusses line-search algorithms like Soukup's algorithm and Hightower's algorithm. Finally, it discusses topics like multi-layer routing, net ordering, and rip-up and re-routing.

Uploaded by

riki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Unit 6: Maze (Area) and Global Routing

․Course contents
⎯ Routing basics
⎯ Maze (area) routing
⎯ Global routing
․Readings
⎯ Chapters 9.1, 9.2, 9.5

Filling
Unit 6 1
Y.-W. Chang

Routing

Unit 6 2
Y.-W. Chang

1
Routing Constraints
․ 100% routing completion + area minimization, under a set of
constraints:
⎯ Placement constraint: usually based on fixed placement
⎯ Number of routing layers
⎯ Geometrical constraints: must satisfy design rules
⎯ Timing constraints (performance-driven routing): must satisfy
delay constraints
⎯ Crosstalk?

Unit 6 3
Y.-W. Chang

Classification of Routing

Unit 6 4
Y.-W. Chang

2
Maze Router: Lee Algorithm
․Lee, “An algorithm for path connection and its
application,” IRE Trans. Electronic Computer, EC-10,
1961.
․Discussion mainly on single-layer routing
․Strengths
⎯ Guarantee to find connection between 2 terminals if it
exists.
⎯ Guarantee minimum path.
․Weaknesses
⎯ Requires large memory for dense layout.
⎯ Slow.
․Applications: global routing, detailed routing

Unit 6 5
Y.-W. Chang

Lee Algorithm
․Find a path from S to T by “wave propagation”.

Filling
․Time & space complexity for an M r N grid: O(MN)
(huge!)

Unit 6 6
Y.-W. Chang

3
Reducing Memory Requirement
․ Akers's Observations (1967)
Adjacent labels for k are either k-1 or k+1.

⎯ Want a labeling scheme such that each label has its preceding

label different from its succeeding label.


․ Way 1: coding sequence 1, 2, 3, 1, 2, 3, …; states: 1, 2, 3, empty,
blocked (3 bits required)
․ Way 2: coding sequence 1, 1, 2, 2, 1, 1, 2, 2, …; states: 1, 2,
empty, blocked (need only 2 bits)

Unit 6 7
Y.-W. Chang

Reducing Running Time


․Starting point selection: Choose the point farthest from
the center of the grid as the starting point.
․Double fan-out: Propagate waves from both the source
and the target cells.
․Framing: Search inside a rectangle area 10--20%
larger than the bounding box containing the source and
target.
⎯ Need to enlarge the rectangle and redo if the search fails.

Unit 6 8
Y.-W. Chang

4
Connecting Multi-Terminal Nets
․Step 1: Propagate wave from the source s to the closet
target.
․Step 2: Mark ALL cells on the path as s.
․Step 3: Propagate wave from ALL s cells to the other
cells.
․Step 4: Continue until all cells are reached.
․Step 5: Apply heuristics to further reduce the tree cost.

Unit 6 9
Y.-W. Chang

Routing on a Weighted Grid


․Motivation: finding more desirable paths
․weight(grid cell) = # of unblocked grid cell segments - 1

Unit 6 10
Y.-W. Chang

5
A Routing Example on a Weighted Grid

Unit 6 11
Y.-W. Chang

Hadlock's Algorithm
․ Hadlock, “A shortest path algorithm for grid graphs,”
Networks, 1977.
․ Uses detour number (instead of labeling wavefront in Lee's
router)
⎯ Detour number, d(P): # of grid cells directed away from its
target on path P.
⎯ MD(S, T): the Manhattan distance between S and T.
⎯ Path length of P, l(P): l(P) = MD(S, T) + 2 d(P).
⎯ MD(S, T) fixed! ⇒ Minimize d(P) to find the shortest path.
⎯ For any cell labeled i, label its adjacent unblocked cells away
from T i+1; label i otherwise.
․ Time and space complexities: O(MN), but substantially
reduces the # of searched cells.
․ Finds the shortest path between S and T.

Unit 6 12
Y.-W. Chang

6
Hadlock's Algorithm (cont'd)
․ d(P): # of grid cells directed away from its target on path P.
․ MD(S, T): the Manhattan distance between S and T.
․ Path length of P, l(P): l(P) = MD(S, T) + 2d(P).
․ MD(S, T) fixed! ⇒ Minimize d(P) to find the shortest path.
․ For any cell labeled i, label its adjacent unblocked cells
away from T i+1; label i otherwise.

Unit 6 13
Y.-W. Chang

Soukup's Algorithm
․ Soukup, “Fast maze router,” DAC-78.
․ Combined breadth-first and depth-first search.
⎯ Depth-first (line) search is first directed toward target T until an
obstacle or T is reached.
⎯ Breadth-first (Lee-type) search is used to “bubble” around an
obstacle if an obstacle is reached.
․ Time and space complexities: O(MN), but 10--50 times
faster than Lee's algorithm.
․ Find a path between S and T, but may not be the shortest!

Unit 6 14
Y.-W. Chang

7
Features of Line-Search Algorithms

․Time and space complexities: O(L), where L is the # of


line segments generated.

Unit 6 15
Y.-W. Chang

Mikami-Tabuchi's Algorithm
․Mikami & Tabuchi, “A computer program for optimal
routing of printed circuit connectors,” IFIP, H47, 1968.
․Every grid point is an escape point.

Unit 6 16
Y.-W. Chang

8
Hightower's Algorithm
․Hightower, “A solution to line-routing problem on the
continuous plane,” DAC-69.
․A single escape point on each line segment.
․If a line parallels to the blocked cells, the escape point
is placed just past the endpoint of the segment.

Unit 6 17
Y.-W. Chang

Comparison of Algorithms

․Soukup, Mikami, and Hightower all adopt some sort of


line-search operations ⇒ cannot guarantee shortest
paths.

Unit 6 18
Y.-W. Chang

9
Multi-Layer Routing
․3-D grid:

․Two planar arrays:


⎯ Neglect the weight for inter-layer connection through via.
⎯ Pins are accessible from both layers.

Unit 6 19
Y.-W. Chang

Net Ordering
․Net ordering greatly affects routing solutions.
․In the example, we should route net b before net a.

Unit 6 20
Y.-W. Chang

10
Net Ordering (cont'd)
․ Order the nets in the ascending order of the # of pins within their
bounding boxes.
․ Order the nets in the ascending (or descending??) order of their
lengths.
․ Order the nets based on their timing criticality.

․ A mutually intervening case:

Unit 6 21
Y.-W. Chang

Rip-Up and Re-Routing


․ Rip-up and re-routing is required if a global or detailed
router fails in routing all nets.
․ Approaches: the manual approach? the automatic
procedure?
․ Two steps in rip-up and re-routing
1. Identify bottleneck regions, rip off some already

routed nets.
2. Route the blocked connections, and re-route the

ripped-up connections.
․ Repeat the above steps until all connections are
routed or a time limit is exceeded.

Unit 6 22
Y.-W. Chang

11
Graph Models for Global Routing: Grid Graph
․Each cell is represented by a vertex.
․Two vertices are joined by an edge if the corresponding
cells are adjacent to each other.
․The occupied cells are represented as filled circles,
whereas the others are as clear circles.

Unit 6 23
Y.-W. Chang

Graph Model: Channel Intersection Graph


․Channels are represented as edges.
․Channel intersections are represented as vertices.
․Edge weight represents channel capacity.
․Extended channel intersection graph: terminals are
also represented as vertices.

Unit 6 24
Y.-W. Chang

12
Global-Routing Problem
․Given a netlist N={N1, N2, …, Nn }, a routing graph G =
(V, E), find a Steiner tree Ti for each net Ni, 1 ≤ i ≤ n,
such that U(ej) ≤ c(ej), ∀ ej ∈ E and is
minimized, where
⎯ c(ej): capacity of edge ej;
⎯ xij=1 if ej is in Ti; xij = 0 otherwise;
⎯ : # of wires that pass through the channel
corresponding to edge ej;
⎯ L(Ti): total wirelength of Steiner tree Ti.
․For high-performance, the maximum wirelength
( ) is minimized (or the longest path between
two points in Ti is minimized).

Unit 6 25
Y.-W. Chang

Global Routing in different Design Styles

Unit 6 26
Y.-W. Chang

13
Global Routing in Standard Cell
․Objective
⎯ Minimize total channel height.
⎯ Assignment of feedthrough: Placement? Global routing?
․For high performance,
⎯ Minimize the maximum wire length.
⎯ Minimize the maximum path length.

Unit 6 27
Y.-W. Chang

Global Routing in Gate Array


․Objective
⎯ Guarantee 100% routability.
․For high performance,
⎯ Minimize the maximum wire length.
⎯ Minimize the maximum path length.

Unit 6 28
Y.-W. Chang

14
Global Routing in FPGA
․Objective
⎯ Guarantee 100% routability.
⎯ Consider switch-module architectural constraints.
․For performance-driven routing,
⎯ Minimize # of switches used.
⎯ Minimize the maximum wire length.
⎯ Minimize the maximum path length.

Unit 6 29
Y.-W. Chang

Global-Routing: Maze Routing


․ Routing channels may be modelled by a weighted undirected
graph called channel connectivity graph.
․ Node ↔ channel; edge ↔ two adjacent channels; capacity: (width,
length)

Unit 6 30
Y.-W. Chang

15
The Routing-Tree Problem
․ Problem: Given a set of pins of a net, interconnect the pins by a
“routing tree.”

․ Minimum Rectilinear Steiner Tree (MRST) Problem: Given n


points in the plane, find a minimum-length tree of rectilinear edges
which connects the points.
․ MRST(P) = MST(P ∪ S), where P and S are the sets of original
points and Steiner points, respectively.

Unit 6 31
Y.-W. Chang

Theoretic Results for the MRST Problem


․ Hanan's Thm: There exists an MRST with all Steiner points (set S)
chosen from the intersection points of horizontal and vertical lines
drawn points of P.
⎯ Hanan, “On Steiner's problem with rectilinear distance,” SIAM

J. Applied Math., 1966.


․ Hwang‘s Theorem: For any point set P,
⎯ Hwang, “On Steiner minimal tree with rectilinear distance,”

SIAM J. Applied Math., 1976.


․ Other existing approximation algorithm: Performance bound 61/48
by Foessmeier et al.

Unit 6 32
Y.-W. Chang

16
A Simple Performance Bound

․ Easy to show that 2


․ Given any MRST T on point set P with Steiner point
set S, construct a spanning tree T' on P as follows:
1. Select any point in T as a root.
2. Perform a depth-first traversal on the rooted tree T.
3. Construct T' based on the traversal.

Unit 6 33
Y.-W. Chang

Coping with the MRST Problem


․ Ho, Vijayan, Wong, “New algorithms for the rectilinear
Steiner problem,” TCAD, 1990.
1. Construct an MRST from an MST.
2. Each edge is straight or L-shaped.
3. Maximize overlaps by dynamic programming.
․ About 8% smaller than Cost(MST).

Unit 6 34
Y.-W. Chang

17
Iterated 1-Steiner Heuristic for MRST
․ Kahng & Robins, “A new class of Steiner tree heuristics with good
performance: the iterated 1-Steiner approach,” ICCAD-90..
Algorithm: Iterated_1-Steiner(P)
P: set P of n points.
1 begin
2 S ← ∅;
/* H(P ∪ S): set of Hanan points */
/* ∆MST(A, B) = Cost(MST(A)) - Cost(MST(A ∪ B)) */
3 while (Cand ← {x ∈ H(P ∪ S)| ∆ MST(P ∪ S, {x}) > 0 } ≠ ∅ ) do
4 Find x ∈ C and which maximizes ∆ MST(P ∪ S), {x});
5 S ← S ∪ {x};
6 Remove points in S which have degree ≤ 2 in MST(P ∪ S);
7 Output MST(P ∪ S);
8 end

Remove
degree-2 node
Unit 6 35
Y.-W. Chang

18

You might also like