Improved Global Routing through Congestion Estimation - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

Improved Global Routing through Congestion Estimation

Description:

Congestion when too many wires go through a too ... Later routes will not be able to go through. that congested edge routing cost ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 46
Provided by: Ori
Category:

less

Transcript and Presenter's Notes

Title: Improved Global Routing through Congestion Estimation


1
Improved Global Routing through Congestion
Estimation
  • Raia T.Hadsell, Patrick H.Madden

Presented by Ori Vinik
2
Reminder
  • Stages in making a chip
  • Defining requirements
  • Logical (RTL)
  • circuit design (gate level)
  • Validation
  • Layout
  • Placement
  • Routing (global)
  • Routing (detail)
  • And so on
  • Routing wires on the chip is done using
  • a tool called router

3
Outline
  • Introduction of the problem and some technical
    terms
  • Previous work that was done in the routing field
  • The routing tool created by the writers of this
  • article and the new approach it utilizes
  • Illustration of the approach
  • Experimental results

4
Introduction
  • After placing all the components on the chip the
    next
  • stage is connecting them with wires
  • Short wires improves chips performance
  • If routing is done simply in the shortest path
    many
  • wires will be routed through important
    junctions

Looking at the chip from above
Components (ALU, registers unit)
  • Congestion when too many wires go through a too
  • narrow space physically they become too close.
  • Impossible to route because capacity is limited!

5
  • Congestion example

No other wire can be put in this place
Wire
No more room!
  • Another problem that was created
  • When two wires go side by side, they effect each
  • other so the signals might change
  • The longer they go side by side, the more intense
  • is their influence on each other

6
  • Some terms
  • Global router decide roughly where wires will
    go through
  • according to placement and other limitations
  • (wires not too close, wire length).
  • Maze router using for Detailed routing
    decide
  • exactly where wires will go through according
    to the
  • global routing.

7
  • Some more terms
  • Rip up and reroute a common method routers
    utilize the
  • router first rip an old wire, can put a new
    wire in the old
  • wires place and then find a new route for the
    old wire
  • Iterations in every iteration rip up and re
    route is done
  • Feedback is given to the router after each
    iteration

8
  • Some more terms
  • Routing layers most modern chips have 5 to 8
    metal
  • layers in which wires are routed. These wires
    are using
  • to connect the components on the chip. In each
    layer
  • wires go from east to west or south to
    north.

9
  • A side view (abstract)

isolation layer
Routing Layers
Via
Wires
Components
Substrate
10
  • The past
  • In the past chips were relatively simple
  • Routing problem could be solved easily

A simple case with a simple solution-
But
11
  • As designs became bigger and more complicated

12
  • The problem
  • Designs have become larger and more congested,
  • global routing is more difficult.
  • Many existing global routing tools
  • Unacceptably long time
  • Fail to complete - they need more area
  • Problem is NP - hard
  • Exponential complexity or higher
  • Must use approximation algorithms to
  • get practical solutions

13
Guidelines
  • Utilization of Linsker method for printed
    circuit board
  • (PCB) routing (overlooked).

  • Feedback loop to each rip up and reroute
    iteration.
  • Informing the maze router in order to avoid
    congested
  • areas.
  • How do we determine the congested areas? (2 ways)
  • Static probabilistic algorithm
  • Dynamic information about congestion from
    previous
  • iterations

14
  • Guidelines cont
  • The information is used to introduce artificial
    weight to
  • the congested edges
  • Subsequent routes disperse from this areas in
    next reroute

15
Quick summary
  • Wires must have a minimal distance between them
  • to ensure they dont short
  • Routing problem in complex designs
  • Modern Global Routing method terms
  • Congestion
  • Global router
  • Maze router
  • Over the cell routing
  • Routing layers
  • Iterations of Rip up and reroute with Feedback

16
Previous work
  • In the past- channel based , limited number of
  • routing layers
  • Connection restricted between standard cell rows
  • or around macro blocks
  • Over the cell routing instead of using space in
    cell rows

17
  • Formulation of modern routing model problem
  • In the modern routing model problem is
    formulated
  • as a Multi commodity flow
  • A graph G(V,E) is given
  • Each edge e between vertices V

i
I,j
and V has a capacity C
j
I,j
  • Reduction

