CSE%20494:%20Electronic%20Design%20Automation - PowerPoint PPT Presentation

About This Presentation
Title:

CSE%20494:%20Electronic%20Design%20Automation

Description:

Uses detour number (instead of labeling wave front in Lee's router. Detour number, d(P) = # of grid cells directed away from its target on path P. M D(S,T) fixed! ... – PowerPoint PPT presentation

Number of Views:124
Avg rating:3.0/5.0
Slides: 48
Provided by: jaziSta
Category:

less

Transcript and Presenter's Notes

Title: CSE%20494:%20Electronic%20Design%20Automation


1
CSE 494 Electronic Design Automation
  • Lecture
  • Routing

2
Routing
placement
  • Generates a loose route for each net.
  • Assigns a list of routing regions to each net
    without specifying the actual layers of wires.
  • Finds the actual geometric layout of each net
    within the assigned routing regions.

global Routing
Global Routing
detailed Routing
compaction
Detailed Routing
3
Routing Constraints
  • 100 routing completion area minimization,
    under a set of constraints
  • Placement constraint usually based on fixed
    placement
  • Number of routing layers
  • Geometrical constraints must satisfy design
    rules
  • Timing constraints (performance-driven routing)
    must satisfy delay constraints
  • Crosstalk?

Two-layer routing
Geometrical constraint
4
Classification of Routing
R O U T E R S
5
Maze Router Lee Algorithm
  • Lee, An algorithm for path connection and its
    application, IRE Trans. Electronic Computer,
    EC-10, 1961
  • Discussion mainly on single-layer routing
  • Strengths
  • Guarantee to find connection between 2 terminals
    if it exists
  • Guarantee minimum path
  • Weakness
  • Requires large memory for dense layout
  • Slow
  • Applications global routing, detailed routing

6
Lee Algorithm
  • Find a path from S to T by wave propagation

Filing
Retrace
  • Time space complexity for an M X N grid O(M N)
    (huge!)

7
Reducing Memory Requirement
  • Akerss Observation (1967)
  • Adjacent labels for K are either k - 1 or k 1
  • Want a labeling scheme such that each label has
    its preceding label different from its succeeding
    label
  • Way 1 coding sequence 1,2,3,1,2,3, states
    1,2,3, empty, blocked (3 bits required)
  • Way 2 coding sequence 1,1,2,2,1,1,2,2 states
    1,2, empty, blocked (only 2 bits)

sequence 1,2,3,1,2,3,
sequence 1,1,2,2,1,1,2,2
8
Reducing Running Time
  • Starting point selection Choose the point
    farthest from the center as the starting point.
  • Double fan out Propagate waves from both fan out
    and target cells.
  • Framing Search inside a rectangle area 10-20
    larger than the bounding box containing the
    source and target.
  • --Need to enlarge the rectangle and redo if the
    search fails

9
Connecting Multiple Terminal Nets
Step 1 Propagate wave from the source s closest
target Step 2 Mark ALL cells on the path as
s Step 3 Propagate wave from ALL s cells to
other cells Step 4 Continue until all cells are
reached Step 5 Apply heuristics to further
reduce the tree cost.
10
Routing on a Weighted Grid
Motivation Finding more desirable
paths Weight(grid,cells) unblocked grid cell
segments -1
11
A Routing Example on a Weighted Grid
Initialize cell weights
Wave propagation
First wave reaches target
Finding other paths min-cost path found
12
Hadlocks Algorithm
  • Hadlock, A shortest path algorithm for grid
    graphs, Networks, 1977.
  • Uses detour number (instead of labeling wave
    front in Lees router.
  • Detour number, d(P) of grid cells directed
    away from its target on path P
  • M D(S,T) fixed! ? Minimize d(P) to find the
    shortest path.
  • Path length of P, I(P) M D(S,T) 2d(P)
  • For any cell labeled i, label its adjacent
    unblocked cells away from Ti1, label i
    otherwise.
  • Time and space complexities O(MN), but
    substantially reduces the of searched cells.
  • Find the shortest path between S and T.

13
Hadlocks Algorithm
  • D(P) of grid cells directed away from its
    target on Path P.
  • MD(S,T) the Manhattan distance between S and T.
  • Path length of P, I(P) M D(S,T) 2d(P)
  • M D(S,T) fixed! ? Minimize d(P) to find the
    shortest path.
  • For any cell labeled i, label its adjacent
    unblocked cells away from Ti1, label i otherwise.

14
Soukups Algorithm
  • Scoukup, Fast maze router, DAC-78
  • Combined breadth-first and depth-first search
  • Depth-first (line) search is first directed
    toward target T until an obstacle or T is reached
  • Breadth-first (Lee-type) search is used to
    bubble around an obstacle if an obstacle is
    reached
  • Time and space complexities O(MN), but 10-50
    times faster than Lees algorithm
  • Find A path between S and T, but may not be the
    shortest!

15
Features of Line-Search Algorithms
Works on line segment
Lines generated by escape points
source
target
generate lines
generate lines
Every point is An escape point
One escape point Per line segment
Set A
Set B
Some line From B
Some line From A
intersect
Mikami-Tabuchi
Hightower
Path is found
  • Time and space complexities O(L), where L is
    the of line segments generated

16
Mikami- Tabuchis Algorithm
  • Mikami Tabuchi, A computer program for optimal
    routing of printed circuit connectors. IFIP,
    H47, 1968
  • Every grid point is an escape

17
Hightowers Algorithm
  • Hightower, A solution to line-routing problem on
    the continuous plane, DAC-69
  • A single escape point on each line segment
  • If a line parallels to the blocked cells, the
    escape point is placed just past the endpoint of
    the segment

18
(No Transcript)
19
Comparison of Algorithms

Maze Soukup Hadlock Mikami Hightower
Time O(MN) O(MN) O(MN) O(L) O(L)
Space O(MN) O(MN) O(MN) O(L) O(L)
Finds path if one exists? yes yes yes yes no
Is the path shortest? yes no yes no no
Works on grids or lines? grid grid grid line line
  • Soukup, Mikami, and Hightower all adopt some sort
    of line-search operations gt cannot guarantee
    shortest paths

20
Multilayered Routing
  • 3-D grid
  • Two Planer arrays
  • Neglect the weight of inter-layer connections
    through via.
  • Pins are accessible from both layers.

21
Multilayered Routing
22
Net Ordering
  • Net ordering greatly affects routing solutions
  • In the example, we should route net b before
    net a

23
Net Ordering
24
Net Ordering
  • Order the nets in the ascending order of the
    number of pins within their bounding boxes
  • Order the nets in their ascending (or descending
    ?) order of their lengths
  • Order the nets based on their timing criticality

25
Net Ordering
  • A mutually intervening case

26
Rip-up and Re routing
  • Rip up and re routing is required if a global or
    a local router fails to route all nets
  • Approach Manual or Automated
  • Two steps in rip-up and re-routing
  • Identify bottleneck regions, rip-off some already
    routed nets
  • Route the blocked connections, then re-route the
    ripped connections
  • Repeat the two steps until all connections are
    routed, or a time limit is exceeded

27
Graph Models for Global Routing Grid Graph
  • Each cell is denoted by a vertex
  • Two vertices are joined by an edge if they are
    adjacent to each other
  • The occupied cells are represented as filled
    circles, while the unoccupied cells are
    represented by empty circles

28
Graph Model Channel Intersection Graph
  • Channels are represented as edges
  • Channel intersections are represented as vertices
  • Edge weight denotes channel capacity
  • Extended channel intersection graph terminals
    are also represented as vertices

29
Global Routing Problem
  • Given a netlist NN1, N2,.,Nn , a routing
    graph G (V, E), find a Steiner tree Ti for
    each net Ni , 1? i ? n, such that U(ej) ? c(ej),
    ?ej ? E and ?ni1 L(Ti) is minimized, where
  • c(ej) capacity of edge ej
  • xij 1 if ej is in Ti xij 0 otherwise
  • U(ej) ?ni1 xij of wires that pass through
    the channel corresponding to the ej
  • L(Ti) total length of Steiner tree Ti
  • For high-performance, the maximum wirelength
    (maxni1 L(Ti) ) is minimized (or the longest
    path between two points in Ti is minimized)

30
Global Routing in different Design Styles
global routing
full custom
standard cell
gate array
FPGA
flexible channels most general problem
flexible channels fixed feedthroughs
fixed channels
fixed routing tracks switchbox constraints
31
Global Routing in Standard Cell
  • Objective
  • Minimize total channel height
  • Assignment of feedthrough Placement ? Global
    Routing?
  • For high performance,
  • Minimize the maximum wire length
  • Minimize the maximum path length

feedthrough
failed net
32
Global Routing in Gate Array
  • Objective
  • Guarantee 100 routability.
  • For high performance
  • Minimize the maximum wire length
  • Minimize the maximum path length

Each Channel has a capacity of 2 tracks
33
Global Routing in FPGA
  • Objective
  • Guarantee 100 routability.
  • Consider switch-mobile architectural constraints.
  • For performance-driven routing,
  • Minimize of switches used
  • Minimize the maximum wire length
  • Minimize the maximum path length

Each Channel has a capacity of 2 tracks
34
Classification of Global-Routing Algorithm
  • Sequential approach Assigns priority to nets
    routes one net at a time based on its priority
    (net ordering?).
  • Concurrent approach All nets are considered at
    the same time (complexity?).

35
Global Routing Maze Routing
  • Routing channels can be modeled by a weighted
    undirected graph called channel connectivity
    graph
  • Channel node, edge connection between
    channels, capacity weight

36
Global Routing by Integer Programming
  • Suppose that for each net i, there are n(i)
    possible trees t(i,1) , t(i,2) t (i,n)
  • Constraint 1 For each net i, only one t(i,j)
    will be selected
  • The capacity of each cell boundary c(i) is not
    exceeded
  • Minimize the total tree cost
  • Feasible for practical problem sizes?
  • Key Hierarchical approach

37
An Integer Programming Example
Boundary t11 t21 t31 t12 t22 t32 t13 t23
B1 B2 B3 B4 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 1 1 1 0 0 0 0 1 1
  • gi,j Cost of tree tij gt g1,1 2, g1,2 3, g1,3
    3, g2,1 2, g2,2 3, g2,3 3, g3,1 2, g3,2
    2.

Minimize 2x1,1 3x1,2 3x1,3 2x2,1 3x2,2
3x2,3 2x3,1 2x3,1 Subject to
x1,1 x1,2 x1,3 1 (Constraint I
t1) x2,1 x2,2 x2,3 1
(Constraint I t2) x3,2 x3,2
1 (Constraint I t3) x1,2
x1,3 x2,1 x2,3 x3,1 lt 2 (Constraint II
B1) x1,1 x1,3 x2,2 x2,3
x3,1 lt 2 (Constraint II B2) x1,2
x1,3 x2,1 x2,2 x3,2 lt 2 (Constraint
II B3) x1,1 x1,2 x2,2 x2,3
x3,2 lt 2 (Constraint II B4)
xi,j 0,1,1 lt i, j lt 3
38
Hierarchical Global Routing
  • Marek-Sadowska, Router planner for custom chip
    design, ICCAD, 86.
  • At each level of the hierarchy, an attempt is
    made to minimize the cost of nets crossing cut
    lines.
  • At the lowest level of the hierarchy, the layout
    surface is divided into R x R grid regions with
    boundary capacity equal to C tracks.
  • Let Rl be the of grid regions of a given cut
    line l a cut line can be divided into M Rl/C
    sections.
  • Global routing can be formulated as a linear
    assignment problem
  • - xi,j 1 if net i is assigned to
    section j xi,j 0 otherwise
  • - Each net crosses the cut line exactly
    once Smj1 xjj 1,1 lt i lt N.
  • - Capacity constraint of each section
    Sni1 xij lt C,1 lt i lt M.
  • - wi,j cost of assignment net i to
    section j. Minimize Sni1 Smj1 wij xij

39
The Routing-Tree Problem
  • Problem Given a set of net, interconnect the
    pins by a routing tree.
  • Minimum Rectilinear Steiner Tree (MRST) Problem
    Given n points in the plane, find a
    minimum-length tree of rectilinear edges which
    connects the points.
  • MRST(P) MST(P U S), where P and S are the sets
    of original points and Steiner points,
    respectively

40
Theoretic Results for MRST Problem
  • Hanans Thm There exists an MRST with all
    Steiner points (set S) chosen from the
    intersection points of horizontal and vertical
    lines drawn points of P.
  • - Hanan, On Steiners problem with
    rectilinear distance, SIAM J. Applied Math.,
    1966.
  • Hwangs Thm For any point set P,cost(MST(P))/Cost
    (MRST(P))lt 3/2.
  • - Hwang, On Steiners minimal tree with
    rectilinear distance, SIAM J. Applied Math.,
    1976.
  • Best existing approximation algorithm Performs
    bound 61/48 by Fossmeier et al.
  • - Fossmeier et al, Fast approximation
    algorithm for rectilinear Steiner problem,
    Wilhelm Scickard-Institut fur informatik, TR
    WSI-93-14, 93.
  • - Zelikovsky, An 11/6 approximation
    algorithm for the network Steiner problem,
    Algorithmica., 1993.

41
A Simple Performance Bound
  • Easy to show that cost(MST(P))/cost(MRST(P)) lt
    2.
  • Given any MRST T on points set P with a Steiner
    point set S, construct a spanning tree T on P as
    follows
  • Select any point in T as a root.
  • Perform a depth-first traversal on the rooted
    tree T.
  • Construct T based on the traversal.

42
Coping with MRST problem
  • Ho, Vijayan, Wong, New algorithms for the
    rectilinear Steiner problem, IEEE TCAD, 1990.
  • Construct an MRST from an MST.
  • Each edge is straight or L-shaped.
  • Maximize overlaps by dynamic programming.
  • About 8 smaller that Cost(MST).

43
The Iterated 1-Steiner heuristic for the MRST
problem
  • Smith Liebman, Steiner trees, Steiner Circuits
    and the interference problem in the building
    design, Engineering optimization 4, 1979.
  • Extended by Kahng Robins, A new class of
    Steiner tree heuristics with good performance
    the iterated 1-Steiner approach, ICCAD, 1990.
  • Algorithm Iterated_1-Steiner(P)
  • P set P of n points.
  • Begin
  • S lt F / H(P U S) set of Hanan points /
  • / ?MST(A,B) Cost(MST(A))
    Cost(MST(A U B)) /
  • While (Cand lt x H(P U S) ?MST (P U S,xgt0
    ! F) do
  • Find x C and which maximizes ?MST(P U
    S), x)
  • s lt s U x
  • Remove points in S which have degree lt
    2 in MST(P U S)
  • Output MST(P U S)
  • end

44
Bounded-Radius (-Diameter) Minimum Spanning Tree
  • Problem Given a problem e gt 0 and a signal net
    with radius R (diameter D), find a minimum-cost
    spanning tree T with radius r(T) lt (1e)R (d(t)
    lt (1 e)D).
  • - Awerbuch, et al., Cost-sensitive analysis
    of communication protocols, ACM symp. Principles
    of Distributed Computing, 1990.
  • - Cong, Kahng, Robins, Sarrafzadeh, Wong,
    Performance-driven global routing for cell based
    ICs, ICCD-91 ( TCAD, June 1992).
  • MST (minimun spanning tree) ?? minimum cost SPT
    (shortest path tree) ?? minimum radius.
  • Question How to find a spanning tree with a
    good trade-off between cost and radius ?

Cost(T) 1251211 Radius(T)max12,151,15
28
45
MST vs SPT Trade-off
  • Cost(SPT) may be O (n) times larger than cost
    (MST).

Cost(SPT)

T(n)
Cost(MST)
r(T) lt (1e)R
e 0 Cost 17 Radius 6
e 1 Cost 15 Radius 10
e infinite Cost 14 Radius 14
46
Algorithm Bounded-Radius Bounded-Cost Spanning
Tree(G)
  1. begin
  2. Compute MSTG and SPTG
  3. Q lt MSTG
  4. L lt depth-first tour of MSTG
  5. S lt 0
  6. for i lt 1 to (L - 1)
  7. S lt S cost (Li , Li1)
  8. if S gt e . distG(s , Li1) then
  9. Q lt Q ? minpathG(s , Li1)
  10. S lt 0
  11. T shortest path tree of Q
  12. end

L depth-first tour of MST cost(L) 2 cost(MSTG)
47
Bounded-Radius Bounded-Cost Spanning Tree(G)
  • For any weighted graph and parameter e, the
    routing tree T constructed by algorithm has
    radius r(T) lt (1 e) R.
  • vi 1 the last node before v on L for which we
    added minpathG(s,vi-1) to Q.
  • distT lt distT(s,vi-1)
    distL(vi-1, v)
  • lt distG(s,vi-1) e R
  • lt R e R
  • (1 e) R

48
Bounded-Radius Bounded-Cost Spanning Tree
  • For any weighted graph and parameter e, the
    routing tree T constructed by algorithm has cost
    cost(T) lt (12/e) cost(MSTG).
  • Let v1, v2,., vm be the set of nodes to which
    the algorithm added the shorted paths from source
    s.

m
cost(T) lt cost(MSTG) S distG (s,vi)
i 1
distL (vi-1,vi) gt e distG (s,vi)
m
cost(T) lt cost(MSTG) S distG (vi-1,vi)
i 1
e
lt cost(MSTG) cost(L)
e
lt cost(MSTG) 2 . cost(MSTG)
e
lt (12/e) cost(MSTG).
49
Channel and Switchbox Routing
50
Order of Routing Regions and N-Channels
  1. No conflicts in case of routing in the order of
    1, 2, and 3
  2. No ordering is possible to avoid conflicts
  3. The saturation of (b) can be resolved by using
    L-channels
  4. An L-channel can be decomposed into a channel and
    a switchbox

Switchbox
1
2
(d)
51
Routing Considerations
  1. Number of terminals (two-terminals vs.
    multi-terminal nets)
  2. Net widths (power and ground vs. signal nets)
  3. Via restrictions (stacked vs. conventional vias)
  4. Boundary types (regular vs. irregular)
  5. Number of layers (two vs. three, more layers?)
  6. Net types (critical vs. non-critical nets)

52
Routing Models
  • Grid-based model
  • A grid is super-imposed on the routing region.
  • Wires follow paths along the grid lines.
  • Gridless model
  • Any model that does not follow the gridded
    approach

gridless
grid-based
53
Models for Multi-Layer Routing
  • Unreserved layer model Any net segment is
    allowed to be placed in any layer.
  • Reserved layer model Certain types of segments
    are restricted to particular layer(s).
  • Two-layer HV (horizontal-Vertical), VH
  • Three-layer HVH, VHV

3 types of 3-layer models
54
Terminology for Channel Routing Problems
  • Local density at column i total of nets that
    crosses column i
  • Channel density maximum local density of
    horizontal tracks required gt channel density

55
Channel Routing Problem
  • Assignments of horizontal segments of nets to
    tracks.
  • Assignments of vertical segments to connect.
  • horizontal segments of same nets in different
    tracks, and
  • the terminals of the net to horizontal segments
    of the net.
  • Horizontal and vertical constraints must not be
    violated.
  • Horizontal constraint between two nets The
    horizontal span of the two nets overlap each
    other.
  • Vertical constraint between two nets There
    exists a column such that a terminal on top of
    the column belongs to one net and the terminal at
    the bottom of the column belongs to the other
    net.
  • Objective Channel height is minimized ( i.e.
    channel area is minimized)
Write a Comment
User Comments (0)
About PowerShow.com