Greedy Routing A greedy channel router Rivest Fiduccia
- Slides: 42
Greedy Routing “A greedy channel router”, Rivest, Fiduccia, Proceedings of the nineteenth design automation conference, p. 418 -424, January 1982. 2 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Greedy Router: Rivest & Fiduccia 2 1 4 5 1 6 7 3 5 2 6 8 4 9 10 10 9 8 7 9 • 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 3
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. 4 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
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. 5 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Greedy Router – Step 2: Free up as many tracks as possible by collapsing split nets 6 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Greedy Router – Step 3: Add jogs to minimize distance between split nets (but no shorter than minimum_jog_length) • This reduces vertical constraints. 7 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Greedy Router – Step 4: Add jogs where possible to raise rising nets and lower falling nets. 8 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Greedy Router – Step 5: Widen channel if needed to make top or bottom connections. Add tracks in the middle of the channel 9 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Greedy Router – Step 6: Extend the channel to a new column to complete unconnected net segments. 10 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Greedy Routing Example 2 11 1 4 5 1 6 7 3 5 2 6 8 4 9 10 10 9 8 7 9
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 Unrestricted dogleg 2 1 3 3 4 5 4 Net 1 occupies two track at this column; it also “ wraps-around” 12 4 A column off the edge ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Switchbox Routing B E E B B D E 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 13 (greedy) channel routing algorithms
Switchbox Routing • Cannot add tracks – Router should not fail • Adding tracks to switchbox adding tracks to all adjacent channels and switchboxes 14 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Switchbox Routing R = {0, 1, 2, …, 8} x {0, 1, 2, … , 7} TOP BOT LEFT RIGHT = (1, 2, … , 7) = [0, D, F, H, E, C, C] = (1, 2, … , 7) = [0, 0, G, H, B, B, H] = (1, 2, … , 6) = [A, 0, D, F, G, 0] = (1, 2, … , 6) = [B, H, A, C, E, C] Column a b c d e f g 0 D F H E C C Track 6 0 D F H E C C 0 C 5 G 4 F E G E F C 3 D 2 0 A D A H 0 H 1 B A B C A 0 15 0 G H B B H ? 0 0 G H B B H
Switchbox Routing – Example TOP BOT LEFT RIGHT = (1, 2, … , 7) = [0, D, F, H, E, C, C] = (1, 2, … , 7) = [0, 0, G, H, B, B, H] = (1, 2, … , 6) = [A, 0, D, F, G, 0] = (1, 2, … , 6) = [B, H, A, C, E, C] Column a b c d e f g 0 D F H E C C Track 6 0 C 5 G 4 F E 3 D 2 0 A H 1 B C A 0 16 0 G H B B H
6. 4 Switchbox Routing – Example TOP BOT LEFT RIGHT = (1, 2, … , 7) = [0, D, F, H, E, C, C] = (1, 2, … , 7) = [0, 0, G, H, B, B, H] = (1, 2, … , 6) = [A, 0, D, F, G, 0] = (1, 2, … , 6) = [B, H, A, C, E, C] Column a b c d e f g 0 D F H E C C Track 6 0 D F H E C C 0 C 5 G 4 F E G E C F C 3 D 2 0 A D A H 0 H 1 B A 0 17 0 G H B B H 0 0 G H B B H
Switchbox Routing • Practical challenges: – Obstacles – Rectilinear ports 18 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
X Architecture Courtesy Cadence X-initiative 23 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
X Architecture • X routing provides 41% more placement area for a given timing constraint 25 • Shorter wirelength possible for non-congested design. ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
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 26 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Bubble-Sorting-Based Channel Routing • Wong formulated channel routing based on bubble sort: • 45 o wires are permitted. 11 tracks 27 6 tracks 5 tracks ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
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 28 2 2’ ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
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) 2 2’ 29 2’ 2 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Bubble-Sorting-Based Channel Routing Add Dummy Terminals Rename Terminals 30 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Wong Algorithm • Bubble sort the bottom-side terminals: • Number exchange: Net exchange 12345678 21345678 23154768 23517486 23571846 32758164 37285614 73286541 • Two layers: • To left and its extension: --- • To right and its extension: ____ 31 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
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). 32 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
RBSS Algorithm 12345678 21345678 23145678 23415678 23541678 23654178 32765418 73286541 • Two layers: 7 tracks • To left: --- • To right and its extension: ____ 33 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
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). 34 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
Mixed LBSS-RBSS Algorithm • If both left and right pass are allowed, there is an optimal order with 5 tracks: • LRRRR 36 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
OBSS Algorithm • OBSS (Optimal Bubble Sort Solution): • Definitions: • Given a vector: (a 1, a 2, …, an), • Left inversion table: (l 1, l 2, …, ln), • li: The number of elements greater than i to the left of i. • Right inversion table: (r 1, r 2, …, 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, 3, 6, 4), 37 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
OBSS Algorithm • Justification: ultimate goal is to make Max(lmax, rmax) = 0 because li’s and ri’s are zero for the sorted vector. 38 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
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 • Two layers: • To left and its extension: ____ • To right and its extension: ----42 ﻣﺮﺗﻀﻲ ﺻﺎﺣﺐ ﺍﻟﺰﻣﺎﻧﻲ
- Reservoir routing example
- Greedy channel routing classified under the type of
- Kl algorithm example
- Fm algorithm
- Fm algorithm partitioning example
- Fiduccia mattheyses
- Cisco assignment
- Give comparison of clock routing and power routing
- Static routing and dynamic routing
- Continuity equation hydrology
- What is gpsr
- Ron rivest, adi shamir, and leonard adleman
- Rsa public-key encryption and signature lab solution
- Rivest shamir adleman
- Rivest cipher
- Sonia rivest
- Channel routing in vlsi
- Signal space analysis in digital communication
- Determine id
- Single channel vs multi channel retailing
- Timbercon router bits
- Solar powered router
- At&t wifi password list default
- Cisco router architecture
- Cisco 1601 router
- Router frontera
- Q route
- High performance switches and routers
- Vpn wikipedia
- Cisco basic router configuration
- 12810 router
- Netatonce egen router
- Dpdk router
- History of the router
- Cisco rv120w price
- Cisco device configuration management
- Router forensics
- Router definizione
- Ler router
- Cisco router symbol
- Neutron star router
- Cisco enhanced limited lifetime warranty
- Ejemplos de router