CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 14: February 27, 2002 Routing 2 (Pathfinder)

Slides:



Advertisements
Similar presentations
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
Advertisements

CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 22: December 2, 2005 Routing 2 (Pathfinder)
EDA (CS286.5b) Day 10 Scheduling (Intro Branch-and-Bound)
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: February 23, 2011 Routing 2 (Pathfinder)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
CMSC 471 Spring 2014 Class #4 Thu 2/6/14 Uninformed Search Professor Marie desJardins,
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
1 search CS 331/531 Dr M M Awais A* Examples:. 2 search CS 331/531 Dr M M Awais 8-Puzzle f(N) = g(N) + h(N)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 23, 2008 Covering.
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
EDA (CS286.5b) Day 14 Routing (Pathfind, netflow).
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 22: April 20, 2009 Routing 2 (Pathfinder)
Lecture 5: FPGA Routing September 17, 2013 ECE 636 Reconfigurable Computing Lecture 5 FPGA Routing.
ECE669 L10: Graph Applications March 2, 2004 ECE 669 Parallel Computer Architecture Lecture 10 Graph Applications.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 16, 2008 Routing 2 (Pathfinder)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 13, 2008 Retiming.
ECE 506 Reconfigurable Computing Lecture 8 FPGA Placement.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 4, 2005 Interconnect 1: Requirements.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
Geography and CS Philip Chan. How do I get there? Navigation Which web sites can give you turn-by-turn directions?
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 15: February 12, 2003 Interconnect 5: Meshes.
CALTECH CS137 Winter DeHon 1 CS137: Electronic Design Automation Day 2: January 6, 2006 Spatial Routing.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 14: March 16, 2015 Routing 2 (Pathfinder)
Modern VLSI Design 2e: Chapter 7 Copyright  1998 Prentice Hall PTR Topics n Block placement. n Global routing. n Switchbox routing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 23, 2002 Partitioning (Intro, KLFM)
Goal Programming Linear program has multiple objectives, often conflicting in nature Target values or goals can be set for each objective identified Not.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
Lecture 3: Uninformed Search
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 14: February 10, 2003 Interconnect 4: Switching.
ECE 260B – CSE 241A /UCB EECS Kahng/Keutzer/Newton Physical Design Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Graph Search II GAM 376 Robin Burke. Outline Homework #3 Graph search review DFS, BFS A* search Iterative beam search IA* search Search in turn-based.
FPGA Routing Pathfinder [Ebeling, et al., 1995] Introduced negotiated congestion During each routing iteration, route nets using shortest.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: March 1, 2003 Scheduling Introduction.
Brian Williams, Fall 041 Analysis of Uninformed Search Methods Brian C. Williams Sep 21 st, 2004 Slides adapted from: Tomas Lozano Perez,
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
CS 312: Algorithm Analysis Lecture #27: Network Flow This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 11: February 11, 2002 Scheduling Introduction.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: January 31, 2011 Scheduling Variants and Approaches.
CS137: Electronic Design Automation
CS137: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
COS 561: Advanced Computer Networks
ESE535: Electronic Design Automation
COS 561: Advanced Computer Networks
Artificial Intelligence
Routing Algorithms.
CS137: Electronic Design Automation
CS137: Electronic Design Automation
Presentation transcript:

CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: February 27, 2002 Routing 2 (Pathfinder)

CALTECH CS137 Winter DeHon Today Routing –Pathfinder graph based global routing simultaneous global/detail

CALTECH CS137 Winter DeHon Global Routing Problem: Find sequence of channels for all routes –minimizing channel sizes –minimize max channel size –meeting channel capacity limits

CALTECH CS137 Winter DeHon Global  Graph Graph Problem on routes through regions w

CALTECH CS137 Winter DeHon Global/Detail With limited switching (e.g. FPGA) –can represent routing graph exactly

CALTECH CS137 Winter DeHon Routing in Graph Find (shortest/available) path between source and sink –search problem (e.g. BFS, Alpha-Beta)

CALTECH CS137 Winter DeHon Easy? Finding a path is moderately easy What’s hard? –Can I just iterate and pick paths?

CALTECH CS137 Winter DeHon Example s1s3s2 d2d1d3 All links capacity 1 si disi di

CALTECH CS137 Winter DeHon Challenge Satisfy all routes simultaneously Routes share potential resources Greedy/iterative –not know who needs will need which resources –i.e. resource/path choice looks arbitrary –…but earlier decisions limit flexibility for later (somewhat like scheduling) –order affect result

CALTECH CS137 Winter DeHon Negotiated Congestion Old idea –try once –see where we run into problems –undo problematic/blocking allocation rip-up –use that information to redirect/update costs on subsequent trials retry

CALTECH CS137 Winter DeHon Negotiated Congestion Here –route signals –allow overuse –identify overuse and encourage signals to avoid reroute signals based on overuse/past congestion

CALTECH CS137 Winter DeHon Basic Algorithm Route signals along minimum cost path If congestion/overuse –assign higher cost to congested resources Repeat until done

CALTECH CS137 Winter DeHon Key Idea Congested paths/resources become expensive When there is freedom –future routes, with freedom to avoid congestion will avoid it When there is less freedom –must take congested routes Routes which must use congested resources will, while others will chose uncongested paths

