Download presentation
Presentation is loading. Please wait.
1
VLSI Physical Design Automation
Detailed Routing (I) Prof. David Pan 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
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 VH model HV model 2 layers Layer 1
Via VHV model HVH 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 2 1 1 3 1 2 3 Example: ( ) ( ) where 0 = no terminal
11
Constraint Graphs 1 6 1 2 3 5 1 6 1 2 3 5 1 2 3 4 5 6 6 3 5 4 2 4 6 3 5 4 2 4 6 1 5 2 1 5 3 4 4 3 6 2 Vertical constraint graph Horizontal constraint graph
12
Lower Bound on Channel Width
1 6 1 2 3 5 6 3 5 4 2 4 1 6 1 2 3 5 1 2 3 Channel density = Maximum local density 4 5 6 6 3 5 4 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
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. 2 1 Vertical constraint may occur here. 2 1 1 2
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 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 a a f e b c d a ld(x) a f b e c d
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: I1<I iff b<c or I1=I2 reflective: I1<I1 anti-symmetric: I1<I2, I2<I1 I1=I2 transitive: I1<I2, I2<I3 I1<I3 The interval set with binary relation < forms a partially ordered set (POSET)!! Intervals in a track they form a chain Intervals intersecting a common column anti-chain Dilworth’s 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 a b c d I5 I2 I6 I4 I1 I3
18
Left-Edge Algorithm for Interval Packing
Repeat create a new track t 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 I3 I4 I2 I1 I2 O(nlogn) time algorithm. Greedy algorithm works!
19
Left-edge Algorithm: Example
1 6 1 2 3 5 6 3 5 4 2 4 1. Sort by left end points. 2. Place nets greedily. 1 6 1 2 3 5 1 6 1 2 3 5 6 1 5 3 3 1 2 5 6 4 4 2 6 3 5 4 2 4 6 3 5 4 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. 1 6 1 2 3 5 6 3 5 4 2 4
21
Lower Bound on Channel Width
1 6 1 2 3 5 6 3 5 4 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 6 1 2 3 5 1 5 3 4 6 3 5 4 2 4 2 Vertical constraint graph 1. Sort the left end points. 2. Place nets greedily. 1 6 1 2 3 5 1 6 1 2 3 5 6 1 1 3 3 6 2 5 5 4 4 2 6 3 5 4 2 4 6 3 5 4 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 1 2 Vertical constraint graph 2 1 2 1 2 2 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 ??? 2 3 3
27
Deutch’s 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 1 1 2 2 3 3 2 3 3
28
Deutch’s Dogleg Algorithm
1 1 2 2 3 Vertical constraint graph 1 1 2 3 2 3 4 4 2 3 3 4 4 Routing without dogleg? Vertical constraint graph after splitting? Routing with dogleg?
29
Deutch’s Dogleg Algorithm
1 1 2 2 3 Vertical constraint graph after splitting 1 2a 2b ??? 3a 3b 4 2 3 3 4 4 Without dogleg By Deutch’s Dogleg alg. ??? ???
30
Drawbacks of the Constrained Left-edge Algorithm
1 3 3 Vertical constraint graph 1 3 2 1 2 2 1 3 2 By Constrained Left- edge algorithm There is a better solution...
31
Drawbacks of the Constrained Left-edge Algorithm
What’s wrong with the Constrained Left-edge algorithm? The Constrained Left-edge algorithm does not take care of the vertical and horizontal constraints together optimally.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.