1 / 59

Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis

Maze Routing Steiner Trees With Delay vs. Wire Length Trade-off. Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis. Universidade Federal do Rio Grande do Sul {renato,johann,reis}@inf.ufr gs.br. IBM - Thomas Watson RC jagan@us.ibm.com. ISPD 2007.

ayla
Télécharger la présentation

Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Maze Routing Steiner Trees With Delay vs. Wire Length Trade-off Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis Universidade Federal do Rio Grande do Sul {renato,johann,reis}@inf.ufrgs.br IBM - Thomas Watson RC jagan@us.ibm.com ISPD 2007

  2. Where are the rest of us from? Porto Alegre RS - Brasil

  3. Let us start with a little… This work presents… AMAZE FAQ

  4. An algorithm for single net Steiner Tree construction that uses A* searches and trades-off WL for delay Actual Routing Tree Topologies What is AMAZE? Can do both

  5. Steiner Trees are used for estimation and perhaps global routing Maze Router is widely used for actual routing (global or detailed) Somewhere in the flow we decompose the nets by setting Steiner points or just forget our Steiner Trees and let the router run… In which context AMAZE fits in?

  6. Maze Router has a lot of potential: Net ordering can be aliviated by negotiation Speed can be improved (a lot) with A* searches and by tuning data structures Memory is not a concern for most applications Degrees of freedom can be exploited to get quality results, e.g., good Trees Keep Maze router’s nice properties What is the motivation?

  7. What about: Within 2% from optimal Steiner Trees? From 26% to 40% improvement in delay compared to AHHK? From 1% to 30% improvement in delay compared to P-Trees? As fast as any heuristic Steiner Tree algorithm How good can AMAZE be?

  8. AMAZE Is AMAZE a new algorithm at all? Standard techniques: New Contributions A* search Our Biasing Multiple src tgts Sharing factor Hannan Grid Path Length factor Data Structures

  9. The main weaknesses are (currently): Cannot guarantee efficiency (speed) or quality (good trees) with costs that vary too much. Problem for global routing that has to model congestion We have not checked if early estimation matches actual routing if context changes What not to expect from AMAZE?

  10. Delay and WL trade-off Properties of A* Creating Steiner Trees with A* Improving Wirelenght Improving Delay to critical sinks Experimental results Concluding remarks Outline

  11. 1. Delay and WL trade-off MRST MRSA BRST Star CSA

  12. Expand more promising nodes first, acording to: f(n) = g(n) + h(n) Intermediate searched space origin goal g(n) h(n) Complete Search 2.Basics of A* Effect of better estimation (higher h)

  13. g= h= f = g=0 h=3 f =3 g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=2 c=2 c=2 c=2 c=2 c=2 c=2 Non uniform costs 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 7

  14. g= h= f = g= h= f = g=1 h=4 f =5 g=0 h=3 f =3 g= h= f = g=1 h=5 f =5 g= h= f = g= h= f = g=2 h=2 f =4 g= h= f = g= h= f = g=1 h=4 f =5 g= h= f = c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=2 c=2 c=2 c=2 c=2 c=1 c=2 c=1 c=1 c=2 Non uniform costs 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 8, 1, 13, 6

  15. g=3 h=3 f =6 g= h= f = g= h= f = g= h= f = g= h= f = g=1 h=4 f =5 g= h= f = g=1 h=4 f =5 g=3 h=3 f =6 g=2 h=2 f =4 g=4 h=1 f =5 g=1 h=4 f =5 g=0 h=3 f =3 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=2 c=2 c=2 c=2 c=2 c=1 c=2 c=1 c=1 c=2 Non uniform costs 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 1, 13, 6, 9, 2, 14

  16. g= h= f = g= h= f = g=0 h=3 f =3 g=3 h=3 f =6 g=4 h=1 f =5 g= h= f = g= h= f = g= h= f = g=1 h=4 f =5 g=1 h=4 f =5 g=3 h=3 f =6 g=2 h=2 f =4 g=1 h=4 f =5 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=2 c=2 c=1 c=2 c=1 c=2 c=2 c=2 c=2 Ties Non uniform costs 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 1, 13, 6, 9, 2, 14

  17. g= h= f = g= h= f = g=0 h=3 f =3 g=3 h=3 f =6 g=4 h=1 f =5 g= h= f = g= h= f = g= h= f = g=1 h=4 f =5 g=1 h=4 f =5 g=3 h=3 f =6 g=1 h=4 f =5 g=2 h=2 f =4 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=2 c=2 c=2 c=1 c=1 c=1 c=2 c=2 c=2 c=2 Non uniform costs 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 1, 13, 6, 9, 2, 14 But not critical as f * = 6

  18. g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g=0 h=4 f =4 g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 Uniform costs 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 13

  19. g=1 h=3 f =4 g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g=1 h=3 f =4 g=0 h=4 f =4 g= h= f = g= h= f = g= h= f = g= h= f = c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 Critical Ties 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 14,7 f(14) = f(7) = f *

  20. g=1 h=3 f =4 g= h= f = g=2 h=2 f =4 g= h= f = g= h= f = g= h= f = g= h= f = g=0 h=4 f =4 g= h= f = g=2 h=2 f =4 g= h= f = g= h= f = g=1 h=3 f =4 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 Can choose what you want 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 15,8,7

  21. g=3 h=1 f =4 g=3 h=1 f =4 g= h= f = g=2 h=2 f =4 g= h= f = g=0 h=4 f =4 g= h= f = g=1 h=3 f =4 g=2 h=2 f =4 g= h= f = g= h= f = g=1 h=3 f =4 g=3 h=3 f =6 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 worst c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 best Nodes close to the target first 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 11,9,8,7

  22. g=0 h=4 f =4 g=4 h=0 f =4 g= h= f = g=1 h=3 f =4 g=3 h=1 f =4 g= h= f = g=2 h=2 f =4 g=1 h=3 f =4 g=3 h=1 f =4 g=3 h=3 f =6 g= h= f = g=2 h=2 f =4 g= h= f = c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 Nodes close to the target first 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 15,7,2,3 Only four nodes expanded

  23. g=4 h=0 f =4 g= h= f = g=3 h=1 f =4 g= h= f = g=1 h=3 f =4 g=0 h=4 f =4 g=3 h=1 f =4 g=2 h=2 f =4 g=1 h=3 f =4 g= h= f = g= h= f = g=2 h=2 f =4 g=3 h=3 f =6 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 Degree of freedom But pay attention to: 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 15,7,2,3

  24. g=4 h=0 f =4 g= h= f = g=3 h=1 f =4 g= h= f = g=1 h=3 f =4 g=0 h=4 f =4 g=3 h=1 f =4 g=2 h=2 f =4 g=1 h=3 f =4 g= h= f = g= h= f = g=2 h=2 f =4 g=3 h=3 f =6 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 Degree of freedom But pay attention to: 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 15,7,2,3

  25. g=4 h=0 f =4 g= h= f = g=3 h=1 f =4 g= h= f = g=1 h=3 f =4 g=0 h=4 f =4 g=3 h=1 f =4 g=2 h=2 f =4 g=1 h=3 f =4 g= h= f = g= h= f = g=2 h=2 f =4 g=3 h=3 f =6 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=1 Degree of freedom But pay attention to: 1 2 3 4 6 7 8 9 10 13 14 15 11 Open List: 15,7,2,3

  26. g=0 h=4 f =4 g=1 h=3 f =4 g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g=2 h=2 f =4 g= h= f = g= h= f = c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=2 c=1 c=1 c=2 c=1 c=2 With Hannan Grid 1 3 4 6 7 9 10 13 15 11 Open List: 15,7 Freedom was lost… unless

  27. g=0 h=4 f =4 g=1 h=3 f =4 g= h= f = g= h= f = g= h= f = g= h= f = g= h= f = g=2 h=2 f =4 g= h= f = g= h= f = c=1 c=1 c=1 c=1 c=1 c=1 c=1 c=2 c=1 c=1 c=2 c=1 c=2 With Hannan Grid 1 3 4 6 7 9 10 13 15 11 Open List: 15,7 We check number of steps

  28. Simple ties f = f all expanded Critical ties f=f=f* break for efficiency Depth ties f=f=f* and g=g true freedom Stepped depth ties f=f=f* and s=s w/Hannan Net result: Best efficiency, freedom to chose the paths Summary

  29. Sinks are added one by one Multiple Sources connected tree Which target to connect next? Multiple Targets select the best accounts for blockages h function sees all sinks chosen target ct(n) used for speed First route all critical sinks (later on) 3.Creating Steiner Trees with A*

  30. Formation of Trees Multi-pin nets h Multiple sources and targets Sources: Targets: Heuristic attracts search to closest node

  31. Formation of Trees Multi-pin nets Multiple sources and targets Sources: Targets:

  32. Formation of Trees Multi-pin nets Multiple sources and targets Sources: Targets:

  33. Formation of Trees Multi-pin nets Multiple sources and targets Sources: Targets:

  34. Formation of Trees Multi-pin nets Multiple sources and targets Sources: Targets:

  35. Formation of Trees Multi-pin nets Multiple sources and targets Sources: Targets:

  36. Formation of Trees Multi-pin nets Multiple sources and targets Sources: Targets:

  37. Formation of Trees Multi-pin nets Multiple sources and targets Routing is complete for this simple case… But other pin dispositions require expertise

  38. Sinks are added one by one Multiple Sources connected tree Which target to connect next? Multiple Targets select the best accounts for blockages h function sees all sinks chosen target ct(n) used for speed First route all critical sinks (later on) Select targets with A*

  39. Naturally handle blockages

  40. Share as many segments as possible Use decision points (freedom) to chose paths closer to other pins Performed by the biasing funcion called when stepped depth ties happen 4.Improving Wirelenght

  41. 1. Eliminate nodes behind target and parent node 2. And closer to the tree 3. Compute centroid 4. Take the closest node Biasing computation Improves WL by sharing as many paths as possible

  42. Effect of biasing AMAZE with biasing off AMAZE with biasing ON

  43. Route them first Use repulsive biasing Sharing Factor Path Length Factor 5.Improving Delay to critical sinks Use as little sharing as possible

  44. Only for critical Sharing factor

  45. Only for critical Path lenght factor Makes shortest paths from the source to the sinks

  46. 6.Experimental results Average of 100 randomly generated nets

  47. Experimental results Average of 100 randomly generated nets

  48. Sample Trees

  49. Blockage Analysis

  50. Sample Trees P-Trees AMAZE

More Related