Lecture23 dr3
Lecture23 dr3
10/18/08 1
Channel/Switch Box Routing Algorithm
2
Over-the-Cell Routing
3
Two-Layer
Over-the-Cell Router
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.
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
8
Routing Over the Cells
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.
Case 2: Net p
M(i, j) = ???
i i+1 p1 p2 j
11
MSOP
Case 2: Net p
M(i, j) = ???
i i+1 p1 p2 j
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
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)
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
19
Two Different Problems
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
24
CVM by Reduction to
Maximum Cut Problem
10/18/08 25
Overview
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.
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
A cut
Maximum cut
= A cut with the maxi-
mum no. of edges
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])
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