Routing 2 - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Routing 2

Description:

serial wire at a time - blockages. similar rip-up and shove-aside approaches to cope ... nets to fewer trunks with spare branch space. reduce distance between ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 13
Provided by: duncanm4
Category:
Tags: routing

less

Transcript and Presenter's Notes

Title: Routing 2


1
Routing 2
  • Outline
  • Maze Routing
  • Line Probe Routing
  • Channel Routing
  • Goal
  • Understand maze routing
  • Understand line probe routing

2
Maze Routing
  • Place wires and components on grid
  • grid size wire width spacing
  • works best if all wire widths and spacings are
    equal
  • grid squares occupied
  • Distance metric
  • each square has 4 neighbors unit cost away
  • Search graph
  • node for each square
  • unit-cost edge to 4 neighboring nodes

3
Maze Routing
  • Shortest path search (Lee-Moore)
  • maintain leaf nodes of expansion tree
  • at each step add unexplored neighbors to list
  • with accumulated cost
  • stop when target vertex reached
  • backtrace for route
  • Guaranteed to find shortest path
  • large memory requirements - the grid
  • long search time - number of vertices marked
  • local optimization - only routing one net at a
    time

4
Algorithm
  • add source node S into list
  • costS 0
  • for all nodes i on list
  • if i destination D
  • pathcost costD
  • break
  • for jN,S,E,W neighbors that are not visited and
    not occupied
  • add node j to list
  • costj costi1
  • mark i as visited
  • remove node i from list
  • while i ! S do
  • mark i as path
  • i min cost N,S,E,W visited neighbor

5
Maze Routing
  • Avoiding blockage
  • wire at a time gt can block wires
  • Solutions
  • rip-up and re-route
  • remove wire(s) causing blockage
  • route blocked wire
  • route ripped up wires
  • shove-aside
  • add dummy grid lines
  • squeeze wire through

6
Line Probe Routing
  • Gridless - store list of lines and obstructions
  • sorted lists of vertical and horizontal lines
  • Algorithm
  • from source and destination project 4
    horizontal/vertical rays (probes)
  • if probes intersect, done - route wires from
    nodes to intersection
  • if probes blocked, choose escape point and send
    new probes
  • a point just past obstruction

E
E
B
E
A
E
7
Line Probe Routing
  • Advantages
  • small memory requirements - no grid
  • store sorted lists of vertical and horizontal
    segments
  • fast
  • binary search of segments for blockage and escape
    points
  • probes ltlt grid points
  • higher precision coordinates - no grid
  • Disadvantages
  • serial wire at a time - blockages
  • similar rip-up and shove-aside approaches to cope
  • basic algorithm may not find route when one
    exists
  • need to try more escape points
  • degenerates to grid search

8
Channel Routing
  • Channel
  • terminals on two sides of rectangle are fixed
  • horizontal wires on layer1 - trunks, which run in
    tracks
  • vertical wires on layer2 - branches, which run in
    columns
  • Routing Problem
  • minimize number of tracks used gt minimizes
    channel height
  • minimize wire lengths, vias
  • all wires routed at same time - better overall
    optimization

A
B
A
A
track
via
A
B
trunk
branch
dogleg
9
Channel Routing
  • Left edge algorithm
  • one trunk per net
  • trunks on one layer, branches on other
  • sort trunks by left edge
  • scan trunks, put all that fit into first track
  • allocate new tracks as necessary
  • repeat scanning until done
  • add vertical branches
  • ignores vertical constraints
  • can add doglegs later
  • may need more tracks
  • advantage
  • minimum wire length, vias
  • not very optimal
  • 31 tracks on Deutschs difficult example
  • density is 19 tracks

B
A
B
A
B
A
B
A
10
Channel Routing
  • Greedy algorithm
  • route column by column rather than track by track
  • scan left-right by column
  • at each track apply heuristics to bring new nets
    to an existing trunk, and move nets between
    tracks
  • greedy - at each column try to minimize tracks
    and minimize distance to terminals
  • can often use exhaustive search
  • number of tracks in a column is small - lt 100
  • good results, but lots of vias
  • lots of track to track movement for each net

11
Algorithm
  • for each column
  • for each terminal bring in branch
  • connect to trunk if it exists
  • create trunk at first empty track
  • otherwise create new track
  • move between tracks using heuristics
  • collapse nets to fewer trunks with spare branch
    space
  • reduce distance between net trunks
  • move nets towards next terminal
  • connect multiple trunks for a net at end of
    channel

B
A
B
A
12
Pattern Channel Routers
  • Slide window along channel
  • recognize patterns of terminals and occupiedGet
    more optimal results
  • doglegs
  • Challenge
  • developing rule set

Problem Vertical constraint between A and B. C
and D occupy surrounding tracks and
columns Solution Shift contacts down and to
right, doglegs on each layer to reach them
A
C
D
B
Write a Comment
User Comments (0)
About PowerShow.com