0% found this document useful (0 votes)
36 views37 pages

Lecture23 dr3

The document summarizes algorithms for detailed routing in VLSI physical design automation. It discusses channel/switch box routing algorithms including maze routing and its variations. It also covers over-the-cell routing, two-layer over-the-cell routing, and algorithms for boundary terminal model routing including routing over cells, selecting net segments, and routing in the channel. Finally, it briefly discusses via minimization problems including constrained and unconstrained via minimization.

Uploaded by

api-3834272
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
0% found this document useful (0 votes)
36 views37 pages

Lecture23 dr3

The document summarizes algorithms for detailed routing in VLSI physical design automation. It discusses channel/switch box routing algorithms including maze routing and its variations. It also covers over-the-cell routing, two-layer over-the-cell routing, and algorithms for boundary terminal model routing including routing over cells, selecting net segments, and routing in the channel. Finally, it briefly discusses via minimization problems including constrained and unconstrained via minimization.

Uploaded by

api-3834272
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1/ 37

EE382V Fall 2006

VLSI Physical Design Automation

Detailed Routing (III)

Prof. David Pan


dpan@ece.utexas.edu
Office: ACES 5.434

10/18/08 1
Channel/Switch Box Routing Algorithm

❁Graph theory based algorithm


Yoshimura and Kuh
Channel routing
❁Greedy algorithm
Rivest and Fiduccia

❁Maze routing and its variations


Lee, Robin, Soukup, Ohtsuki Channel / switchbox
and general area
❁Hierarchical wire routing routing
Burstein and Pelavin

2
Over-the-Cell Routing

• Channel width can be reduced if some nets can be


routed outside the channel.
• The metal layers available over the cell rows can be
used for routing. (It is possible due to the limited use of
the M2 metal layer within the cells.)
• Commonly used in standard-cell design.

3
Two-Layer
Over-the-Cell Router

“Over-the-Cell Channel Routing”, J. Cong and C. L. Liu,


TCAD, pages 408-418, 1990.

10/18/08 4
Boundary Terminal Model (BTM)

Terminal Rows
VDD
GND

5
The Routing Problem
• Boundary Terminal Model (BTM)
• Two routing layers in the channel.
• One routing layer for over-the-cell routing, so the
routing must be planar.

1 2 1 5 2 5 4 3 4 3 5

2 1 4 1 5 3 6 5 6 3 3
6
Hyper-terminal
A Hyper-terminal is a set of terminals connected by over-
the-cell wires.

Hyper-terminals: {A,C}, {B}, {D,F,K}, {E}, {G,I}, {H}, {J}

A B C D E F G H I J K
1 2 1 5 2 5 4 3 4 3 5

2 1 4 1 5 3 6 5 6 3 3
L M N O P Q R S T U V

Hyper-terminals: {L}, {M,O}, {N}, {P}, {Q,U,V}, {R,T}, {S}


7
Three Steps of the Algorithm
• Routing over the cells.
• Select a net segment from each multi-terminal
net to be connected in the channel.
• Routing in the channel.

8
Routing Over the Cells

• Reduced to a Multi-Terminal Single-Layer One-Sided


Routing Problem (MSOP).
• Solved by dynamic programming.

9
MSOP
• The fewer the number of hyper-terminals resulted, the
simpler the subsequent channel routing problem.
• Routing a row of terminals using a single routing layer
on one side of the row such that the number of hyper-
terminals is minimized.

?
1 2 1 5 2 5 4 3 4 3 5
Can you give a solution for this instance?

10
MSOP
• Can be solved by dynamic programming.
• Consider the sub-problem from column i to j. Let M(i, j)
be the maximum reduction in the number of hyper-
terminals from i to j.

No nets at i or the net is not


Case 1: connected to [i,j]
M(i, j) = ??? i i+1 j

Case 2: Net p
M(i, j) = ???
i i+1 p1 p2 j
11
MSOP