flow on the edges
wire
Component( )
vertex
edge
Route (connection between squares )
18
  • The common technique in previous routing tools
  • Decomposition of multipin nets into pairs of pins
  • using either Spaning tree algorithms or Steiner
    Tree
  • heuristics
  • In general The problem Connect vertices
    (1,2,3,4,5)
  • becomes connect (1,2), connect (2,3) and so
    on
  • Pairs of pins are connected (routed) using the
    maze
  • router. Normally, Dijkstras algorithm is used
  • Routing is done through iterations of rip up
  • and reroute

19
  • Steiner Tree
  • Forming a Steiner tree to connect subsets of
    vertices
  • such that capacity rules must be obeyed,
    minimizing
  • total tree weight

(1,2) (2,3) (2,5) (5,6) (6,9) (5,4) (7,8)
  • Manhattan only

Connect (1,2,3,4,5,6,7,8,9)
Connect
Steiner tree algorithm
3
1
2
3
1
2
Connect
4
5
6
4
5
6
7
8
9
7
8
9
20
  • Dijkstras algorithm
  • Dijkstras algorithm An algorithm to find the
    shortest
  • path from a single source vertex to all other
    vertices
  • in a weighted, directed graph. All weights must
    be non
  • negative

3
4
11
D
1
3
2
1
10
8
10
12
3
4
2
3
2
10
2
2
9
4
9
5
S
21
  • Routing capacity
  • In previous research it was found that detail
    routing become
  • difficult when routing approaches physical
    capacity
  • The detail routing is using Dijkstras algorithm
    and determine
  • the exact and final routing, complimenting the
    Global routers
  • work

detailed router
Global router
  • Thus, the capacity of an edge in a global graph
    is generally
  • tuned towards levels where successful detail
    routing is likely

22
Global Routing with Congestion Estimation
  • The Chi Dispersion Global Routing tool routing
    approach
  • extends previous work (Linsker) through the
    introduction of
  • congestion estimation.
  • Basic routing approach follow the general
    outline of
  • Linsker
  • Decompose multi-pin nets into sets of point
  • connections, and then route each connection
  • Use of Steiner tree heuristic obtaining good
    quality
  • trees and low complexity
  • Each wire (in the tree) is routed using a maze
    router,
  • implementing Dijkstras algorithm ensure
    efficient
  • implementation

23
  • The Chi Dispersion Global Routing tool
  • Rip up and reroute each edge in order for a
    number
  • of iterations
  • Why for a number of iterations?
  • Solution converges quickly. Large number of
    iterations
  • seldom improve quality

24
  • Edges Weights
  • In order to implement Dijkstras algorithm
    adjusting
  • routing cost (weight on the edges) is a must.
  • How is this done?
  • Monitoring the number of routes (wires) using
    any
  • particular edge and use this to adjust routing
    cost as
  • demonstrated in next foil

25
  • Adjusting routing cost using a cost function-
  • example

route
Wire Need 25
Capacity 120
Step 1 Routing cost LOW
Step 3 Routing cost Medium
Step 4 Routing cost High
Step 2 Routing cost LOW
  • important this is just one algorithm. Other
    Possibility
  • LOW,LOW,LOW, HIGH or others. Depends on cost
    function.

26
  • The cost functions
  • Step cost function
  • Routing cost increases abruptly when
  • the number of routes on a graph edge
  • reaches or approaches the edge
  • capacity.

constant
if any
wire length
27
  • Intuition for the step cost function and the
  • problem it creates
  • Early routes will encounter an uncongested
    routing graph
  • and will utilize the resources without
    consideration for the
  • demands of later routes (A).

B
  • Later routes will not be able to go through
  • that congested edge routing cost
  • is too expensive (B). They will detour
  • around congested regions

A
  • During rip up and reroute, the connection routed
    in early
  • stages will have difficulty in being rerouted,
    because of the
  • added wire length.

28
  • The main problem with this approach
  • Prior to initial routing no information about
    where
  • congestion is going to be
  • As a result first routes might pass through
    areas that will
  • have high demand later
  • These routes will affect the routing of other
    wires
  • The objective minimizing the number of poorly
    routed
  • connections in the early stages. And providing
    an
  • effective tie-breaking method when there are few
    routes
  • with similar costs.

29
  • The effective cost function
  • Linear cost function
  • Assign a unit cost to an edge until it reaches
    80 of capacity (A) and increase cost linearly
    until it reaches 40 above capacity (B) .
  • Why 40 above capacity?

