220 likes | 383 Views
Multi-Layer Channel Routing Complexity and Algorithms. Rajat K. Pal. Chapter 4. A General Framework for Track Assignment in Multi-Layer Channel Routing. Presented By- Sumaya Kazary Std. ID: 0409052009. TAH Basics.
E N D
Multi-Layer Channel RoutingComplexity and Algorithms Rajat K. Pal
Chapter 4 A General Framework for Track Assignment in Multi-Layer Channel Routing • Presented By- • Sumaya Kazary • Std. ID: 0409052009
TAH Basics • The Algorithm TAH assigns intervals to tracks from top to bottom in the presence of Vertical constraints. • In the first iteration, the algorithm assigns a set of non-overlapping intervals to the top most track. Then it delete the nets corresponding to these intervals from the channel. • In the second iteration, it assigns a set of non-overlapping intervals to the second track. • The iterative process continues till all the nets are assigned to tracks in the channel.
6 3 5 4 1 7 2 I3 I1 I2 I7 I5 I4 I6 Some Notations & a few definitions • dmax→channel density. • vmax→the length of the longest path in the VCG. • idvi→ indegree of vertex vi in the VCG. • dpvi→length of the longest path from a source to vi. • htvi→ length of the longest path from a sink vertex to vi. • spvi→span of a net ni. • zdvi→ zonal density of a vertex v.
For the following 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
I3 I1 I2 I7 I5 I4 I6 0 3 1 3 0 3 0 0 5 6 0 1 2 4 1 0 6 4 5 7 7 2 • The Channel contains total 7 nets. • Density of this channel is dmax = 4.
6 1 2 3 5 3 7 4 1 7 4 6 2 5 VCG HNCG(G*) Vmax =4
In the TAH algorithm ,for each iteration, certain no. of intervals are assigned in a track from top to bottom. • In each iteration ,it computes a clique such that there is no overlapped interval is present & assign it to a track. • At the beginning, it compares the channel density (dmax)and the longest path in the VCG(vmax). • Two cases may arise:- • dmax>vmax • dmax≤vmax
6 3 5 4 1 7 2 Executing the Algorithm Steps:S1={3,6,7} • Iteration-1As, dmax=vmax=4. So case II and S3={6} [As S3={vi| htvi=vmax}] Step Efor vertex 6 < od6,1,sp6> is <1,1,4>. So , Step Flimitvi=max(dmax,vmax)-htvi+1 wt:<f(t),ht,zd,sp> limit3=4-3+1=2>t .So,f(1)3=(1-1+1)÷(2-1+1)=1/2. limit6=4-4+1=1=t. So,f(1)6=1-1+1=1. limit7=4-1+1=4>t. So,f(1)7=(1-1+1)÷(4-1+1)=1/4. Now, ht3=3,ht6=4 ,ht7=1; zd3=4,zd6=3,zd7=3 and sp3=8,sp6=4, sp7=2 So, 3:<1/2,3,4,8> 6:<1,4,3,4> 7: <1/4,1,3,2> C1={6}. So,C2={6}.
Step GIn step E, span usage (spvi) by a net was maximized, now it is checked with minimizing, so the weights are <odvi, 1, -spvi>.In this case,6:<1, 1, -4> . So, again let’s pick C3 = {6}. Step H similar to step F, so, C4 = {6} So net 6 is assigned to track 1. Now, HNCG & VCG are rearranged excluding node 6 and its adjacent edges.
0 3 1 3 0 3 0 0 5 6 0 I3 I1 I2 I7 I5 I4 1 2 4 1 0 6 4 5 7 7 2 Density of this channel is dmax = 4.
1 2 3 5 3 7 4 1 7 4 5 2 VCG HNCG(G*) Vmax =3
3 5 4 1 7 2 Executing the Algorithm Steps:S1={3,5,7} • Iteration-2Now , dmax>vmax. So case I. and S2={1,2,3,4} Step ANow, S1 S2={3} for vertex 3 < cn3,1,sp3> is <1,1,8>. So , Step Blimitvi=max(dmax,vmax)-htvi+1 wt:<f(t),zd,ht,sp> limit3=4-3+1=2=t .So,f(2)3=2-2+1=1. zd3=4, ht3=3, sp3=8 limit5=4-3+1=2=t. So,f(2)5=2-2+1=1. zd5=3, ht5=3, sp5=1 limit7=4-1+1=4>t. So,f(2)7=(2-1+1)÷(4-1+1)=1/2. zd7=2, ht7=1, sp7=2 So, 3:<1,4,3,8>; 5:<1,3,3,1>7: <1/2,2,1,2> C1={3}. So,C2={3}.
Step CIn step A, span usage (spvi) by a net was maximized, now it is checked with minimizing, so the weights are <cnvi, 1, -spvi>.In this case,3:<1, 1, -8> . So, again let’s pick C3 = {3}. Step D Similar to step F, so, C4 = {3} So net 3 is assigned to track 2. Now, again HNCG & VCG are re-arranged excluding node 3 and its adjacent edges. And iteration 3 is proceed.
0 3 1 3 0 3 0 0 5 6 0 I1 I2 I7 I5 I4 1 2 4 1 0 6 4 5 7 7 2 Density of this channel is dmax = 3.
1 2 5 7 4 1 7 4 2 5 VCG HNCG(G*) Vmax =3 Now again dmax=vmax i.e.,case II
Now the final 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
Time complexity • For initial part ,time complexity-- • To compute the HNCG & G* is O(n+e). • To compute the VCG is O(n). • To compute the span of every interval is O(n). • htvi and dpvi is computed by 1 scan of VCG needs O(n). So,for initial part, it takes time O(n+e). • Each iteration part takes O(n+e). • If total track=k, then total time complexity of the algorithm is O(k(n+e)).