No nets at i or the net is not


Case 1:
connected to [i, j]
M(i, j) = ??? i i+1 j

Case 2: Net p
M(i, j) = ???
i i+1 p1 p2 j

Putting the two cases together:


M(i, j) = ???
12
MSOP Algorithm

• Let n be the total number of pins on the row.


• MSOP algorithm:

For i = 1 to n
M(i, i) = 0;
For j = ?? to ??
For i = ?? to ??
Compute M(i, i+j)
Return M(1, n)
13
Runtime of MSOP

Let n be the total number of columns. For each (i, j),


M(i, j) can be found in O(?) time. There are O(n2) pairs
of (i, j). So:

Total time = O(?)

14
Selection of Net Segment
• Need to determine which terminal within a hyper-
terminal to be used in the subsequent channel routing.

1 1
Pick one out of four

1 1
• Can be transformed to a special spanning forest
problem.

15
Connectivity Graph
A weighted multi-graph. Each hyper-terminal is
represented by a vertex and each net is re-presented
by a connected component.

[8,10]
Take net 3 as an example: 31 32
[8,11] [10,11]
1 2 1 5 2 5 4 3 4 3 5
[8,10] [10,10]

2 1 4 1 5 3 6 5 6 3 3 [6,8] [6,10]
33
1 2 3 4 5 6 7 8 9 10 11
column a connected component
16
Minimum Density
Spanning Forest Problem (MDSFP)

• Want to connect hyper-terminals of the same net


together.
• That is, finding a spanning tree for each connected
component, or finding a spanning forest for the whole
connectivity graph.
• The goal is to minimize the channel density. This
problem is NP-Complete.
• Efficient heuristic is proposed.

17
Heuristic for MDSFP
• For each edge e, let r(e) = d(e)/D, where d(e) is the
density of the interval associated with edge e and D is
density of the whole channel. r(e) measures the relative
degree of congestion over the interval associated with e.
• The heuristics repeatedly removes edges of high r()
from the connectivity graph until a spanning forest is
obtained. The value of r(e) for each edge e is updated
after each removal.

18
Via Minimization

• In VLSI fabrication, the yield is inversely related to the


number of vias.
• Every via has an associated resistance that affects the
circuit performance.
• The size of a via is usually larger than the width of a
wire. As a result, more vias will lead to more routing
space.

19
Two Different Problems

• Constrained Via Minimization (CVM)


• Unconstrained Via Minimization (UVM)

20
Constrained Via Minimization
(CVM)
• Given a detailed routing solution, minimize the number
of vias by assigning wire segments to different layers.
Vias occur only at the turning points.
• Also called the Layer Assignment Problem.

1 2 3 4 5 4 0 0 1 2 3 4 5 4 0 0

0 2 1 0 0 0 3 5 0 2 1 0 0 0 3 5

21
Unconstrained Via Minimization (UVM)
• Minimize the number of vias during routing. Vias can
occur anywhere as needed.
• Consider an unreserved layer model for routing (both
vertical and horizontal wires can be routed on the same
layer in each region).

22
Topological Routing
UVM is also known as Topological Routing.

Topological Routing

Geometric Mapping

23
CVM and UVM

UVM is less popular than CVM since via minimization


is usually considered secondary. Minimization of
channel width, completion of routing, and minimization
of total wirelength are considered more important.

• Note: modern routers usually will follow


“preferred” layers. So via minimization essentially
is to minimize the number of “bends”.
• We will show CVM just to illustrate some
algorithmic aspects of via minimization.

24
CVM by Reduction to
Maximum Cut Problem

“Optimal Layer Assignment for Interconnect”, R. Y.


Pinter, IEEE Int’l Conf. Circuits and Computers, pages
398-401, Sept. 1982.

10/18/08 25
Overview

• For two routing layers.


