Title: ELEN 468 Advanced Logic Design
1ELEN 468Advanced Logic Design
- Lecture 28
- Interconnect Timing Optimization III
2Dependence on Steiner Tree
Timing critical
Timing critical
3Rectilinear Steiner Minimum Tree
- Given a signal net, find the best tree connecting
them - Minimize wire area
- Wire area implies
- Cost
- Capacitive load ? delay
- Find Steiner minimum tree
Spanning tree
Steiner node
Steiner tree
4Hanan Grid and Hanan Theorem
- Hanan grid
- Draw vertical and horizontal lines through all
pins - Hanan Theorem
- There is always a Steiner minimum tree on Hanan
grid
5Iterative 1-Steiner Algorithm
- In each step, add one Steiner node such that the
spanning tree is minimized
6Area or Radius?
Radius the longest source-sink path length
- Dijkstras shortest path tree
- Short path to sinks
- Large total wire length
- Prims minimum spanning tree
- Small total wire length
- Long path to sinks
7Area Radius Trade-off
- Find a solution in middle
- Not too much area
- Not too long radius
- How to find an ideal point?
8Prims and Dijkstras Algorithms
- d(i,j) length of edge (i, j)
- p(i) length of path from source to i
- Prim min d(i,j) Dijkstra min d(i,j) p(i)
p(i)
i
j
9The Prim-Dijkstra Trade-off
- Prim add edge minimizing d(i,j)
- Dijkstra add edge minimizing p(i) d(i,j)
- Trade-off c?p(i) d(i,j) for 0 c 1
- When c0, trade-off Prim
- When c1, trade-off Dijkstra
10Spanning Tree ? Steiner Tree
11Rectilinear Steiner Arborescence (RSA)
- Every source-sink path is the shortest
- Minimum total wire length
12RSA Heuristic
- Assume all sinks in first quadrant
- Initially, each sink is a subtree
- Iteratively merge or grow subtrees toward the
source
13RSA Example
14Merging Rule In RSA Heuristic
- Iteratively
- Find subtrees rooted at p and q maximizing
min(xp, xq) min (yp, yq) - Merge them to a new subtree rooted at r
(min(xp, xq), min (yp, yq))
15RSA Diagonal Line Sweep
16Buffered A-Tree
17SERT Steiner Elmore Routing Tree
- Similar to Prims minimum spanning tree algorithm
- Connect one sink to partial tree in each step
- Find the sink such that the max sink delay is
minimized - First Elmore delay based Steiner tree algorithm
18SERT Connecting Sink
19SERT-C
- Steiner Elmore Routing Tree with identified
critical sink - Connect source with the critical sink directly
- Connect one sink to tree each step
- Do the connecting such that delay to the critical
sink is minimized
20Exploit Non-Hanan Points
Delay is dominated by capacitance Or timing
constraint is loose Minimize total wirelength
21Non-Hanan Optimization Problem Formulation
- Minimize total wirelength subject to min slack ?
0 - Maximize x subject to min slack ? 0
- Slack is convex function of x
x
L
Slack
Sink 1
Sink 3
x
Sink 2
22Non-Hanan Optimization
Slack
- Given a Steiner tree, disconnect each sink from
the tree and reconnect it back - Binary search is performed when a sink is
reconnected to an edge - If min slack lt 0 at both ends with same critical
sink, no feasible solution - If min slack gt 0 at one end, lt 0 at the other
end, there is solution in between
x
Slack
x
23P-Tree Abstract Tree
g
d
c
f
a
e
g
b
f
24P-Tree Abstract Tree Generation
25P-Tree Embedding
Hanan grid
j
i
d
c
a
h
b
26Buffered P-Tree
Optimal tree Topta,b,c,d