geometric steiner tree packing with density constraints
play

GEOMETRIC STEINER TREE PACKING WITH DENSITY CONSTRAINTS Nicolai - PowerPoint PPT Presentation

GEOMETRIC STEINER TREE PACKING WITH DENSITY CONSTRAINTS Nicolai Hhnle, Pietro Saccardi Aussois Combinatorial Optimization Workshop January 12, 2017 Research Institute for Discrete Mathematics, Bonn 1/30 OVERVIEW Motivation: global routing


  1. GEOMETRIC STEINER TREE PACKING WITH DENSITY CONSTRAINTS Nicolai Hähnle, Pietro Saccardi Aussois Combinatorial Optimization Workshop January 12, 2017 Research Institute for Discrete Mathematics, Bonn 1/30

  2. OVERVIEW Motivation: global routing in chip design Traditional Steiner tree packing in grid graphs Geomtric Steiner tree packing on rhomboids Shortest paths and Steiner trees on rhomboids Experimental results 2/30

  3. MOTIVATION: GLOBAL ROUTING IN CHIP DESIGN

  4. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  5. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  6. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  7. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  8. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  9. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  10. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  11. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  12. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  13. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  14. HOW IS A CHIP BUILT? “Zoom Into a Microchip” by NISENet, available under a CC BY license. 4/30

  15. WIRE DENSITY IS EXTREMELY HIGH Only signal wires are shown (power grid is omitted). Wires are colored by routing layer. 5/30 Tightly packed wires on a chip routed by BonnRoute; zoom is 1000 × .

  16. FACTS AND FIGURES Chip structure • A chip has a layered 3D structure. • Transistors are placed on the lowest layers. • Up to 16 routing layers for interconnects. Chip size • several billions transistors 6/30 A chip with an area of few mm 2 packs: • several meters of wires (few nm thick) • several millions of connections

  17. ROUTING IN CHIP DESIGN Assumptions • The chip functionality is decomposed into elementary Boolean operations. • All the connections (nets) between logic gates are known. Goal Compute connections for each net in such a way that: • different nets are disjoint; • design constraints are satisfied; • timing closure is achieved; • various objectives (wire length, power consumption, yield, …) are optimized. 7/30 • Logic gates (Boolean operations) are implemented at a transistor level. • All the logic gates are already placed on the chip.

  18. ROUTING IN CHIP DESIGN Assumptions • The chip functionality is decomposed into elementary Boolean operations. • Logic gates (Boolean operations) are implemented at a transistor level. • All the logic gates are already placed on the chip. • All the connections (nets) between logic gates are known. Goal Compute connections for each net in such a way that: • various objectives (wire length, power consumption, yield, …) are optimized. 7/30 • different nets are disjoint; • design constraints are satisfied; • timing closure is achieved;

  19. 10 9 vertices! • Problem in split into global and detailed: MODELING ROUTING Constraints due to fabrication process Constraints due to problem hardness Huge restriction on wiring Steiner tree problem in 3D grid graphs • Axis-parallel wires. • Monodirectional layers. • Possible wire locations are discretized (tracks). • Global routing ignores disjointness and design rules compliancy. It optimizes globally objectives such as packing density, length and yield. • Detailed routing explores a subset of the routing graph. It handles disjointness and design rules compliancy. 8/30

  20. MODELING ROUTING Constraints due to fabrication process Constraints due to problem hardness Huge restriction on wiring Steiner tree problem in 3D grid graphs 8/30 10 9 vertices!

  21. MODELING ROUTING Constraints due to fabrication process Constraints due to problem hardness Huge restriction on wiring Steiner tree problem in 3D grid graphs • Axis-parallel wires. • Monodirectional layers. • Possible wire locations are discretized (tracks). • Problem in split into global and detailed: It optimizes globally objectives such as packing density, length and yield. • Detailed routing explores a subset of the routing graph. It handles disjointness and design rules compliancy. 8/30 10 9 vertices! • Global routing ignores disjointness and design rules compliancy.

  22. TRADITIONAL STEINER TREE PACKING IN GRID GRAPHS

  23. TRADITIONAL APPROACH TO GLOBAL ROUTING 10/30 Coarsening the routing graph → global routing graph.

  24. TRADITIONAL APPROACH TO GLOBAL ROUTING 10/30 Coarsening the routing graph → global routing graph.

  25. TRADITIONAL APPROACH TO GLOBAL ROUTING Task: Find Steiner trees Y n , minimizing 10/30 Problem (Simplified Global Routing) Coarsening the routing graph → global routing graph. Input: Graph G ′ , capacities u : E ( G ′ ) → Z ≥ 0 , lengths l : E ( G ′ ) → R ≥ 0 , nets N , where n ∈ N is ∅ ̸ = n ⊂ V ( G ′ ) , and wire widths w : N × E ( G ′ ) → R ≥ 0 . ∑ ∑ l ( e ) n ∈N e ∈ E ( Y n ) and meeting the capacity constraints: ∑ w ( n , e ) ≤ u ( e ) , ∀ e ∈ E ( Y n ) . n ∈N : e ∈ E ( Y n )

  26. MIN-MAX RESOURCE SHARING Problem (Min-Max Resource Sharing) max 11/30 Input: • R finite set of resources (edges) of finite capacity • C finite set of customers (nets) • B c set of solutions for c ∈ C (Steiner trees) • Resource consumption function usg c : B c → R R ≥ 0 • σ -approximate oracle function f c : R R ≥ 0 → B c Task: Find b c attaining � { } � λ ∗ := inf ∑ � b c ∈ B c , c ∈ C ( usg c ( b c )) r . � � r ∈R c ∈C

  27. ALGORITHM OUTLINE: MIN-MAX RESOURCE SHARING • It maintains resource prices (initially set to 1). • The algorithm proceeds in phases. In each phase: • Return convex combination of Steiner trees for each net. Theorem (D. Müller, K. Radke, J. Vygen, 2011) IP techniques [T. H. Wu, A. Davoodi, and J. T. Linderoth, 2011] could be used but are inpractical for our instances. 12/30 • For every net, find (approx.) cheapest route w.r.t. the given resource prices. • Update the price of the used resources grow multiplicatively with load. Let ω > 0 . A σ ( 1 + ω ) -approximate fractional solution can be computed in time O ( θ log |R| ( |C| + |R| )( log log |R| + ω − 2 )) , where θ is the time for an oracle call.

  28. POTENTIAL DRAWBACKS • Poor topologies. 13/30 • Does not connect to pin shapes (important for signal delay estimation). • Depends heavily on the choice of the grid. • Does not support input wires.

  29. GEOMTRIC STEINER TREE PACKING ON RHOMBOIDS

  30. RHOMBOIDAL TILES Definition and graphs embedded in the plane. T i T j 15/30 Tile set T , layers L , chip area □ . T i ∈ T is a ℓ 1 -ball of unit radius, with ˚ T i ∩ ˚ T j = ∅ and □ ⊆ ∪ T ∈T T . Given a tile price function c : T → R ≥ 0 , we define the cost of a segment s as c ( s ) := ∑ T ∈T c ( T ) ℓ ( s ∩ T ) . The definition can be extented to rectilinear paths

  31. WHY RHOMBOIDAL TILES? 1. continuous and piecewise linear; 2. smooth, unless it intersects some tile’s vertex or the endpoints lie on some tile’s boundary. If we drag a segment or its endpoints, the change in cost is described by a smooth linear function, as long as condition 2 is respected: 16/30 Rhomboids ( ℓ 1 balls) are simple objects! Let c ( s ) be the cost of a segment s . Then c ( s ) is (w.r.t. the coordinates of s ): ⇓

  32. WHY RHOMBOIDAL TILES? 1. continuous and piecewise linear; 2. smooth, unless it intersects some tile’s vertex or the endpoints lie on some tile’s boundary. If we drag a segment or its endpoints, the change in cost is described by a smooth linear function, as long as condition 2 is respected: 16/30 Rhomboids ( ℓ 1 balls) are simple objects! Let c ( s ) be the cost of a segment s . Then c ( s ) is (w.r.t. the coordinates of s ): ⇓

  33. u T , y usg n Y n RHOMBOIDAL TILES AS RESOURCES Given a resource price vector y ? Can we compute a route of (approx.) minimal cost c c E Y n y T w n l T 0 , if we set c T 17/30 Consumption: Congestion: Capacity: Definition R := T × L (rhomboidal tiles × layers). Let Y n denote a route for n ∈ N . T ∈ T × L on layer l T ; w ( n , l ) wire width in tracks on layer l . u ( T ) := total length of free tracks . s ∈ E ( Y n ) w ( n , l T ) ℓ ( s ∩ T ) ( usg n ( Y n )) T := ∑ u ( T ) . cong ( T ) := ∑ n ∈N ( usg n ( Y n )) T .

  34. RHOMBOIDAL TILES AS RESOURCES Consumption: ? Can we compute a route of (approx.) minimal cost c y T Congestion: Capacity: Definition 17/30 R := T × L (rhomboidal tiles × layers). Let Y n denote a route for n ∈ N . T ∈ T × L on layer l T ; w ( n , l ) wire width in tracks on layer l . u ( T ) := total length of free tracks . s ∈ E ( Y n ) w ( n , l T ) ℓ ( s ∩ T ) ( usg n ( Y n )) T := ∑ u ( T ) . cong ( T ) := ∑ n ∈N ( usg n ( Y n )) T . Given a resource price vector y ∈ R R ≥ 0 , if we set c ( T ) := w ( n , l T ) u ( T ) , ⇒ y ⊺ usg n ( Y n ) = c ( E ( Y n ))

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend