specialized routing problems
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.