CALTECH CS137 Winter DeHon Cost Function (1) Cost = base  f(#routes using, time) Base cost of resource –delay of path –Encourage minimum resource usage (minimum length path, if possible) –minimizing delay = minimizing resources Congestion –penalizes (over) sharing –increase sharing penalty over time

CALTECH CS137 Winter DeHon Example (first order congestion) s1s3s2 d2d1d Base costs (delays) 111 Capacity

CALTECH CS137 Winter DeHon Example (first order congestion) s1s3s2 d2d1d Base costs (delays) Capacity All, individual routes prefer middle; create congestion.

CALTECH CS137 Winter DeHon Example (first order congestion) s1s3s2 d2d1d Base costs (delays) Capacity Reroute, avoid congestion.

CALTECH CS137 Winter DeHon Example (need for history) s1s3s2 d2d1d Base costs (delays) 111 Capacity 1 1 Need to redirect uncongested paths; how encourage?

CALTECH CS137 Winter DeHon Example (need for history) Cannot route s2  d2 s1s3s2 d2d1d Local congestion alone won’t drive in right directions. May ping-pong back and forth. (can imagine longer chain like this)

CALTECH CS137 Winter DeHon Cost Function (2) Cost = (base + history)*f(#resources,time) History –avoid paths with history of congestion

CALTECH CS137 Winter DeHon Example (need for history) s1s3s2 d2d1d S2  d3 initially ping-pong Builds up congestion history on path 2 and 3 Eventually makes path 2 and 3 more expensive than path 1; …resolves conflict…

CALTECH CS137 Winter DeHon What about delay? Existing formulation uses delay to reduces resources, but doesn’t directly treat Want: –prioritize critical path elements for shorter delay –allow nodes with slack to take longer paths

CALTECH CS137 Winter DeHon Cost Function (Delay) Cost= –W(edge)*delay + (1-W(edge))*congest –congest as before (base+history)*f(#signals,time) W(edge) = D(edge)/Dmax –1 for critical path –<1 for paths with slack Use W(edge) to order routes Update each round

CALTECH CS137 Winter DeHon Convergence Chan+Schlag [FPGA’2000] –cases where doesn’t converge –special case of bipartite graphs converge if incremental or if prefer uncongested to least history cost theory (continuous) –only reroute overflow –converge in O(|E|) reroutes –But then have fractional routes…

CALTECH CS137 Winter DeHon Rerouting Default: reroute everything Can get away rerouting only congested nodes –if keep routes in place –history force into new tracks causing greedy/uncongested routes to be rerouted

CALTECH CS137 Winter DeHon Rerouting Effect (only reroute congest) –maybe more iterations (not reroute a signal until congested) –less time –? Better convergence –? Hurt quality? (not see strong case for) –…but might hurt delay quality Maybe followup rerouting everything once clear up congesiton?

CALTECH CS137 Winter DeHon Run Time? Route |E| edges Each path search O(|E graph |) worst case –…generally less Iterations?

CALTECH CS137 Winter DeHon Quality and Runtime… For Synthetic netlists on HSRA –Expect to be worst-case problems Number of individual route trials limited (measured) as multiple of nets in design –(not measuring work per route trial)

CALTECH CS137 Winter DeHon Quality: fixed runtime

CALTECH CS137 Winter DeHon Quality Target

CALTECH CS137 Winter DeHon Quality vs. Time

CALTECH CS137 Winter DeHon Search Ordering Default: breadth first search for shortest –O(total-paths) –O(N p ) for HSRA Alternately: use A*: –estimated costs/path length, prune candidates earlier –can be more depth first (search promising paths as long as know can’t be worse)

CALTECH CS137 Winter DeHon Searching In general: –greedy/depth first searching find a path faster may be more expensive – (not least delay, congest cost) –tradeoff by weighting estimated delay on remaining path vs. cost to this point control greediness of router –More greedy is faster at cost of less optimal paths (wider channels) 40% W  10x time [Tessier/thesis’98]

CALTECH CS137 Winter DeHon Searching Use alpha-beta like search –Always expanded (deepen) along shortest …as long as can prove no other path will dominate –Uncongested: takes O(path-length) time –Worst-case reduces to breadth-first O(total-paths) O(N p ) for HSRA

CALTECH CS137 Winter DeHon Domain Negotiation For Conventional FPGAs (and many networks) –path freedom bushy in middle low on endpoints

CALTECH CS137 Winter DeHon Multistage/Benes Switches in all paths 0000 to 1111

CALTECH CS137 Winter DeHon Conventional FPGA Domains Called: subset disjoint

CALTECH CS137 Winter DeHon Domain Routing No point in searching along an entire path from source Just to find it’s heavily congested at sink

CALTECH CS137 Winter DeHon HSRA Domains

CALTECH CS137 Winter DeHon Domain Negotiation Path bottlenecks exist at both endpoints Most critical place for congestion Most efficient: work search from both ends –more limiting in A*/Alpha-Beta search –focus on paths with least (no) congestion on endpoints first –FPGAs -- picking “domain” first –otherwise paths may look equally good up to end (little pruning)

CALTECH CS137 Winter DeHon Summary Finding short path easy/well known Complication: need to route set of signals –who gets which path? –Arbitrary decisions earlier limit options later Idea: iterate/relax using congestion history –update path costs based on congestion –reroute with new costs Accommodate delay and congestion

CALTECH CS137 Winter DeHon Big Ideas Exploit freedom Technique: –Graph algorithms (BFS, DFS) –Search techniques (A*, Alpha-Beta) –Iterative improvement/relaxation