1 / 26

ELEN 468 Advanced Logic Design

ELEN 468 Advanced Logic Design. Lecture 28 Interconnect Timing Optimization III. Dependence on Steiner Tree. Timing critical. Timing critical. Rectilinear Steiner Minimum Tree. Given a signal net, find the best tree connecting them Minimize wire area Wire area implies Cost

Download Presentation

ELEN 468 Advanced Logic Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ELEN 468Advanced Logic Design Lecture 28 Interconnect Timing Optimization III ELEN 468 Lecture 28

  2. Dependence on Steiner Tree Timing critical Timing critical ELEN 468 Lecture 28

  3. Rectilinear 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 ELEN 468 Lecture 28

  4. Hanan 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 ELEN 468 Lecture 28

  5. Iterative 1-Steiner Algorithm • In each step, add one Steiner node such that the spanning tree is minimized ELEN 468 Lecture 28

  6. Area or Radius? Radius: the longest source-sink path length • Dijkstra’s shortest path tree • Short path to sinks • Large total wire length • Prim’s minimum spanning tree • Small total wire length • Long path to sinks ELEN 468 Lecture 28

  7. Area Radius Trade-off • Find a solution in middle • Not too much area • Not too long radius • How to find an ideal point? ELEN 468 Lecture 28

  8. d(i,j) Prim’s and Dijkstra’s 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 ELEN 468 Lecture 28

  9. The 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 c=0, trade-off = Prim • When c=1, trade-off = Dijkstra ELEN 468 Lecture 28

  10. Spanning Tree → Steiner Tree ELEN 468 Lecture 28

  11. Rectilinear Steiner Arborescence (RSA) • Every source-sink path is the shortest • Minimum total wire length ELEN 468 Lecture 28

  12. RSA Heuristic • Assume all sinks in first quadrant • Initially, each sink is a subtree • Iteratively merge or grow subtrees toward the source ELEN 468 Lecture 28

  13. Merge Grow RSA Example ELEN 468 Lecture 28

  14. Merging 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)) ELEN 468 Lecture 28

  15. 1 2 3 4 5 6 RSA Diagonal Line Sweep ELEN 468 Lecture 28

  16. Buffered A-Tree ELEN 468 Lecture 28

  17. SERT: Steiner Elmore Routing Tree • Similar to Prim’s 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 ELEN 468 Lecture 28

  18. A sink is connected to closest edge (x2 , y2) (x1 , y1) • The closest connection point • Xc = median(x1, x2, x3) • Yc = median(y1, y2, y3) (xc , yc) (x3 , y3) SERT: Connecting Sink ELEN 468 Lecture 28

  19. SERT-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 ELEN 468 Lecture 28

  20. Delay is dominated by wire res And timing constraint is tight Connect to driver directly Delay is affected by both res and cap And timing constraint is in middle Connect in middle: non-Hanan point Exploit Non-Hanan Points Delay is dominated by capacitance Or timing constraint is loose Minimize total wirelength ELEN 468 Lecture 28

  21. Non-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 ELEN 468 Lecture 28

  22. Non-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 < 0 at both ends with same critical sink, no feasible solution • If min slack > 0 at one end, < 0 at the other end, there is solution in between x Slack x ELEN 468 Lecture 28

  23. i d j c a h b j h e i Abstract Tree a c d b a b c d P-Tree: Abstract Tree g d c f a e g b f ELEN 468 Lecture 28

  24. Obtain sink permutation a c b d Traveling salesman d Optimal tree Topt{a,b,c,d} c a b Topt{a}+Topt{b,c,d} Topt{a,b}+Topt{c,d} Dynamic programming Topt{a,b,c}+Topt{d} P-Tree: Abstract Tree Generation ELEN 468 Lecture 28

  25. j i d h c a b j h i a b c d P-Tree: Embedding Hanan grid j i d c a h b ELEN 468 Lecture 28

  26. Topt{a}+Topt{b,c,d} Topt{a,b}+Topt{c,d} Topt{a,b,c}+Topt{d} Topt{a}+Tbuf_opt{b,c,d} Tbuf_opt{a,b,c}+Topt{d} Tbuf_opt{a,b}+Topt{c,d} Topt{a,b}+Tbuf_opt{c,d} Tbuf_opt{a,b}+Tbuf_opt{c,d} Buffered P-Tree Optimal tree Topt{a,b,c,d} ELEN 468 Lecture 28

More Related