GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider.

Slides:



Advertisements
Similar presentations
Single Source Shortest Paths
Advertisements

Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
Weighted graphs Example Consider the following graph, where nodes represent cities, and edges show if there is a direct flight between each pair of cities.
~1~ Infocom’04 Mar. 10th On Finding Disjoint Paths in Single and Dual Link Cost Networks Chunming Qiao* LANDER, CSE Department SUNY at Buffalo *Collaborators:
The Greedy Approach Chapter 8. The Greedy Approach It’s a design technique for solving optimization problems Based on finding optimal local solutions.
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
 2004 SDU Lecture11- All-pairs shortest paths. Dynamic programming Comparing to divide-and-conquer 1.Both partition the problem into sub-problems 2.Divide-and-conquer.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Chapter 3 The Greedy Method 3.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Applied Discrete Mathematics Week 12: Trees
MCFRoute: A Detailed Router Based on Multi- Commodity Flow Method Xiaotao Jia, Yici Cai, Qiang Zhou, Gang Chen, Zhuoyuan Li, Zuowei Li.
CSC 2300 Data Structures & Algorithms April 17, 2007 Chapter 9. Graph Algorithms.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
CSE 421 Algorithms Richard Anderson Dijkstra’s algorithm.
Karsten Steinhaeuser Aaron Wenger December 09, 2003.
VLSI Routing. Routing Problem  Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect.
Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand.
Global Routing Prof. Shiyan Hu Office: EERC 731.
Midterm 3 Revision Prof. Sin-Min Lee Department of Computer Science San Jose State University.
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 18. Global Routing (II)
1 Shortest Path Algorithms. 2 Routing Algorithms Shortest path routing What is a shortest path? –Minimum number of hops? –Minimum distance? There is a.
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
Quickest Route B St Li C La time matrix (minutes) Liskeard Launceston Callington St Austell Bodmin 32 What is the quickest route from.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
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.
Using Dijkstra’s Algorithm to Find a Shortest Path from a to z 1.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Shortest Path. Dijkstra’s Algorithm finds the shortest path from the start vertex to every other vertex in the network. We will find the shortest path.
Dijkstras Algorithm Named after its discoverer, Dutch computer scientist Edsger Dijkstra, is an algorithm that solves the single-source shortest path problem.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Shortest Path Problems Dijkstra’s Algorithm. Introduction Many problems can be modeled using graphs with weights assigned to their edges: Airline flight.
Flows in Planar Graphs Hadi Mahzarnia. Outline O Introduction O Planar single commodity flow O Multicommodity flows for C 1 O Feasibility O Algorithm.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
SPANNING TREES Lecture 20 CS2110 – Fall Spanning Trees  Definitions  Minimum spanning trees  3 greedy algorithms (incl. Kruskal’s & Prim’s)
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
SPANNING TREES Lecture 21 CS2110 – Fall Nate Foster is out of town. NO 3-4pm office hours today!
Prof. Shiyan Hu Office: EERC 518
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘length’ c ij (cost, time, distance, …). Determine a path of shortest.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
مرتضي صاحب الزماني 1 Maze Routing. Homework 4 مهلت تحویل : 23 اردیبهشت پروژه 1 : انتخاب طرح : امروز مرتضي صاحب الزماني 2.
1 GRAPHS – Definitions A graph G = (V, E) consists of –a set of vertices, V, and –a set of edges, E, where each edge is a pair (v,w) s.t. v,w  V Vertices.
VLSI Physical Design Automation
VLSI Physical Design Automation
Shortest Path Problems
CS330 Discussion 6.
Decision Maths Dijkstra’s Algorithm.
Shortest Path.
Shortest Path.
A* Path Finding Ref: A-star tutorial.
CSE 373: Data Structures and Algorithms
Floyd’s Algorithm (shortest-path problem)
All pairs shortest path problem
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
離散數學 DISCRETE and COMBINATORIAL MATHEMATICS
Shortest Path.
Shortest Path Solutions
ICS 252 Introduction to Computer Design
Under a Concurrent and Hierarchical Scheme
More Graphs Lecture 19 CS2110 – Fall 2009.
Presentation transcript:

GLOBAL ROUTING Anita Antony PR11EC1011

Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider all nets simultaneously. – Can be formulated as an integer program

LINE PROBE ALGORITHM Gridless - store list of lines and obstructions -sorted lists of vertical and horizontal lines

Mikami+Tabuchi’s algorithm Let S and T denote a pair of terminals to be connected. Step 1: Generate four lines (two horizontal and two vertical) passing through S and T. Extend these lines till they hit obstructions or the boundary of the layout. If a line generated from S intersects a line generated from T, then a connecting path is found.

If they do not intersect, they are identified as trial lines of level zero. Stored in temporary storage for further processing Step i of Iteration: Pick up trial lines of level i, one at a time o Along the trial line, all its grid points are traced o Starting from these grid points to the trial line of level I,i+1 levels are generated perpendicular to the trial line of level i

If a trial line of level i+1 intersects a trial line (of any level)from the other terminal point, the connecting path can be found. o By back tracing from the intersection point to S and T. o Otherwise, all trial lines of level (i+1) are added to temporary storage, and the procedure repeated

Mikami & Tabuchi’s Algorithm

Line Probing Keep two lists of line segments, slist and tlist, for the source and the target respectively. If a line segment from slist intersects with one from tlist, a route is found; else, new line segments are generated from the escape points. S T slist tlist Intersection

Line Probing We can use all the grid vertices on the line segments as escape points: Always find a path but may not be optimal. S T Escape point Iteration number

Will find the path if it exists, not guaranteed to find the shortest path Time and space complexity: O(L), where L is the number of line segments

Hightower’s Algorithm

Line Probing We can pick just one escape point from each line segment. May fail to find a path even if one exists. S T Escape point Iteration number

Advantages small memory requirements - no grid store sorted lists of vertical and horizontal segments fast

Shortest Path Based Algorithms For 2-terminal nets only. Use Dijkstra ’ s algorithm to find the shortest path between the source s and the sink t of a net. Different from Maze Routing: – The graph need not be a rectangular grid. – The edges need not be of unit length.

Dijkstra’s Shortest Path Algorithm Label of vertices = Shortest distance from S. Let P be the set of permanently labeled vertices. Initially, – P = Empty Set. – Label of S = 0, Label of all other vertices = infinity. While (T is not in P) do – Pick the vertex v with the min. label among all vertices not in P. – Add v to P. – Update the label for all neighbours of v.

Dijkstra’s Algorithm: Example S B T A C S B T A C S B T A C S B T A C S B T A C S B T A C P (Permanently Labeled) Min. Label Vertex

Concurrent Approach Consider all the nets simultaneously. Formulate as an integer program. Given: L ij = Total wire length of T ij C e = Capacity of edge e x i j = No of nets which are routed using T ij Determine variable x ij s.t. x ij = 1 if T ij is used x ij = 0 otherwise. T n1, T n2,..., T nk n net n :::: :::: T 11, T 12,......, T 1k 1 net 1 Set of possible routing treesNets

Integer Program Formulation

Hierarchical Approach Large Integer Programs are difficult to solve. Decompose recursively in a top-down fashion. Those 2x2 routing problems can be solved optimally by integer programming formulation.

Hierachical Approach: Example Solving a 2xn routing problem hierarchically. Level 1 Level 2 Level 3 Solution:

Types of 2x2 Routing Problems Type 1 Type 7 Type 2 Type 3 Type 4 Type 5 Type 6 Type 8 Type 9 Type 10 Type 11