specialized routing problems

Upload: albert-einstein

Post on 10-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 specialized routing problems

    1/7

    Specialized routing problems

    ECE 256A 1

    ECE 256a

    Malgorzata Marek-Sadowska

    References

    T. Yoshimura, and E.S. Kuh, Efficient Algorithmsfor Channel Routing , IEEE Transactions onComputer-Aided Design, Volume 1, Issue 1, January

    1982 Page(s):25 35. Y. Kajitani, Order of Channels for Safe Routing andOptimal Compaction of Routing Area, IEEETransactions on Computer-Aided Design, Volume

    ECE 256A 2

    , , J. Reed, A. Sangiovanni-Vincentelli, M. Santomauro;

    A New Symbolic Channel Router: YACR2 , IEEETransactions on Computer-Aided Design, Volume4, Issue 3, July 1985 Page(s):208 219

    R.L. Rivest, C.M. Fiduccia, A "Greedy" ChannelRouter, Design Automation Conference, 14-16 June1982 Page(s):418 - 424 .

    Specialized routing problem2 2 2 2 21 4

    4

    h

    ECE 256A 3

    Fixed terminals on 2 parallel boundaries.

    Movable terminals on the other two boundaries

    (sides). 2 layers of metal for wiring. Goal :

    connect all nets such that h is minimized, i.e. the

    2 boundaries with fixed terminals are as close as

    possible.

    DESIGN RULES

    A. Signal nets

    each layer has

    its design rules Vccw

    Hcc

    H1

    H2

    c

    ECE 256A 4

    B. Power nets have also a minimum wire widthon a layer specified.

    C. Other nets may have their design rulesdifferent from the other nets.

    In theory: We need to connect all terminals,such that all nets are connected and designrules are fulfilled. Minimize height !

    In practice : Various additional requirementscaused by

    * electrical and timing constraints

    ECE 256A 5

    (e.g. max length of overlap on different layers,layer preference, #via per net , etc.)

    * constraints due to layout verifiers used incompanies

    (only horizontal and vertical wires, griddedrouting, strictly one directional routing onlayers, etc)

    The simplest 2 layer routing between 2boundaries of fixed terminals can beformulated when the real problem isabstracted as follows:

    * the fixed terminals are at gridded positions ;

    * via - via, via - line and line - line design rules

    are replaced by their worst case combination -

    ECE 256A 6

    orizonta wires are p ace on trac s;

    * strictly horizontal/vertical layering isassumed

    * no overlap between wires on different layersis allowed.

  • 8/8/2019 specialized routing problems

    2/7

    Channel Routing

    Given a rectangular channel with terminalslocated on both sides, and a set of nets, placethe nets in the channel to minimize its width.

    Formulation:Assume uniform net width : track.

    ECE 256A 7

    * L1 for horizontal nets

    * L2 for vertical connections.

    Represent each net segment as an interval,

    indicating the terminal connections (or ).

    Interval Graph, IG(V, E)

    V = {net segments}

    E = horizontal relations between the nets:

    (vi, vj) E iff nets ni, nj overlap.

    The density of IG (max clique size):Channel density: d dmax

    ECE 256A 8

    Finding max clique size is NP-complete!

    1

    42

    3

    1

    3 4

    2

    The Left Edge Algorithm

    1. Sort the intervals Ii in ascending order bytheir left edge coordinates, li. Let I1 be theinterval in the top of the list.

    2. Start a new track.

    3. Assign I1 to a current track.

    Set x = r ri ht ed e coordinate of I .

    ECE 256A 9

    max

    Remove I1 from the list.

    4. Find first interval Ii whose li > xmax.

    If found, set I1 = Ii and go to 3.

    Otherwise go to 2.

    5. Continue until all intervals are placed.

    Example1 2

    6

    43

    51

    24

    3

    5

    6

    Nets to be routed

    ECE 256A 10

    Final placement on nets

    4 3

    1

    5 2

    6

    Problem: vertical constraints

    Vertical Constraint Graph, VG(V,E)

    V = {net segments}

    1

    2

    1

    2

    ECE 256A 11

    : re a ons e ween e ne s, vi, vj

    iff nets ni, nj have common vertical terminalposition.

    Length of the longest path in VG = vmax.

    Channel height : d Max(dmax, vmax)

    Objective:

    Find the routing which minimizes the number

    of tracks and satisfies the vertical constraints.

    NP- complete!

    Can we use the Left Edge Algorithm?

    Greedy.

    ECE 256A 12

    p mum, no ver ca cons ra n s areimposed.

    Sub-optimum, if VG is acyclic.

    No solution, if VG is cyclic (doglegs needed).

  • 8/8/2019 specialized routing problems

    3/7

    Sub-optimality of Constrained Left Edge (CLE)Algorithm

    12

    3

    Intervals sorted

    21

    3

    VerticalConstraint ra h

    ECE 256A 13

    1

    2

    3Solution with Left Edge algorithm

    1

    2

    3 Optimum solution

    Breaking vertical constraints with doglegs

    1

    2

    1

    2

    ECE 256A 14

    1a2

    1b

    1

    12

    2

    dogleg

    Efficient channel routing technique

    Modification of the Left Edge Algorithm to

    account for vertical constraints [Yos 82,84]

    Assign weight wi to net ni as a function of

    1. net segment length

    ECE 256A 15

    . onges pa eng o

    3. local density of the zone to which n i belongs

    Net merging: among the nets that fit in a given

    track, find a set which maximizes cost function.

    Zone representation for horizontal segments

    S(i) - the set of nets whose horizontal segments

    intersect column i. Horizontal segments of

    distinct nets must not overlap => horizontal

    segments of any two nets in S(i) can not be

    ECE 256A 16

    placed on the same horizontal track. Only

    maximal S(i) need to be considered. These are

    zones.

    MERGING OF NETS1 2 3 4 5 6 7 8 109 11 12

    3

    1 6 9

    2

    7

    4

    5 8 10

    7 1

    3 2

    64

    5

    ECE 256A 17

    3 8

    7

    6

    2

    95

    8

    10

    9

    7

    VGHG

    1 2 3 4 5

    1 7

    8

    9

    10

    2

    3

    4

    ECE 256A 18

    5 6

    zone representation

  • 8/8/2019 specialized routing problems

    4/7

    Solution from the left edge algorithm:1 2 3 4 5 6 7 8 9 10 11 12

    1

    5

    38

    4

    6

    7

    10

    92

    ECE 256A 19

    xamp e, or w c e -e ge a gor m oesnot produce good results:

    1

    2

    3

    1

    2

    3

    2

    1 3

    zone representation

    2

    1

    3

    2

    1 3

    ECE 256A 20

    LE algorithm Optimum solution

    Observation : left - edge algorithm does not look at

    the longest path in vertical constraints graph.

    Considering longest path reduction is not all !

    Example:

    21

    3

    4 5

    1 2

    3 4

    1 2

    1 2 3

    3

    4

    ECE 256A 21

    5vertical constraints

    5

    4

    1 2

    3

    5

    4

    1

    2

    3

    5

    Algorithm

    1. Construct the vertical constraint graph and the zonerepresentation. N = set of all nets, T (track count) = 1.

    2. While N= O do

    3. No = nets with no ancestors in VCG

    4. Find Na No such that :

    (a) no two nets in Na have horizontal segments overlap

    b w = max, where w are wei hts assi ned to net

    ECE 256A 22

    n isegments.

    5. Place all nets in Na on track T, N = N - Na6. Update the vertical constraint graph VCG and zone

    representation.

    7. T = T + 1

    8. end

    n Na

    Weight assignment to unplaced nets.

    Weights depend on :

    * longest path through the net,

    * horizontal segment length

    * local density of the zones the net belongs to.

    ECE 256A 23

    a can e oun rom a rec e or zon a

    compatibility graph Nodes - nets, weights of the

    nodes = weights of the net segments do not overlap,

    from (segment on the left) - to (segment on the

    right) Longest path in this graph = Na.

    Example

    2

    1

    3

    4

    6

    5

    3

    4

    5

    6

    2

    22

    L

    2

    1R

    longest path

    ECE 256A 24

    1

    w weight

  • 8/8/2019 specialized routing problems

    5/7

    Building Block Layout Systems

    * Blocks differ in size and shape

    * Difficulties for CAD tools are caused by:

    ECE 256A 25

    rregu ar y o e rou ng area

    Ability of blocks to move

    2 approaches to routing:

    * Divide the routing region into smaller areas and routethem in as small area as possible.

    * Route the layout such that blocks can not move(routing too loose or design rules not fulfilled) andcompact/decompact the result.

    Problems

    I - st approach :

    * How to define routing regions?

    * How to order routing regions?

    * How to update global routing after placementadjustments?

    ECE 256A 26

    - n approac :

    * How to manage efficiently the size ofdatabase since compaction is done afterdetailed routing has been completed?

    * How to schedule compaction steps?

    * jog insertion heuristics.

    Channel Definition & Ordering

    PROBLEM

    Carve up routing area into smaller regions - to be

    subsequently routed by channel or switch box

    routers

    ECE 256A 27

    GOALS

    * Handle placements of macro cells with anyrectilinear shapes

    * Handle any placement including those that arenot in a slicing structure

    ROUTING REGION DEFINITIONAND ORDERING

    Strai ht Channel

    ECE 256A 28

    Routable Channel: when the channel is beingrouted, its width can be expanded orcontracted without destroying the previouslyrouted channels.

    Feasible routing order - A routing order

    following which all unrouted regions areroutable

    -

    1

    4 3

    2

    12

    ECE 256A 29

    non - feasible order feasible order

    Channel Requirements

    Lateral Rigidity Pin Definition

    ECE 256A 30

    A

    B

    T Intersection

    A

    B

    Order Dependency

  • 8/8/2019 specialized routing problems

    6/7

    Slicing StructureA B

    C

    D

    ECE 256A 31

    A

    D C

    B

    Slicing Structure

    1 4

    2

    3

    ECE 256A 32

    1

    42

    3

    Cyclic Channel Order Constraint

    D

    A

    B

    ECE 256A 33

    C

    A

    B D

    C

    L - Shaped Channel Routing Scheme

    D

    A

    B

    C1

    ECE 256A 34

    C2 A

    B-C2 D

    C1

    L - Shaped Channel Routing Scheme

    3

    2

    1

    4

    ECE 256A 35

    Topological channel definition 3

    2

    1

    4

    Geometrical channel definition

    Corner dependencies

    C1 vertically depends on C2C horizontall de ends on C

    C3

    C2

    C1C5

    C4

    ECE 256A 36

    C3 vertically depends on C4C5 horizontally depends on C4C4 is totally independent

    There may not exist a totally independent corner.

    Always there is either a vertically or horizontally

    independent corner.

  • 8/8/2019 specialized routing problems

    7/7

    [13] K.J.Supowit, E.A. Slutz, Placement Algorithms forcustom VLSI; DAC83.

    Channel model : A set of horizontal and vertical segmentswhich meet only at Y - interaction and partition a planeinto rectangles.

    ECE 256A 37

    Theorem 1 : Let M = {c0, c1,..cn-1} be a channel model.

    G(M) has a cycle G(M) has a cycle of length 4

    Theorem 2 : If M is a channel model then G(M) is acyclic M is completely bisectable.