Download presentation
Presentation is loading. Please wait.
Published byBrice Stewart Modified over 9 years ago
1
مرتضي صاحب الزماني 1 Detailed Routing
2
مرتضي صاحب الزماني 2 Greedy Routing “ A greedy channel router ”, Rivest, Fiduccia, Proceedings of the nineteenth design automation conference, p.418-424, January 1982.
3
3 Greedy Router: Rivest & Fiduccia 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 14617 8 4910 32 5 269879355
4
مرتضي صاحب الزماني 4 Greedy Router –Step 1: Take the pin connection to the closest empty track or to the track occupied by this net If channel is full, defer until Step 5. 1
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
مرتضي صاحب الزماني 6 Greedy Router –Step 2: Free up as many tracks as possible by collapsing split nets
7
مرتضي صاحب الزماني 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
مرتضي صاحب الزماني 8 Greedy Router –Step 4: Add jogs where possible to raise rising nets and lower falling nets.
9
مرتضي صاحب الزماني 9 Greedy Router –Step 5: Widen channel if needed to make top or bottom connections. Add tracks in the middle of the channel
10
مرتضي صاحب الزماني 10 Greedy Router –Step 6: Extend the channel to a new column to complete unconnected net segments.
11
11 Greedy Routing Example 14617 8 4910 32 5 269879355
12
مرتضي صاحب الزماني 12 Comments on Greedy Router (Rivest&Fiduccia 1982) a Always succeeds (even if cyclic conflict is present); a Allows unrestricted doglegs; a Allows a net to occupy more than 1 track at a given column; a May use a few columns off the edge; 1 3 1 2 1 5 2 1 3 3 4 5 4 4 A column off the edge Unrestricted dogleg Net 1 occupies two track at this column; it also “ wraps-around”
13
13 D B BE E E B D B 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 Switchbox Routing
14
Cannot add tracks – Router should not fail Adding tracks to switchbox adding tracks to all adjacent channels and switchboxes مرتضي صاحب الزماني 14
15
15 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] H A C E DFHECC G0 0 D F G HBB H 0 0 0 AB C ? Switchbox Routing bcdefga Column DFHE C C 0 0 D F G 0 A 6 5 4 3 2 1 Track H A C E B C G0HBBH0
16
16 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] bcdefga Column DFHE C C 0 0 D F G 0 A 6 5 4 3 2 1 Track H A C E B C G0HBBH0 Switchbox Routing – Example
17
17 bcdefga Column DFHE C C 0 0 D F G 0 A H A C E DFHECC G0 0 D F G HBB H 0 0 0 AB C 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] 6 5 4 3 2 1 Track H A C E B C G0HBBH0 6.4Switchbox Routing – Example
18
Switchbox Routing Practical challenges: –Obstacles –Rectilinear ports مرتضي صاحب الزماني 18
19
مرتضي صاحب الزماني 19
20
مرتضي صاحب الزماني 20
21
X-Architecture مرتضي صاحب الزماني 21
22
مرتضي صاحب الزماني 22 X Architecture
23
مرتضي صاحب الزماني 23 X Architecture Courtesy Cadence X-initiative
24
مرتضي صاحب الزماني 24 X Architecture
25
مرتضي صاحب الزماني 25 X Architecture X routing provides 41% more placement area for a given timing constraint Shorter wirelength possible for non-congested design.
26
مرتضي صاحب الزماني 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
مرتضي صاحب الزماني 27 Bubble-Sorting-Based Channel Routing Wong formulated channel routing based on bubble sort: 45 o wires are permitted. 11 tracks6 tracks5 tracks
28
مرتضي صاحب الزماني 28 Bubble-Sorting-Based Channel Routing 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. 2 2 22 2 2’
29
مرتضي صاحب الزماني 29 Bubble-Sorting-Based Channel Routing 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) 222 2 2’
30
مرتضي صاحب الزماني 30 Bubble-Sorting-Based Channel Routing Add Dummy Terminals Rename Terminals
31
مرتضي صاحب الزماني 31 Wong Algorithm Bubble sort the bottom-side terminals: Number exchange: Net exchange 7 3 2 8 6 5 4 1 3 7 2 8 5 6 1 4 3 2 7 5 8 1 6 4 2 3 5 7 1 8 4 6 2 3 5 1 7 4 8 6 2 3 1 5 4 7 6 8 2 1 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Two layers: To left and its extension: ---- To right and its extension: ____
32
مرتضي صاحب الزماني 32 RBSS Algorithm Disadvantage: A net can move only one column. 6 tracks. 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
مرتضي صاحب الزماني 33 RBSS Algorithm 7 3 2 8 6 5 4 1 3 2 7 6 5 4 1 8 2 3 6 5 4 1 7 8 2 3 5 4 1 6 7 8 2 3 4 1 5 6 7 8 2 3 1 4 5 6 7 8 2 1 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Two layers: To left: ---- To right and its extension: ____ 7 tracks
34
مرتضي صاحب الزماني 34 LBSS Algorithm 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).
35
مرتضي صاحب الزماني 35 LBSS Algorithm 6 tracks
36
مرتضي صاحب الزماني 36 Mixed LBSS-RBSS Algorithm If both left and right pass are allowed, there is an optimal order with 5 tracks: LRRRR
37
مرتضي صاحب الزماني 37 OBSS Algorithm OBSS (Optimal Bubble Sort Solution): Definitions: Given a vector: (a 1, a 2, …, a n ), Left inversion table: (l 1, l 2, …, l n ), l i : The number of elements greater than i to the left of i. Right inversion table: (r 1, r 2, …, r n ), r i : 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),
38
مرتضي صاحب الزماني 38 OBSS Algorithm Justification: ultimate goal is to make Max(l max,r max ) = 0 because l i ’s and r i ’s are zero for the sorted vector.
39
مرتضي صاحب الزماني 39 OBSS Algorithm
40
مرتضي صاحب الزماني 40 OBSS Algorithm
41
مرتضي صاحب الزماني 41 OBSS Algorithm LR gives exactly the same result as RL (proof paper) any orderings of L’s and R’s can be written as L i R m-i. for the example: LLLLR
42
مرتضي صاحب الزماني 42 OBSS Algorithm Two layers: To left and its extension: ____ To right and its extension: -----
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.