1 / 42

Detailed Routing

Detailed Routing. Greedy Routing. “ A greedy channel router ” , Rivest, Fiduccia, Proceedings of the nineteenth design automation conference, p.418-424, January 1982. Greedy Router: Rivest & Fiduccia. 1. 4. 5. 1. 6. 7. 4. 9. 10. 10. Proceed column by column (left to right)

kelvina
Download Presentation

Detailed Routing

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. Detailed Routing مرتضي صاحب الزماني

  2. Greedy Routing “A greedy channel router”, Rivest, Fiduccia, Proceedings of the nineteenth design automation conference, p.418-424, January 1982. مرتضي صاحب الزماني

  3. Greedy Router: Rivest & Fiduccia 1 4 5 1 6 7 4 9 10 10 • Proceed column by column (left to right) • Make connections to all pins in that column • Free up tracks by collapsing as many tracks as possible to collapse nets • Shrink range of rows occupied by a net by using doglegs • If a pin cannot enter a channel, add a track • O(pins) time 2 3 5 3 5 2 6 8 9 8 7 9

  4. Greedy Router • Step 1: Take the pin connection to the closest empty track or to the track occupied by this net 1 • If channel is full, defer until Step 5. مرتضي صاحب الزماني

  5. Greedy Router • If two nets overlap (one from top, one from bottom), connect the closer pin and defer the other until Step 5. • If no tracks available and both pins belong to the same net and the net is not on any tracks, just connect them by a vertical wire. مرتضي صاحب الزماني

  6. Greedy Router • Step 2: Free up as many tracks as possible by collapsing split nets مرتضي صاحب الزماني

  7. Greedy Router • Step 3: Add jogs to minimize distance between split nets (but no shorter than minimum_jog_length) • This reduces vertical constraints. مرتضي صاحب الزماني

  8. Greedy Router • Step 4: Add jogs where possible to raise rising nets and lower falling nets. مرتضي صاحب الزماني

  9. Greedy Router • Step 5: Widen channel if needed to make top or bottom connections. Add tracks in the middle of the channel مرتضي صاحب الزماني

  10. Greedy Router • Step 6: Extend the channel to a new column to complete unconnected net segments. مرتضي صاحب الزماني

  11. 1 4 5 1 6 7 4 9 10 10 2 3 5 3 5 2 6 8 9 8 7 9 Greedy Routing Example

  12. Comments on Greedy Router (Rivest&Fiduccia 1982) • Always succeeds (even if cyclic conflict is present); • Allows unrestricted doglegs; • Allows a net to occupy more than 1 track at a given column; • May use a few columns off the edge; 1 3 1 2 1 5 Unrestricted dogleg 2 1 3 3 4 5 4 4 A column off the edge Net 1 occupies two track at this column; it also “ wraps-around” مرتضي صاحب الزماني

  13. Switchbox Routing B E • Fixed dimensions and pin connections on all four sides • Defined by four vectors TOP, BOT, LEFT, RIGHT • Switchbox routing algorithms are usually derived from (greedy) channel routing algorithms E B B D E D B

  14. Switchbox Routing • Cannot add tracks •  Router should not fail • Adding tracks to switchbox  adding tracks to all adjacent channels and switchboxes مرتضي صاحب الزماني

  15. Column 6 a b c d e f g 0 D F H E 0 D F H E C C C C 5 0 C 0 C Track 4 E G G E ? F C 3 F C D A D A 2 0 H 0 H A B A B 1 0 0 G H B B 0 0 G H B B H H Switchbox Routing R = {0, 1, 2, …, 8} x {0, 1, 2, … , 7} TOP = (1, 2, … , 7) = [0, D, F, H, E, C, C]BOT = (1, 2, … , 7) = [0, 0, G, H, B, B, H]LEFT = (1, 2, … , 6) = [A, 0, D, F, G, 0]RIGHT =(1, 2, … , 6) = [B, H, A, C, E, C]

  16. Column 6 a b c d e f g 0 D F H E C C 5 0 C Track 4 G E 3 F C D A 2 0 H A B 1 0 0 G H B B H Switchbox Routing – Example TOP = (1, 2, … , 7) = [0, D, F, H, E, C, C]BOT = (1, 2, … , 7) = [0, 0, G, H, B, B, H]LEFT = (1, 2, … , 6) = [A, 0, D, F, G, 0]RIGHT =(1, 2, … , 6) = [B, H, A, C, E, C]

  17. 6 0 D F H E C C 5 0 C Track 4 E G F C 3 D A 2 0 H A B 1 0 0 G H B B H 6.4 Switchbox Routing – Example TOP = (1, 2, … , 7) = [0, D, F, H, E, C, C]BOT = (1, 2, … , 7) = [0, 0, G, H, B, B, H]LEFT = (1, 2, … , 6) = [A, 0, D, F, G, 0]RIGHT =(1, 2, … , 6) = [B, H, A, C, E, C] Column a b c d e f g 0 D F H E C C 0 C G E F C D A 0 H A B 0 0 G H B B H

  18. Switchbox Routing • Practical challenges: • Obstacles • Rectilinear ports مرتضي صاحب الزماني

  19. مرتضي صاحب الزماني

  20. مرتضي صاحب الزماني

  21. X-Architecture مرتضي صاحب الزماني

  22. X Architecture مرتضي صاحب الزماني

  23. X Architecture Courtesy Cadence X-initiative مرتضي صاحب الزماني

  24. X Architecture مرتضي صاحب الزماني

  25. X Architecture • X routing provides 41% more placement area for a given timing constraint • Shorter wirelength possible for non-congested design. مرتضي صاحب الزماني

  26. Bubble-Sorting-Based Channel Routing “Bubble Sorting-Based Non-Manhattan Channel Routing”, J-T. Yan, Trans. On CAD, vol. 18, No. 2, February 1999, pages 163-171 مرتضي صاحب الزماني

  27. Wong formulated channel routing based on bubble sort: • 45o wires are permitted. Bubble-Sorting-Based Channel Routing 11 tracks 6 tracks 5 tracks مرتضي صاحب الزماني

  28. 2 2 2 2’ 2 2 2’ • Assumptions: • Rename terminals so that they are sorted on the top side. • All nets are two-terminal nets. • For multi-terminal nets, add dummy terminals. Bubble-Sorting-Based Channel Routing مرتضي صاحب الزماني

  29. 2 2 2 2’ 2’ 2 • Assumptions: • All nets have one terminal on the top side and one terminal on the bottom side. • If both on top (or bottom), add dummy terminals at both ends of the channel. (After routing, they are merged) Bubble-Sorting-Based Channel Routing مرتضي صاحب الزماني

  30. Add Dummy Terminals Rename Terminals Bubble-Sorting-Based Channel Routing مرتضي صاحب الزماني

  31. Bubble sort the bottom-side terminals: • Number exchange: Net exchange Wong Algorithm 1 2 3 4 5 6 7 8 2 1 3 4 5 6 7 8 2 3 1 5 4 7 6 8 2 3 5 1 7 4 8 6 2 3 5 7 1 8 4 6 3 2 7 5 8 1 6 4 3 7 2 8 5 6 1 4 7 3 2 8 6 5 4 1 • Two layers: • To left and its extension: ---- • To right and its extension: ____ مرتضي صاحب الزماني

  32. Disadvantage: • A net can move only one column. • 6 tracks. RBSS Algorithm • RBSS (Right Bubble Sort Solution): • All passes are right-swap pass. • Move to left only one column (with non-manhattan wires). • Move to right more than one column (with horizontal wires). • (The first row, vertical wires). مرتضي صاحب الزماني

  33. 1 2 3 4 5 6 7 8 2 1 3 4 5 6 7 8 RBSS Algorithm 2 3 1 4 5 6 7 8 2 3 4 1 5 6 7 8 2 3 5 4 1 6 7 8 2 3 6 5 4 1 7 8 3 2 7 6 5 4 1 8 7 3 2 8 6 5 4 1 7 tracks • Two layers: • To left: ---- • To right and its extension: ____ مرتضي صاحب الزماني

  34. LBSS (Left Bubble Sort Solution): • All passes are left-swap pass. • Move to right only one column (with non-manhattan wires). • Move to left more than one column (with horizontal wires). • (The first row, vertical wires). LBSS Algorithm مرتضي صاحب الزماني

  35. LBSS Algorithm 6 tracks مرتضي صاحب الزماني

  36. If both left and right pass are allowed, there is an optimal order with 5 tracks: • LRRRR Mixed LBSS-RBSS Algorithm مرتضي صاحب الزماني

  37. OBSS (Optimal Bubble Sort Solution): • Definitions: • Given a vector: (a1, a2, …, an), • Left inversion table: (l1, l2, …, ln), • li: The number of elements greater than i to the left of i. • Right inversion table: (r1, r2, …, rn), • ri: The number of elements less than i to the right of i. • For (7, 3, 2, 8, 6, 5, 4, 1), the left and right inversion tables are • (7, 2, 1, 4, 3, 2, 0, 0) and (0, 1, 2, 1, 2, 3, 6, 4), OBSS Algorithm مرتضي صاحب الزماني

  38. OBSS Algorithm • Justification: ultimate goal is to make Max(lmax,rmax) = 0 • because li’s and ri’s are zero for the sorted vector. مرتضي صاحب الزماني

  39. OBSS Algorithm مرتضي صاحب الزماني

  40. OBSS Algorithm مرتضي صاحب الزماني

  41. LR gives exactly the same result as RL (proof  paper) •  any orderings of L’s and R’s can be written as Li Rm-i. •  for the example: LLLLR OBSS Algorithm مرتضي صاحب الزماني

  42. OBSS Algorithm • Two layers: • To left and its extension: ____ • To right and its extension: ----- مرتضي صاحب الزماني

More Related