110 likes | 279 Views
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing). -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE 04080541. Abstract. We need Routing solution Using minimum number of tracks Feasible routing solutions were minimum clique cover (MCC1, MCC2)
E N D
A General Framework for Track Assignment in Multilayer Channel Routing(Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE 04080541
Abstract • We need Routing solution • Using minimum number of tracks • Feasible routing solutions were minimum clique cover (MCC1, MCC2) • Channels with cyclic vertical constraints cannot be routed in VH and HVH routing models • Now we need heuristic algorithm • (TAH) Track Assignment Heuristic • Nets don’t induce cycles, are assigned to extreme horizontal layer(s), track by track just done in two layer algorithm. • Remaining sets of nets are assigned to other horizontal layers flanked by vertical layers using either MCC1 or MCC2. • Used for two layer routing solution, Three layer HVH CRP etc. • Extension of TAH framework (Algorithm) • For two and three layer no-dogleg routing • To multilayer ViHi, (2 ≤ i < dmax) routing model • and ViHi+1,(2 ≤ i < dmax -1) routing model
TAH (Track Assignment Heuristic) • Efficient Polynomial time heuristic algorithm for CRP (Channel Routing Problem) • Runs in O(k(n+e)) time, k= no. of tracks, n= no. of nets, e= size of HNCG • Polynomial time Heuristic algorithm- • produce an acceptable solution to a problem in many practical scenarios • in the fashion of a general heuristic • there is no formal proof of its correctness. • CRP • is a problem of computing a feasible route for nets • The number of tracks required (channel area) is minimized • Horizontal non Constraint Graph (HCNG) is used • Complement of HCG, HC = (V,E), by HNC = (V, E) • Horizontal wire segments of a net vertices in HNCG are non overlapping – so, may be safely assigned to same track.
TAH (Cont.) • If t is 1 (t = no. of tracks) • TAH terminates by assigning nets to horizontal layers following MCC1 or MCC2 • If t > 1 • The algorithm assigns nets to different tracks in • Stage 1: • Stage 2: • Stage 3:
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 5 7 3 1 6 4 2 VCG If VCG is acyclic then nets in t(i-1) tracks of first (i-1) layers are assigned using MCC1 or MCC2
Stage 1 (cont.) 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 5 7 3 1 6 4 2 Let us make the VCG cyclic VCG 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.
Stage 1 (cont.) 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 5 1 4 6 7 2 VC’ 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 When D is exhausted the rest of the VC’ are assigned according to MCC1 or MCC2.
Stage 2 -If all the nets are not assigned in stage 1 TAH framework is used for assignment of nets to the t tracks of the extreme layers. -Nets outside D are assigned to extreme layers in this stage. And if D is not empty that is dealt in next stage. 2 7 5 7 4 4 5 2 HNCG VC”
Stage 3 If after stage 1 and 2, tracks are already filled up then this stage occurs. • Then unassigned nets are assigned iteratively track by track. • For example, there are unassigned nets from the set D. These nets are assigned to the flanked layers using TAH frame work as in stage 1. • If already all nets in D are assigned then the only remaining nets (or a subset of nets) are those in VC”; MCC1 or MCC2 are applied for assignment of nets to flanked layers and use the TAH framework for assignment of nets to the extreme layer(s).
Criticism • The novel feature is that • The realization of a class heuristics for track assignment into a graph theoretic optimization problem. • Weights to vertices are assigned corresponding to intervals and used the maximum weighted clique algorithm. • These weights are tuples that encode the class of heuristics in a logical sequence of priority. • It is possible to easily incorporate new heuristics for track assignment by defining appropriate sets of tuple weights. • Backtracking is not used here, rather it computes optimal or near optimal routing solutions for most of the benchmark channels.