ECE 382V Fall 2005 VLSI Physical Design Automation - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

ECE 382V Fall 2005 VLSI Physical Design Automation

Description:

The routing regions are divided into channels and switchboxes. ... Place it on the bottommost available track above all its descendents in Gv. 24 ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 32
Provided by: Davi461
Category:

less

Transcript and Presenter's Notes

Title: ECE 382V Fall 2005 VLSI Physical Design Automation


1
ECE 382V Fall 2005 VLSI Physical Design
Automation
Lecture 21. Detailed Routing (I)
  • Prof. David Pan
  • dpan_at_ece.utexas.edu
  • Office ACES 5.434

2
After Global Routing Detailed Routing
  • The routing regions are divided into channels and
    switchboxes.
  • So only need to consider the channel routing
    problem and the switchbox routing problem.

A
B
3
Channel Routing for Different Styles
  • For Gate-array design, channel widths are fixed.
    The goal is to finish routing of all the nets.
  • For Standard-cell and Full-custom design,
    channels are expandable. The goal is to route all
    nets using the minimum channel width.
  • We will consider the case when the channels are
    expandable.

4
Channel Ordering
A
The width of A is not known until A is routed, we
must route A first.
B
B
What should be the routing order for this example?
A
D
C
5
Channel Ordering
No feasible channel order!
Need to use switchbox
C
D
C
D
B
B
A
A
1. Fix the terminals between A B 2. Route B, C,
then D (channel) 3. Route A (switchbox)
6
Routing Grid Models
Grid-based Routing
Gridless Routing
  • Grid-based model is the most commonly used.
  • We will focus on it in this course.

7
Channel Routing Terminology
Terminals
Via
Upper boundary
Tracks
Dogleg
Lower boundary
Trunks
Branches
8
Routing Layer Models
1 layer
HV model
VH model
2 layers
Layer 1
Layer 2
Layer 3
Via
HVH model
VHV model
3 layers
9
Channel Routing Problem
  • Input
  • Two vectors of the same length to represent the
    pins on two sides of the channel.
  • Number of layers and layer model used.
  • Output
  • Connect pins of the same net together.
  • Minimize the channel width.
  • Minimize the number of vias.

10
Channel Routing Problem
1
3
0
0
2
1
1
0
3
0
1
2
0
3
0
0
Example (13002110)
(30120300) where 0 no terminal
11
Constraint Graphs
0
1
6
1
2
3
5
0
1
6
1
2
3
5
1
2
3
4
5
6
6
3
5
4
0
2
4
6
3
5
4
0
2
4
6
5
1
1
2
5
3
4
4
3
6
2
Horizontal constraint graph
Vertical constraint graph
12
Lower Bound on Channel Width
0
1
6
1
2
3
5
6
3
5
4
0
2
4
0
1
6
1
2
3
5
1
2
3
Channel density Maximum local density
4
5
6
6
3
5
4
0
2
4
Local density
1
3
4
4
4
4
2
Lower bound 4
Lower bound on channel width Channel density
13
Left-edge Channel Routing Algorithm
  • Wire Routing by Optimizing Channel
  • Assignment within Large Apertures, A. Hashimoto
    and J. Stevens, DAC 1971, pages 155-169.

14
Features of Left-edge Algorithm
  • Assumptions
  • One horizontal routing layer
  • No vertical constraint, e.g., VHV model
  • Always gives a solution with channel width equal
    channel density, i.e., optimal solution.

0
0
0
2
0
1
0
Vertical constraint may occur here.
2
1
0
1
0
0
0
2
0
15
Left-edge Algorithm
  • 1. Sort the horizontal segments of the nets in
    increasing order of their left end points.
  • 2. Place them one by one greedily on the
    bottommost available track.

16
Channel Density
a
a
  • Local density at column C
  • ld(C) nets split by column C
  • Channel Density
  • d max ld( C )
  • all C
  • Each net spans over an interval
  • Horizontal Constraint Graph(HCG)
  • node net
  • edge two intervals intersect
  • Size of max clique in HCG channel density
  • A lower bound
  • tracks ? channel density

