1 / 19

Sidewinder A Scalable ILP-Based Router

Sidewinder A Scalable ILP-Based Router. Jin Hu, Jarrod A. Roy, and Igor L. Markov SLIP ’ 08. Outline. Introduction Routing Approaches Sidewinder ■ Algorithm Design ■ ILP formulation Empirical validation Conclusion. Introduction. Two main approaches of global routing - heuristics

kedem
Download Presentation

Sidewinder A Scalable ILP-Based Router

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. SidewinderA Scalable ILP-Based Router Jin Hu, Jarrod A. Roy, and Igor L. Markov SLIP’08

  2. Outline • Introduction • Routing Approaches • Sidewinder ■Algorithm Design ■ILP formulation • Empirical validation • Conclusion

  3. Introduction • Two main approaches of global routing - heuristics - (integer) linear programming • Sidewinder is good at finding routes with minimal via count • via - impacts timing and may block several routing tracks

  4. Introduction • An iterative , congestion-driven ILP-based advanced pattern router • Pattern router - L shape - Z shape - C shape • Sidewinder’s pattern routes allow at most three bends per two-pin nets

  5. Introdution

  6. Metal 2: Horizontal tracks • Directional preference on each metal layer • Bends require change in metal layers → vias □Tungsten vs. copper or aluminum □More resistant , larger area, less reliable Metal 1: Vertical tracks via

  7. Routing Approaches • Pattern Routing - reduces the problem’s solution space and improves runtime - each net is limited to a small number of shapes - minimizes the via count • Maze Routing - uses standard search algorithms such as BFS - must be applied many times with net orderings • SAT- and ILP-based Routing - modeling routing constraints by Boolean formulas in CNF - a faster ILP solver may facilitate a more comprehensive ILP formulation

  8. Gcell (0,0) Sidewinder • Problem Framework - Routing grid G with capacities Y x

  9. . . . Net 1 Net 2 Net n Sidewinder • Problem Framework - net list N with n nets

  10. Initial Routing Generate Congestion Map Path Selection for ILP ILP Routing Improve? Final Routing Algorithm1 Sidewinder • Breaks up multi-pin nets into subnets • using FLUTE • Routes with L-shape initially • Calculates total congestion • Chooses best 2 options for each net • ILP route for new solution New solution is never worse than previous • Repeats until no improvement yes no • Routes remaining nets with maze router • Allows overflow

  11. Path Selection Sidewinder

  12. 2 2 2 2 2 2 2 2 2 0.2 2 2 2 2 2 0.2 2 2 2 2 capacity = 2 Sidewinder • Create congestion map - for each routed net, edge capacity = (total capacities – usage*0.9)

  13. 1.5 0.5 1 -0.3 1.2 Sidewinder Pathfree = 0 Pathtotal = 3 Pathfree = 0 Pathtotal = 1.5 Pathfree = -1 Pathtotal = 3 Pathfree = 0 Pathtotal = 2 Pathfree = -1 Pathtotal = 4.2 pathFree: minimum number of free segments pathTotal: total number of free segments

  14. ILP Formulation Maximizes total number of nets routed Ensures at most 1 path is selected Capacity constraint in N direction Capacity constraint in S direction Capacity constraint in E direction Capacity constraint in W direction

  15. Objective Function

  16. Empirical Validation • ILP only

  17. single pass of a maze router Empirical Validation

  18. Empirical Validation ibm03 ibm10

  19. Conclusions • Propose the first ILP router that can handle the entire global routing grid • Introduce C shape pattern to significantly improve routability • Sidewinder is adept at handling pricing for vias

More Related