B
A
30
  • Intuition for the linear cost function
  • If a region is about to be congested (over 80 of
  • capacity) routing cost is rising
  • The routing cost will rise as more and
  • more wires are routed through that edge
  • As rip up and re route process is performed the
    Dijkstras
  • algorithm will route some wires through other
    edges, living
  • some room for later routes that will willing to
    pay the
  • high routing cost through that edge

31
  • Technically how does it work?
  • The amplified dynamic demand for routing edge ej
    is

ddynamic(ej) S a(wi) X p(wi,ej)
wi
According to next page
The probability that wi will be routed through
edge ej
32
  • Technically how does it work?
  • Amplification algorithm
  • For any given wire wi, consider the estimated
    demand along all routing edges used by the wire
  • If no routing edge has demand greater then 80 of
    capacity, we set a wi to 0
  • If a routing edge demand greater then 120 of
    capacity, we set a wi to 1.2
  • Otherwise, a wi is set to 1

ddynamic(ej) S a(wi) X p(wi,ej)
  • The dynamic estimation is performed once per
    iteration.
  • The static estimation is performed prior to any
    routing.

33
  • Observations
  • In heavily congested areas there is desire to
    push
  • routes out. Routing there should cost much more
  • In lightly congested areas we want to avoid
    detours
  • What did we get?
  • Strongly influence routes in congested areas
    without unduly influence routes in less congested
    areas
  • Volcano effect the areas where we would
    expect heavy
  • congestion have routes strongly pushed away

34
  • The process - overview

Static estimation
Routing cost
dynamic estimation
amplification
Actual routing Demand
Dijkstra
35
  • Contribution of this work
  • The consideration of congestion estimate as part
    of the
  • routing cost
  • Static and dynamic congestion estimates
  • Combination of both provide a hint to the
    global
  • router

36
Illustration of the Approach
  • Congestion maps
  • Lightly congested dark
  • Heavy congested light

37
  • congestion maps illustration of the approach
  • Estimated congestion and amplified estimated
    congestion
  • for the benchmark IBM01.

After global routing is done
Left congestion estimate for ibm01 Right
amplified congestion estimate for ibm01
38
  • Illustration of the approach different
    iterations
  • Congestion levels for a routing of the benchmark
    IBM07 at
  • different iterations of the rip up and reroute
    process.

39
  • What did we see?
  • Congestion levels in the first iteration is much
    higher in the
  • congestion prediction approach
  • After first iteration congestion levels improve
    dramatically.
  • Our modified approach performs substantially
    better

40
Experimental results
  • Executable versions of only two academic routers
    were
  • available
  • Labyrinth
  • Force Directed router
  • The Force Directed router was unable to handle
    any of the
  • given benchmarks correctly

results not reported.
  • Commercial routing tools are not comparable since
    they
  • generally optimize a number of factors other
    then
  • congestion.
  • About Labyrinth
  • Use Rip up and Re-route
  • Using step function

41
Experimental results cont
42
  • Results in different benchmarks

overflow
overflow
overflow
On average, 47 overflow reduction relative to
Linsker On average, 65 overflow reduction
relative to Labyrinth Wire length and run time
are comparable to Linsker, better than Labyrinth
43
Summary / Conclusions
  • Focus on improving congestion in global routing
    using
  • over-the-cell routing model
  • This work improves a classic routing approach by
  • integrating congestion estimates with the routing
  • Target problem areas without introducing
    detours
  • in un congested areas by amplifying estimated
  • congestion
  • Excellent results in comparison to other recent
    global
  • routing work speed, wire length, overflow

44
Summary / Conclusions cont
  • A method known for printed circuit board design
    has a
  • direct application to modern integrated circuit
    routing
  • Use of a linearly increasing cost function
    improves the
  • solution quality
  • Some recently published routing tools have
    surprisingly
  • poor performance and may be improved by adopting
    this
  • approach

45
Acknowledgements
  • IEEC AND IBM Faculty Partnership Award
  • Ralph Linsker - IBM
  • Shaodi Gao - IBM

46
the end
47
  • Steiner Tree
  • Problem definition

Given a graph with non negative weights and a set
of pairs of vertices, find the minimum network of
edges such that each pair of vertices is in the
same connected component.
  • Manhattan only
  • Forming a Steiner tree to connect subsets of
    vertices
  • such that capacity rules must be obeyed,
    minimizing
  • total tree length

Steiner tree algorithm
Connect
Write a Comment
User Comments (0)
About PowerShow.com