a
f
e
b
c
d
a
ld(x)
a
f
b
e
d
c
17
Interval Packing
  • Thm If the density of a set of intervals is d,
    then they can be packed into d tracks.
  • Proof I1(a,b) I2(c,d)
  • Define I1ltI2 iff bltc or I1I2
  • reflective I1ltI1
  • anti-symmetric I1ltI2, I2ltI1 ? I1I2
  • transitive I1ltI2, I2ltI3 ? I1ltI3
  • The interval set with binary relation lt forms a
    partially ordered set (POSET)!!
  • Intervals in a track? they form a chain
  • Intervals intersecting a common column ?
    anti-chain
  • Dilworths theorem (1950) If the max anti-chain
    of a POSET is d, then the POSET can be
    partitioned into d chains

I6
I5
I4
I3
I2
I1
c
a
b
d
I5
I2
I6
I4
I1
I3
18
Left-Edge Algorithm for Interval Packing
Repeat create a new track t Repeat put leftmost
feasible interval to t until no move feasible
interval until no move interval
Interval are sorted according to their left
endpoints
I6
I6
I5
I1
I5
I4
I3
I4
I2
I3
I1
I2
O(nlogn) time algorithm. Greedy algorithm works!
19
Left-edge Algorithm Example
0
1
6
1
2
3
5
6
3
5
4
0
2
4
1. Sort by left end points.
2. Place nets greedily.
0
1
6
1
2
3
5
0
1
6
1
2
3
5
6
1
3
5
4
2
6
3
5
4
0
2
4
6
3
5
4
0
2
4
20
Vertical Constraint Consideration
  • The Left-edge algorithm ignores vertical
    constraints.
  • When there is only one vertical layer, the
    algorithm will produce overlapping of vertical
    wire segments.

0
1
6
1
2
3
5
6
3
5
4
0
2
4
21
Lower Bound on Channel Width
0
1
6
1
2
3
5
6
3
5
4
0
2
4
6
Length of the longest path in the vertical
con- straint graph
1
5
3
4
2
Lower bound 3
22
Lower Bound on Channel Width
23
Constrained Left-edge Algorithm
  • Consider vertical constraints.
  • Similar to the Left-edge algorithm.
  • Modifications Place a horizontal segment only if
    it does not have any unplaced descendants in the
    vertical constraint graph Gv. Place it on the
    bottommost available track above all its
    descendents in Gv.

24
Constrained Left-edge Algorithm
6
1
0
1
6
1
2
3
5
5
3
4
6
3
5
4
0
2
4
2
Vertical constraint graph
1. Sort the left end points.
2. Place nets greedily.
0
1
6
1
2
3
5
0
1
6
1
2
3
5
6
1
3
5
4
2
6
3
5
4
0
2
4
6
3
5
4
0
2
4
25
Cycles in Vertical Constraint Graph
  • If there is cycle in the vertical constraint
    graph, the channel is not routable.
  • Dogleg can solve the problem.

1
2
1
0
Vertical constraint graph
2
0
1
2
2
1
0
2
0
1
26
Reduce Channel Width by Dogleg
  • Even without cycle in the VCG, Dogleg is useful
    because it can reduce channel width.

Without dogleg
With dogleg
1
1
2
2
0
???
0
2
0
3
3
27
Deutchs Dogleg Algorithm
  • Split each multi-terminal net into several
    horizontal segments.
  • Split only at columns that contain a pin of the
    net, i.e., using restricted dogleg only.
  • Apply the Constrained Left-edge algorithm.

Restricted dogleg
Unrestricted dogleg
1
1
2
2
0
1
1
0
2
0
0
2
0
3
3
0
2
0
3
3
28
Deutchs Dogleg Algorithm
1
1
2
0
2
3
Vertical constraint graph
1
1
2
3
3
2
4
4
2
3
0
3
4
4
Routing without dogleg? Vertical constraint
graph after splitting? Routing with dogleg?
29
Deutchs Dogleg Algorithm
1
1
2
0
2
3
Vertical constraint graph after splitting
1
2a
2b
???
3a
3b
4
2
3
0
3
4
4
Without dogleg
By Deutchs Dogleg alg.
???
???
30
Drawbacks of the ConstrainedLeft-edge Algorithm
0
0
1
3
3
0
Vertical constraint graph
1
3
2
1
2
0
0
2
0
There is a better solution...
31
Drawbacks of the ConstrainedLeft-edge Algorithm
Whats wrong with the Constrained
Left-edge algorithm? The Constrained Left-edge
algorithm does not take care of the vertical and
horizontal constraints together optimally.
Write a Comment
User Comments (0)
About PowerShow.com