Presentation is loading. Please wait.

Presentation is loading. Please wait.

مرتضي صاحب الزماني 1 Detailed Routing. مرتضي صاحب الزماني 2 Greedy Routing “ A greedy channel router ”, Rivest, Fiduccia, Proceedings of the nineteenth.

Similar presentations


Presentation on theme: "مرتضي صاحب الزماني 1 Detailed Routing. مرتضي صاحب الزماني 2 Greedy Routing “ A greedy channel router ”, Rivest, Fiduccia, Proceedings of the nineteenth."— Presentation transcript:

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: -----


Download ppt "مرتضي صاحب الزماني 1 Detailed Routing. مرتضي صاحب الزماني 2 Greedy Routing “ A greedy channel router ”, Rivest, Fiduccia, Proceedings of the nineteenth."

Similar presentations


Ads by Google