Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.

Slides:



Advertisements
Similar presentations
Informed search algorithms
Advertisements

Jecho and Donatus Depth First and Breadth First Search.
Problem solving with graph search
AI Pathfinding Representing the Search Space
Greedy best-first search Use the heuristic function to rank the nodes Search strategy –Expand node with lowest h-value Greedily trying to find the least-cost.
An Introduction to Channel Routing
Wen-Hao Liu1, Yih-Lang Li, and Cheng-Kok Koh Department of Computer Science, National Chiao-Tung University School of Electrical and Computer Engineering,
ICS-171:Notes 4: 1 Notes 4: Optimal Search ICS 171 Summer 1999.
CSE 380 – Computer Game Programming Pathfinding AI
Applications of Single and Multiple UAV for Patrol and Target Search. Pinsky Simyon. Supervisor: Dr. Mark Moulin.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Chapter 3 The Greedy Method 3.
ICS 252 Introduction to Computer Design Routing Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.
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.
ER UCLA UCLA ICCAD: November 5, 2000 Predictable Routing Ryan Kastner, Elaheh Borzorgzadeh, and Majid Sarrafzadeh ER Group Dept. of Computer Science UCLA.
Using Search in Problem Solving
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.
Physical Design Outline –What is Physical Design –Design Methods –Design Styles –Analysis and Verification Goal –Understand physical design topics.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
CISC220 Fall 2009 James Atlas Nov 13: Graphs, Line Intersections.
7/13/ EE4271 VLSI Design VLSI Routing. 2 7/13/2015 Routing Problem Routing to reduce the area.
General Routing Overview and Channel Routing
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
A Topology-based ECO Routing Methodology for Mask Cost Minimization Po-Hsun Wu, Shang-Ya Bai, and Tsung-Yi Ho Department of Computer Science and Information.
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
Busby, Dodge, Fleming, and Negrusa. Backtracking Algorithm Is used to solve problems for which a sequence of objects is to be selected from a set such.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Search: Heuristic &Optimal Artificial Intelligence CMSC January 16, 2003.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science.
Global Routing.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
COSC 2007 Data Structures II Chapter 14 Graphs III.
Maze Routing مرتضي صاحب الزماني.
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
Searching for Solutions
مرتضي صاحب الزماني 1 Detailed Routing. مرتضي صاحب الزماني 2 Greedy Routing “ A greedy channel router ”, Rivest, Fiduccia, Proceedings of the nineteenth.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
2/27/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (II)
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Fundamentals of Computer Networks ECE 478/578
Course 3 Binary Image Binary Images have only two gray levels: “1” and “0”, i.e., black / white. —— save memory —— fast processing —— many features of.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
EE4271 VLSI Design VLSI Channel Routing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
CSE 326: Data Structures Lecture #17 Heuristic Graph Search Henry Kautz Winter Quarter 2002.
VLSI Physical Design Automation
A vertex u is reachable from vertex v iff there is a path from v to u.
VLSI Physical Design Automation
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Algorithms for Exploration
Finding Heuristics Using Abstraction
Optimal Non-Manhattan Bubble Sort Channel Router
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
CO Games Development 1 Week 8 Depth-first search, Combinatorial Explosion, Heuristics, Hill-Climbing Gareth Bellaby.
Detailed Routing مرتضي صاحب الزماني.
Backtracking and Branch-and-Bound
CSE 373: Data Structures and Algorithms
VLSI Physical Design Automation
ICS 252 Introduction to Computer Design
Under a Concurrent and Hierarchical Scheme
Presentation transcript:

Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing

Maze Routing Place wires and components on grid –grid size = wire width + spacing –works best if all wire widths and spacings are equal –grid squares occupied Distance metric –each square has 4 neighbors unit cost away Search graph –node for each square –unit-cost edge to 4 neighboring nodes w+s

Maze Routing Shortest path search (Lee-Moore) –maintain leaf nodes of expansion tree –at each step add unexplored neighbors to list »with accumulated cost –stop when target vertex reached »backtrace for route Guaranteed to find shortest path –large memory requirements - the grid –long search time - number of vertices marked –local optimization - only routing one net at a time

Algorithm add source node S into list cost S = 0 for all nodes i on list if i == destination D pathcost = cost D break for j=N,S,E,W neighbors that are not visited and not occupied add node j to list cost j = cost i +1 mark i as visited remove node i from list while i != S do mark i as path i = min cost N,S,E,W visited neighbor

Maze Routing Avoiding blockage –wire at a time => can block wires Solutions –rip-up and re-route »remove wire(s) causing blockage »route blocked wire »route ripped up wires –shove-aside »add dummy grid lines »squeeze wire through A B AB A B AB A AB

Line Probe Routing Gridless - store list of lines and obstructions –sorted lists of vertical and horizontal lines Algorithm –from source and destination project 4 horizontal/vertical rays (probes) –if probes intersect, done - route wires from nodes to intersection –if probes blocked, choose escape point and send new probes »a point just past obstruction EE E A BE

Line Probe Routing Advantages –small memory requirements - no grid »store sorted lists of vertical and horizontal segments –fast »binary search of segments for blockage and escape points »# probes << # grid points –higher precision coordinates - no grid Disadvantages –serial wire at a time - blockages »similar rip-up and shove-aside approaches to cope –basic algorithm may not find route when one exists »need to try more escape points »degenerates to grid search

Channel Routing Channel –terminals on two sides of rectangle are fixed –horizontal wires on layer1 - trunks, which run in tracks –vertical wires on layer2 - branches, which run in columns Routing Problem –minimize number of tracks used => minimizes channel height –minimize wire lengths, vias –all wires routed at same time - better overall optimization A BA AB A track trunkbranch via dogleg

Channel Routing Left edge algorithm –one trunk per net –trunks on one layer, branches on other sort trunks by left edge scan trunks, put all that fit into first track allocate new tracks as necessary repeat scanning until done add vertical branches –ignores vertical constraints »can add doglegs later »may need more tracks –advantage »minimum wire length, vias –not very optimal »31 tracks on “Deutsch’s difficult example” »density is 19 tracks B A A B B A A B

Channel Routing Greedy algorithm –route column by column rather than track by track –scan left-right by column –at each track apply heuristics to bring new nets to an existing trunk, and move nets between tracks »greedy - at each column try to minimize tracks and minimize distance to terminals –can often use exhaustive search »number of tracks in a column is small - < 100 –good results, but lots of vias »lots of track to track movement for each net

Algorithm for each column for each terminal bring in branch connect to trunk if it exists create trunk at first empty track otherwise create new track move between tracks using heuristics collapse nets to fewer trunks with spare branch space reduce distance between net trunks move nets towards next terminal connect multiple trunks for a net at end of channel B BA A

Pattern Channel Routers Slide window along channel –recognize patterns of terminals and occupiedGet more optimal results –doglegs Challenge –developing rule set Problem: Vertical constraint between A and B. C and D occupy surrounding tracks and columns Solution: Shift contacts down and to right, doglegs on each layer to reach them A B C D