Вы находитесь на странице: 1из 7

References

• T. Yoshimura, and E.S. Kuh, “Efficient Algorithms


for Channel Routing “, IEEE Transactions on
Computer-Aided Design, Volume 1, Issue 1, January
1982 Page(s):25 – 35.
• Y. Kajitani, Order of Channels for Safe Routing and
Specialized routing problems Optimal Compaction of Routing Area, IEEE
Transactions on Computer-Aided Design, Volume
2 Issue 4,
2, 4 October 1983 Page(s):293 – 300
• J. Reed, A. Sangiovanni-Vincentelli, M. Santomauro;
ECE 256a A New Symbolic Channel Router: YACR2 , IEEE
Transactions on Computer-Aided Design, Volume
Malgorzata Marek-Sadowska 4, Issue 3, July 1985 Page(s):208 – 219
• R.L. Rivest, C.M. Fiduccia, A "Greedy" Channel
Router, Design Automation Conference, 14-16 June
1982 Page(s):418 - 424 .

ECE 256A 1 ECE 256A 2

Specialized routing problem DESIGN RULES Hcc


2 2 1 4 2 2 2
A. Signal nets
4 each layer has H1

h its design rules Vcc H2


w c

1 2 1 1 3 3
Fixed terminals on 2 parallel boundaries.
B. Power nets have also a minimum wire width
Movable terminals on the other two boundaries on a layer specified.
(sides). 2 layers of metal for wiring. Goal :
connect all nets such that h is minimized, i.e. the C. “Other” nets may have their design rules
2 boundaries with fixed terminals are as close as different from the other nets.
possible.
ECE 256A 3 ECE 256A 4

