170 likes | 329 Vues
A Framework for Track Assignment. Multi-Layer Routing (Extensions of the TAH Framework). Presented by: Kaiser Newaj Asif 0409052040. For channel TOP: 3 1 3 0 0 5 6 0 3 0 0 BOTTOM: 1 2 4 2 4 1 5 7 0 7 6 The routing solution using TAH framework for VH routing is. 3. 1. 3. 0. 0. 5.
E N D
A Framework for Track Assignment Multi-Layer Routing (Extensions of the TAH Framework) Presented by: Kaiser Newaj Asif 0409052040
For channel TOP: 3 1 3 0 0 5 6 0 3 0 0 BOTTOM: 1 2 4 2 4 1 5 7 0 7 6 The routing solution using TAH framework for VH routing is 3 1 3 0 0 5 6 0 0 0 3 1 2 4 2 4 1 5 7 7 6 0
Multi-Layer Routing For multi-layer ViHi, 2 ≤ i < dmax and ViHi+1, 2 ≤ i < dmax - 1 routing minimum number of tracks t is calculated at first, t = ceil(dmax/i) for ViHi t = ceil(dmax/(i + 1)) for ViHi+1
For channel TOP: 3 1 3 0 0 5 6 0 3 0 0 BOTTOM: 1 2 4 2 4 1 5 7 0 7 6 1 1 dmax = 4 For 4 layer routing i = 2, t = ceil(4/2) = 2 2 2 7 7 3 3 6 6 4 4 5 5 HCG HNCG
Stage 1 For channel TOP: 3 1 3 0 0 5 6 0 3 0 0 BOTTOM: 1 2 4 2 4 1 5 7 0 7 6 If VCG is acyclic then nets in t(i-1) tracks of first (i-1) layers are assigned using MCC1 or MCC2 6 3 5 7 1 4 2 VCG
Stage 1 For channel TOP: 3 1 3 2 0 5 6 0 3 0 0 BOTTOM: 1 2 4 3 4 1 5 7 0 7 6 Let us make the VCG cyclic 6 Then a cycle is detected and a vertex with maximum adjacency number is deleted, here 3 (or 1), and that vertex is added to a set D. This process continues until the graph becomes acyclic. 3 5 7 1 4 2 VCG
Stage 1 For channel TOP: 3 1 3 2 0 5 6 0 3 0 0 BOTTOM: 1 2 4 3 4 1 5 7 0 7 6 D = { } the nets in set D are assigned to t(i-1) tracks with higher priority according to TAH framework, while the rest nets are assigned normal weights. 3 6 5 7 1 4 2 VC’
Stage 1 When D is exhausted the rest of the VC’ are assigned according to MCC1 or MCC2. Net 3 is assigned alone to a track by TAH. Then the sorted intervals and transitively oriented graph G* are as follows: 3 1 3 0 0 5 6 0 0 0 1 3 2 1 7 2 4 5 6 6 7 4 5 1 2 4 2 4 1 5 7 7 6 0 G*
Stage 2 Nets outside D are assigned to extreme layers in this stage. And if D is not empty that is dealt in next stage. In our example i = 2, so, all (i – 1) layers are assigned nets. In the extreme layers the rest of VC’, VC” are assigned according to TAH 2 7 5 7 4 4 5 2 HNCG VC”
Stage 2 step 1: S1 = { vi | idvi = 0 } = {2, 4, 5, 7} dmax = 2 {2,4} > vmax (=0) step 2: S2 = {2,4}, each belongs to a maximum independent set step 3: compute clique in S1∩S2 = {2,4} 2 7 5 7 4 4 5 2 HNCG VC”
Stage 2 step 3: compute clique using weight <cnvi, 1, spvi>. cn2 = 1, cn4 = 1, sp2 = 2, sp4 = 2. Let’s pick net 2. C1 = {2}. step 4: extend C1 to C2 such that C2 is a subset of S1. To do that <f(t)vi, zdvi, htvi, spvi> is computed for vertices in S1. 2 7 5 7 4 4 5 2 HNCG VC”
Stage 2 step 4: <f(t)vi, zdvi, htvi, spvi>limitvi = max(dmax, vmax) – htvi + 1limit4 = limit5 = limit7 = 2 – 0 + 1 = 3f(t)vi = (t – dpvi + 1)/(limitvi – dpi + 1)For 1st track, t = 1 f(1)4 = f(1)5 = f(1)7 = (1 – 0 + 1)/(2 – 0 + 1) = 2/3 2 7 5 7 4 4 5 2 HNCG VC”
Stage 2 <f(t)vi, zdvi, htvi, spvi>7: < 2/3, 3, 0, 2>5: < 2/3, 3, 0, 1>4: < 2/3, 2, 0, 2> step 4: <f(t)vi, zdvi, htvi, spvi>zd4 = 2, zd5 = 3, zd7 = 3.ht4 = ht4 = ht4 = 0 sp4 = 2, sp5 = 1, sp7 = 2 C2 = {2, 7, 5} 2 7 5 7 4 4 5 2 HNCG VC”
Stage 2 step 5: in step 3 span usage (spvi) by a net was maximized, now it is checked with minimizing, so the weights are <cnvi, 1, -spvi>2:<1, 1, -2> 4:<1, 1, -2>. So, again let’s pick C3 = {2}. step 6: similar to step 4, so, C4 = {2, 7, 5} 2 7 5 7 4 4 5 2 HNCG VC”
Stage 2 step 7: then the larger clique of C2 and C4 is assigned to track 1. Again the loop begins for track-2, and only remaining vertex 4 is assigned to it. 2 7 5 7 4 4 5 2 HNCG VC”
Stage 3 step 7: If after stage 1 and stage 2, there exist unassigned tracks then they are assigned iteratively track by track. Tracks in D (the deleted vertex set from cycles) are assigned in the flanked layers as in stage 1 using TAH Framework.Then the remaining nets are of VC”, and assigned to the flanked layers using MCC1 or MCC2, and to extreme layers using TAH Framework
3 1 3 2 0 5 6 0 0 0 3 Finally, 1 2 4 3 4 1 5 7 7 6 0 3 1 3 2 0 5 6 0 0 0 3 1 2 4 3 4 1 5 7 7 6 0