1 / 19

Sidewinder: Scalable ILP-Based Router for Minimal Via Count in Advanced Pattern Routing

Sidewinder is a sophisticated ILP-based router designed for advanced pattern routing with minimal via count. This router excels in finding routes with minimal vias, impacting timing and routing tracks. The algorithm leverages an iterative, congestion-driven ILP-based approach, utilizing patterns like L, Z, and C shapes, allowing at most three bends per two-pin nets. Sidewinder breaks up multi-pin nets into subnets, initially routing with L-shapes and then optimizing via ILP formulation. The empirical validation includes single-pass maze router integration and case studies on IBM03 and IBM10 layouts, showing significant improvement in routability. Sidewinder proves adept at handling vias pricing efficiently while maximizing the total number of routed nets.

kedem
Télécharger la présentation

Sidewinder: Scalable ILP-Based Router for Minimal Via Count in Advanced Pattern Routing

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