Document 7636512

Download Report

Transcript Document 7636512

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

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 nonoverlapping intervals to the second track.

The iterative process continues till all the nets are
assigned to tracks in the channel.
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 v
6
spvi →span of a net ni.
5
zdvi→ zonal density of a vertex v . 3
I3
I1
I2
I4
4
I5
1
I7
I6
2
7
For the following channel
TOP:
31300560300
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
3
0
0
1
2
4
2
4
1
5
7
0
7
6
The TAH Algorithm
3
1
3
0
0
5
6
0
3
0
0
I3
I1
I2
I4
I7
I5
I6
1
2
4
2
 The
4
1
5
7
0
7
Channel contains total 7 nets.
 Density of this channel is dmax = 4.
6
1
6
2
3
3
7
4
4
6
5
HNCG(G*)
5
1
7
2
VCG
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

Executing the Algorithm Steps: S1={3,6,7}

Iteration-1 As, dmax=vmax=4. So case II
and S3={6} [As S3={vi| htvi=vmax}]
6
Step E for vertex 6 < od6,1,sp6> is <1,1,4>.
C1={6}.
Step F limitvi=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.
So ,
Now, ht3=3,ht6=4 ,ht7=1; zd3=4,zd6=3,zd7=3 and
sp3=8,sp6=4, sp7=2 So,
6:<1,4,3,4> 7: <1/4,1,3,2>
3:<1/2,3,4,8>
So,C2={6}.
3
4
5
1
2
7
Step G In 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.
3
1
3
0
0
5
6
0
3
0
0
I3
I1
I2
I4
1
2
4
2
I7
I5
4
1
5
7
0
Density of this channel is dmax = 4.
7
6
1
2
3
3
7
4
5
1
7
4
5
HNCG(G*)
2
VCG
Vmax =3
Executing the Algorithm Steps: S1={3,5,7}

Iteration-2 Now , dmax>vmax. So case I. and S2={1,2,3,4}
Step A Now, S1 S2={3}
for vertex 3 < cn3,1,sp3> is <1,1,8>.
3
5
C1={3}.
4
1
7
Step B limitvi=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
2
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 ,
So,
3:<1,4,3,8>;
5:<1,3,3,1>
So,C2={3}.
7: <1/2,2,1,2>
Step C In 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.
3
1
3
0
0
5
6
0
3
0
0
I1
I2
I4
1
2
4
2
I7
I5
4
1
5
7
0
Density of this channel is dmax = 3.
7
6
1
2
5
7
4
1
4
2
5
HNCG(G*)
VCG
Vmax =3
Now again dmax=vmax i.e.,case II
7
Now the final routing solution using TAH framework
for VH routing is
3
1
3
0
0
5
6
0
3
0
0
1
2
4
2
4
1
5
7
0
7
6
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)).
Thank You