In theory: We need to connect all terminals, The simplest 2 layer routing between 2
such that all nets are connected and design boundaries of fixed terminals can be
rules are fulfilled. Minimize height ! formulated when the real problem is
abstracted as follows:
In practice : Various additional requirements * the fixed terminals are at gridded positions ;
caused by * via - via, via - line and line - line design rules
* electrical and timingg constraints are replaced by their worst case combination -
(e.g. max length of overlap on different layers, h i
horizontal l wires
i are placed
l d on tracks;k
layer preference, #via per net , etc.) * strictly horizontal/vertical layering is
* constraints due to layout verifiers used in assumed
companies * no overlap between wires on different layers
(only horizontal and vertical wires, gridded is allowed.
routing, strictly one directional routing on
layers, etc) ECE 256A 5 ECE 256A 6

1
Channel Routing Interval Graph, IG(V, E)
Given a rectangular channel with terminals • V = {net segments}
located on both sides, and a set of nets, place • E = horizontal relations between the nets:
the nets in the channel to minimize its width. (vi, vj) ∈E iff nets ni, nj overlap.
Formulation: The density of IG (max clique size):
Assume uniform net width : track. Channel density: d ≥ dmax
• Assume two layers of interconnections:
1 1 2
* L1 for horizontal nets 2
* L2 for vertical connections. 4
3
• Represent each net segment as an interval, 3 4
indicating the terminal connections (↑or ↓).
Finding max clique size is NP-complete!
ECE 256A 7 ECE 256A 8

The Left Edge Algorithm Example


1 2
1. Sort the intervals Ii in ascending order by Nets to be routed
their left edge coordinates, li. Let I1 be the 1 5
6
interval in the top of the list. 2
4
2. Start a new track. 3
3 4
3. Assign I1 to a current track. 5
6
Set xmax = r1, right edge coordinate of I1 .
Remove I1 from the list. Final placement on nets
4. Find first interval Ii whose li > xmax.
4 3
If found, set I1 = Ii and go to 3. 1
Otherwise go to 2. 5 2
5. Continue until all intervals are placed. 6

ECE 256A 9 ECE 256A 10

Problem: vertical constraints Objective:


1
1 Find the routing which minimizes the number
2 of tracks and satisfies the vertical constraints.
2 NP- complete!
Vertical Constraint Graph, VG(V,E) Can we use the Left Edge Algorithm?
• V = {net segments} • Greedy.
• E : relations
l ti b
between
t th t ((vi , vj) ∈ E
the nets, • Optimum,
O ti if no vertical
ti l constraints
t i t are
iff nets ni, nj have common vertical terminal imposed.
position. • Sub-optimum, if VG is acyclic.
• No solution, if VG is cyclic (doglegs needed).
Length of the longest path in VG = vmax.
Channel height : d ≥ Max(dmax, vmax)
ECE 256A 11 ECE 256A 12

2
Sub-optimality of Constrained Left Edge (CLE)
Algorithm
Breaking vertical constraints with doglegs
1
1 2
Intervals sorted 1
1
2 2
3
3
Vertical Constraint graph 2
1
1 2
2 1a
Solution with Left Edge algorithm 2
3
dogleg
1b
2
1 3 Optimum solution 2 1

ECE 256A 13 ECE 256A 14

Efficient channel routing technique


Modification of the Left Edge Algorithm to
Zone representation for horizontal segments
account for vertical constraints [Yos 82,84]
S(i) - the set of nets whose horizontal segments
intersect column i. Horizontal segments of
Assign weight wi to net ni as a function of
distinct nets must not overlap => horizontal
1. net segment length
segments
g of anyy two nets in S(i)
( ) can not be
2 longest
2. l t path
th llength
th off VG
placed on the same horizontal track. Only
3. local density of the zone to which ni belongs
maximal S(i) need to be considered. These are
zones.
Net merging: among the nets that fit in a given
track, find a set which maximizes cost function.

ECE 256A 15 ECE 256A 16

MERGING OF NETS
1 2 3 4 5 6 7 8 9 10 11 12 1
1 6 9
1 2 3 4 5
2
3 2 1 7
3 7
4 2 8
5 8 10 5
6 3 9
4

1 4 10 4 10
8
7 5 6
5 9 7
9
10
6
3 8 zone representation
HG
VG 2

ECE 256A 17 ECE 256A 18

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

Example,
E l for
f which
hi h left-edge
l ft d algorithm
l ith does
d
not produce good results:
LE algorithm Optimum solution
2 1 3
1 3
2
1
2 3
zone representation
ECE 256A 19 ECE 256A 20

Observation : left - edge algorithm does not look at Algorithm


1. Construct the vertical constraint graph and the zone
the longest path in vertical constraints graph. representation. N = set of all nets, T (track count) = 1.
Considering longest path reduction is not all ! 2. While N= O do
Example: 1 2 3 3. No = nets with no ancestors in VCG
1
1 2 1 2 4. Find Na ∈No such that :
2
3
3 4 3 (a) no two nets in Na have horizontal segments overlap
4 5 4 ((b))  wn= max,, where wi are weights
g assigned
g to net
5 5 n ∈ Na segments.
vertical constraints
5. Place all nets in Na on track T, N = N - Na
6. Update the vertical constraint graph VCG and zone
1
1 2
3 representation.
3
4 2
7. T = T + 1
4
5 8. end
5

ECE 256A 21 ECE 256A 22

Weight assignment to unplaced nets. Example


Weights depend on :
2
* longest path through the net, 2 5 2 5
3
* horizontal segment length 2
3
longest path
1 6
* local density of the zones the net belongs to. 4
L 2
R
1 4 6
Na can be
b ffound
d ffrom a di
directed
t d horizontal
h i t l 2 2 1
compatibility graph Nodes - nets, weights of the
w weight
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.

ECE 256A 23 ECE 256A 24

4
Building Block Layout Systems
Problems
I - st approach :
* How to define routing regions?
* How to order routing regions?
* Blocks differ in size and shape * How to update global routing after placement
* Difficulties for CAD tools are caused by: adjustments?
I
Irregularity
l it off th
the routing
ti area II nd
II- d approach:
h
Ability of blocks to move * How to manage efficiently the size of
2 approaches to routing: database since compaction is done after
* Divide the routing region into smaller areas and route detailed routing has been completed?
them in as small area as possible.
* How to schedule compaction steps?
* Route the layout such that blocks can not move
(routing too loose or design rules not fulfilled) and * jog insertion heuristics.
compact/decompact the result.
ECE 256A 25 ECE 256A 26

ROUTING REGION DEFINITION


Channel Definition & Ordering AND ORDERING
PROBLEM
Carve up routing area into smaller regions - to be
subsequently routed by channel or switch box
routers
Straight Channel L Shaped Channel
L-Shaped
GOALS Routable Channel: when the channel is being
routed, its width can be expanded or
* Handle placements of macro cells with any contracted without destroying the previously
rectilinear shapes routed channels.
* Handle any placement including those that are Feasible routing order - A routing order
not in a slicing structure following which all unrouted regions are
ECE 256A 27
routable ECE 256A 28

Channel Requirements

4 3 2 1

2
Lateral Rigidity
g y Pin Definition

A
non - feasible order feasible order
A

B
B

T Intersection Order Dependency


ECE 256A 29 ECE 256A 30

5
Slicing Structure Slicing Structure
A B
1 4

C
2

D 3

3
A B
4
2

D C
ECE 256A 31 ECE 256A 32

Cyclic Channel Order Constraint L - Shaped Channel Routing Scheme


A
A

D
D
C1

B
B

C
A C C2 A C1

B D B-C2 D

ECE 256A 33 ECE 256A 34

L - Shaped Channel Routing Scheme Corner dependencies


C3

2 C2
C4
3 C5 C1
4

C1 vertically depends on C2
1
C2 horizontally depends on C3
2
C3 vertically depends on C4
Topological channel definition 3
1 C5 horizontally depends on C4
C4 is totally independent
4
There may not exist a totally independent corner.
Always there is either a vertically or horizontally
Geometrical channel definition
independent corner.
ECE 256A 35 ECE 256A 36

6
[13] K.J.Supowit, E.A. Slutz, “Placement Algorithms for
custom VLSI; DAC’83.
Channel model : A set of horizontal and vertical segments
which meet only at Y - interaction and partition a plane
into rectangles.

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.
ECE 256A 37

Вам также может понравиться