Академический Документы
Профессиональный Документы
Культура Документы
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
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
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
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
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
Channel Requirements
4 3 2 1
2
Lateral Rigidity
g y Pin Definition
A
non - feasible order feasible order
A
B
B
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
D
D
C1
B
B
C
A C C2 A C1
B D B-C2 D
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.