A Framework for Track Assignment Presented by: Kaiser Newaj Asif 0409052040 Multi-Layer Routing (Extensions of the TAH Framework)

Slides:



Advertisements
Similar presentations
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
Advertisements

VLSI DESIGN & COMPARABILITY GRAPHS By Deepak Katta.
An Introduction to Channel Routing
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Greed is good. (Some of the time)
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Chapter 3 The Greedy Method 3.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Sub Graph Listing محمد مهدی طالبی دانشگاه صنعتی امیرکبیر.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Multi-Layer Channel Routing Complexity and Algorithm - Rajat K. Pal Md. Jawaherul Alam # P Presented by Section 5.3: NP-completeness of Multi-Layer.
Multi-Layer Channel Routing Complexity and Algorithms Rajat K. Pal Annajiat Alim Rasel CSE 6404 VLSI Layout Algorithms Page.
Definition Hamiltonian graph: A graph with a spanning cycle (also called a Hamiltonian cycle). Hamiltonian graph Hamiltonian cycle.
Approximation Algorithms
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE
Computational Complexity of Approximate Area Minimization in Channel Routing PRESENTED BY: S. A. AHSAN RAJON Department of Computer Science and Engineering,
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Zulfiquer Md. Mizanur Rhaman Student # p.
ECE Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing.
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student #
A Specialized A* Algorithm. Specialized A* Algorithm As soon as a goal node is found, we may stop and return an optimal solution. In ordinary A* algorithm,
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
Chapter 5: Computational Complexity of Area Minimization in Multi-Layer Channel Routing and an Efficient Algorithm Presented by Md. Raqibul Hasan Std No.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
General Routing Overview and Channel Routing
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each decision is locally optimal. These.
1 Combinatorial Algorithms Parametric Pruning. 2 Metric k-center Given a complete undirected graph G = (V, E) with nonnegative edge costs satisfying the.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
Spanning Trees CSIT 402 Data Structures II 1. 2 Two Algorithms Prim: (build tree incrementally) – Pick lower cost edge connected to known (incomplete)
1 Minimum Spanning Trees (some material adapted from slides by Peter Lee, Ananda Guna, Bettina Speckmann)
Dynamic Programming - II. Integer Knapsack Problem
Distributing Chemical Compounds in Refrigerators using interval graphs
Minimum Spanning Trees CSE 373 Data Structures Lecture 21.
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Topics In Social Computing (67810) Module 1 (Structure) Centrality Measures, Graph Clustering Random Walks on Graphs.
Combinatorial Counting
Scheduling Determines the precise start time of each task.
Power Systems Network and Clique Decomposition
VLSI Physical Design Automation
Multi-Layer Channel Routing Complexity and Algorithms
Topological Sort (topological order)
Short paths and spanning trees
Prepared by Chen & Po-Chuan 2016/03/29
CSCE350 Algorithms and Data Structure
By Santhosh Reddy Katkoori
Iterative Deletion Routing Algorithm
CSE 373 Data Structures and Algorithms
Optimal Non-Manhattan Bubble Sort Channel Router
R. Johnsonbaugh Discrete Mathematics 5th edition, 2001
Minimum Spanning Tree Algorithms
Richard Anderson Autumn 2016 Lecture 7
Detailed Routing مرتضي صاحب الزماني.
Minimum Spanning Tree.
Minimum Spanning Trees
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
離散數學 DISCRETE and COMBINATORIAL MATHEMATICS
VLSI Physical Design Automation
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Richard Anderson Winter 2019 Lecture 6
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Concepts of Computation
CS 173, Lecture B Tandy Warnow
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

A Framework for Track Assignment Presented by: Kaiser Newaj Asif Multi-Layer Routing (Extensions of the TAH Framework)

For channel TOP: BOTTOM: The routing solution using TAH framework for VH routing is

Multi-Layer Routing For multi-layer V i H i, 2 ≤ i < d max and V i H i+1, 2 ≤ i < d max - 1 routing minimum number of tracks t is calculated at first, t = ceil(d max /i) for V i H i t = ceil(d max /(i + 1)) for V i H i+1

For channel TOP: BOTTOM: HCG HNCG d max = 4 For 4 layer routing i = 2, t = ceil(4/2) = 2

For channel TOP: BOTTOM: VCG Stage 1 If VCG is acyclic then nets in t(i-1) tracks of first (i-1) layers are assigned using MCC1 or MCC2

For channel TOP: BOTTOM: VCG Stage 1 Let us make the VCG cyclic 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.

For channel TOP: BOTTOM: VC’ Stage 1 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.

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: Stage G*

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 Stage VC” HNCG

step 1: S1 = { v i | idv i = 0 } = {2, 4, 5, 7} d max = 2 {2,4} > v max (=0) step 2: S2 = {2,4}, each belongs to a maximum independent set step 3: compute clique in S1∩S2 = {2,4} Stage VC” HNCG

step 3: compute clique using weight. cn 2 = 1, cn 4 = 1, sp 2 = 2, sp 4 = 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 is computed for vertices in S1. Stage VC” HNCG

step 4: limit vi = max(d max, v max ) – ht vi + 1 limit 4 = limit 5 = limit 7 = 2 – = 3 f(t) vi = (t – dp vi + 1)/(limit vi – dp i + 1) For 1 st track, t = 1 f(1) 4 = f(1) 5 = f(1) 7 = (1 – 0 + 1)/(2 – 0 + 1) = 2/3 Stage VC” HNCG

step 4: zd 4 = 2, zd 5 = 3, zd 7 = 3. ht 4 = ht 4 = ht 4 = 0 sp 4 = 2, sp 5 = 1, sp 7 = 2 Stage VC” HNCG 7: 5: 4: C2 = {2, 7, 5}

step 5: in step 3 span usage (sp vi ) by a net was maximized, now it is checked with minimizing, so the weights are 2: 4:. So, again let’s pick C3 = {2}. step 6: similar to step 4, so, C4 = {2, 7, 5} Stage VC” HNCG

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. Stage VC” HNCG

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 Stage 3

Finally,