• Partition the routing region into clusters such that no
“junction” is of degree more than 3.
• The problem can be transformed to finding a
maximum cut in a graph.

26
Cluster Graph Representation
1 2 3 4 5 4 0 0
S1 S3
h7
h1 S h3 S4
2 S5
0 2 1 0 0 0 3 5
h2 S6 h5
h S7 8
Cluster
Graph
Cluster 1 2 3 4 5 4 0 0
S3 S4
S1 h7
h3 h4 h6
S2 S5 h
h1 h2 h5 8

Via S7
S6
0 2 1 0 0 0 3 5 27
Layer Assignment
In every cluster, there are only two possible ways to
assign layers.

Class C1:
Horizontal wires on layer 1
Vertical wires on layer 2

Class C2:
Horizontal wires on layer 2
Vertical wires on layer 1
28
Assign Clusters to C1 and C2
• If two adjacent clusters are in the same class, the via
candidates joining them are needed.
• If two adjacent clusters are in different classes, the vias
candidates joining them are not needed.

Same Class Different Classes


C2 C2
C2 C1

29
Example of Class Assignment
C1 C1
Cluster Graph
S1 S3
C h7
h1 S 1 h3 S4 C2
2 C C S5 C1
S
h2 6
2
h
h S7
1 5
8

1 2 3 4 5 4 0 0
S3 S4
S1 h3 h7 Original:
h4 h6
8 vias
h1 S2 h2
h5
S5 h8
This solution:
S6 S7 4 vias
0 2 1 0 0 0 3 5 30
Example of Class Assignment
C1 C1
S1 S3
A better C h7
h1 S 2 h3 S4 C1
solution: 2 C C S5 C2
S
h2 6
1
h
h S7
2 5
8

1 2 3 4 5 4 0 0
S3 S4
S1 h7 Optimal Solution:
h3 h4 h6
S2 S5 h8 2 vias
h1 h2 h5
S6 S7
0 2 1 0 0 0 3 5 31
Class Assignment Problem
No. of vias = No. of via candidates – No. of edges
connecting a vertex in C1 and a vertex in C2

No. of edges here Optimal Solution


S1 = no. of vias that S1
can be eliminated
S2 S6 S2 S6
C1 C2 C1 C2
S3 S3
S4 S5 S4 S5
S7 S7 32
Maximum Cut Problem
• The layer assignment problem is equivalent to the Maximum Cut
Problem of a graph.

A cut
Maximum cut
= A cut with the maxi-
mum no. of edges

• The Maximum Cut Problem is


– NP-Complete for general graphs.
– Solvable in polynomial time for planar graphs.
[Hadlock 1975, SIAM Journal on Computing]
• Cluster graphs are planar.

33
Other Routing Issues
• Gridless Routing
• Multi-level routing
• DSM effects

34
Gridless Detailed Routing
• Gridless Routing
– More flexible
– Longer runtime due to complex data structure
• Gridless Detailed Routing Algorithms
– Shape (Tile) based routing [Sato, et al., ISCS87, Margarino, et
al., TCAD87, Dion, et al., WRL Research Report 95/3, Liu, et
al., ISPD98]
– Graph-based routing [Wu, et al., TC87, Ohtsuki, ICCAS85,
Cong, et al., Zheng, et al., TCAD96, ICCAD’99]
– Subgrid routing [US Patent, 6,507,941 B1, Jan. 2003]

35
Multilevel Routing Framework
(MARS [TCAD05])

Fine routing tile generation Detailed routing


•Implicit graph
gridless routing
G0 G0

G1 G1
Gk
Coarsening Refinement
•History-based
iterative refinement
•Multicommodity flow
based algorithm
Initial routing
[Courtesy Prof. Jason Cong]
36
DSM Considerations
• Antenna effects
• Crosstalk noise
• Interconnect optimization & planning
• Manufacturability
• ……
• Will be covered in EE382V, Optimization Issues in VLSI
CAD

37

You might also like