robust layer assignment for via optimization in multi
play

Robust Layer Assignment for Via Optimization in Multi-layer Global - PowerPoint PPT Presentation

Robust Layer Assignment for Via Optimization in Multi-layer Global Routing Tsung-Hsien Lee Ting-Chi Wang Inst. of Information Science Dept. of Computer Science Academia Sinica National Tsing Hua University 1 Outline Introduction


  1. Robust Layer Assignment for Via Optimization in Multi-layer Global Routing Tsung-Hsien Lee Ting-Chi Wang Inst. of Information Science Dept. of Computer Science Academia Sinica National Tsing Hua University 1

  2. Outline Introduction Motivation Problem Formulation Algorithm Experimental results Conclusions 2

  3. Introduction to Layer Assignment � Layer assignment is a major step in multi-layer global routing p 3 p 3 ′ ′ ′ p 3 p 3 p 3 p 2 p 2 Projection Projection Projection Projection ′ ′ ′ ′ ′ ′ p 1 p 1 p 1 p 2 p 2 p 2 2D Routing 2D Routing 2D Routing 2D Routing p 1 p 1 p 3 p 3 ′ ′ ′ p 3 p 3 p 3 p 2 p 2 Layer Layer Layer Layer Assignment Assignment Assignment Assignment ′ ′ ′ ′ ′ ′ p 2 p 2 p 2 p 1 p 1 p 1 p 1 p 1 3

  4. Introduction to Layer Assignment � Layer assignment determines the final routing result ⎯ A bad layer assignment devastates all the previous efforts ′ p 3 Additional wire overflow ′ ′ p 2 B p 1 B longer wirelength a a A d A d s s p 3 L L s s a a i i g y y g e n e n r r m m e e n n t p 2 t p 1 4

  5. Introduction to Layer Assignment � Layer assignment determines the final routing result ⎯ A good layer assignment keeps all the previous efforts p 3 p 2 r r e e y y a a t t n L n L e e d d ′ m m p 3 o o n n o o g G g G i i s s s s A A p 1 No additional wire overflow ′ ′ p 2 p 1 Minimal wirelength 5

  6. Motivation � ISPD’07 and ISPD’08 Global Routing Contest did not limit # of vias placed in a tile Allowable Still allowable in the contest in the contest � Routing result without considering via capacity is not practical ! 6

  7. Motivation � A better layer assignment should take the via capacity into account r r e e y y a a t t L L n n e e r r e m e m t t n t t n e e g net A g B B i i s s s s A A net B Via overflow G G o o o o A A d d s s s L L s i i a a g g y y n n e e m m r r e e n n t t 7

  8. Previous Work for Via Capacity � [Hsu et al., ICCAD’08] “ Multi-layer Global Routing Considering Via and Wire Capacities ” ⎯ Considering via capacity for each tile ⎯ No detailed information of its layer assignment step � Via capacity of a tile = remaining_area / via_area = ( tile_area – preoccupied_area ) / via_area Obstacles Didn’t specify and in the benchmarks Pre-routed wires 8

  9. Problem Formulation � “ Congestion is modeled by including capacity adjustments. In the global routing benchmarks, there may be obstacles, or pre-routed wires. ” - quoted from “details of file formats” of ISPD’08 Global Routing Contest rules tile width tile width tile height routing track capacity Transform Transform routing track routing track pre-routed obstacle wire 9

  10. Problem Formulation � Via capacity of a tile = ( tile_area – preoccupied_area ) / via_area = ( capacity × tile_width ) / via_area tile width tile width tile height routing track capacity Transform Transform routing track routing track pre-routed obstacle wire 10

  11. Problem Formulation � Given a 2D routing result, finds a 3D counterpart through layer assignment ⎯ Minimize via overflow , and wirelength ⎯ Keep the same wire overflow from 2D routing result p 3 ′ p 3 p 2 Layer Layer Assignment Assignment ′ ′ p 1 p 2 p 1 No additional wire overflow Minimal via overflow Minimal wirelength 11

  12. Algorithm � Our algorithm contains 3 steps Net Order Determination Net Order Single-net Layer Assignment Net Order Refinement 12

  13. Net Order Determination � Due to the limited routing resources , a net processed earlier has larger solution space Routing Solution resources space for a net # nets processed # nets processed � Net order should maximize resource utilization 13

  14. Net Order Determination � For each 2D net T , we use 3 parameters to determine its order - Score ( T ) ⎯ Length ( T ) : # of edges in T ⎯ PinNum ( T ) : # of pins in T ⎯ Bends ( T ) : # of bends in T � Net Order derived from sorting Score ( T ) for each net T decreasingly net A net A net A net A net A net A A has 4 edges, 3 pins, and 1 bend A has 4 edges, 3 pins, and 1 bend net A net A net B net B net B net B net B net B net B net B B has 2 edges, 2 pins, and 0 bend B has 2 edges, 2 pins, and 0 bend 14

  15. Net Order Determination — Length � A net with longer length will occupy more routing resources ⎯ Length ( T ) ↑ , Score ( T ) ↓ net A net A net B net B 15

  16. Net Order Determination — PinNum � The role of pin in global routing, just like the role of checkpoints in race ⎯ PinNum ( T ) ↑ , Score ( T ) ↑ net A 3 pins = 3 checkpoints net A net B net B 2 pins = 2 checkpoints 16

  17. Net Order Determination — Bends � Changing routing direction needs vias , so bend is similar to pin ⎯ Bends ( T ) ↑ , Score ( T ) ↑ net A 1 bend at least needs an via net A net B 0 bend may not need vias net B 17

  18. Net Order Determination � Score ( T )’s relationships with Length ( T ), PinNum(T ), and Bends ( T ). ⎯ Length ( T ) ↑ , Score ( T ) ↓ ⎯ PinNum ( T ) ↑ , Score ( T ) ↑ ⎯ Bends ( T ) ↑ , Score ( T ) ↑ � Score ( T ) = ( α× Bends ( T ) + β× PinNum ( T )) / Length ( T ) 18

  19. Single-net Layer Assignment � [Lee et al., TCAD’08] “ Congestion-Constrained Layer Assignment for Via Minimization in Global Routing ” ⎯ COLA finds a layer assignment result with minimum via count for a 2D net p 3 ′ p 2 p 3 COLA COLA Via count ′ ′ p 1 p 2 p 1 19

  20. Single-net Layer Assignment � [Lee et al., TCAD’08] “ Congestion-Constrained Layer Assignment for Via Minimization in Global Routing ” ⎯ COLA finds a layer assignment result with minimum via count for a 2D net � Extends from COLA, our algorithm can deal with via overflow and via count p 3 ′ p 2 p 3 Via overflow Extended Extended COLA COLA Via count ′ ′ p 1 p 2 p 1 20

  21. Single-net Layer Assignment � DP-based layer assignment method ⎯ Minimize increase on via overflow , and via count � For a net, assign one edge at a time a b Assign b Assign a a b z 2D view 3D view 21

  22. Single-net Layer Assignment � Vias are placed after edges are assigned ⎯ Vias are determined by edges and pins a b I II III IV � Since vias on different tiles are independent, the via overflow increase on each tile can be calculated independently 22

  23. Single-net Layer Assignment � Memorize the minimum via overflow one on each stage and propagate it to the next stage a b I II III IV 23

  24. Single-net Layer Assignment � In the end, the optimal result is the one with minimum total via overflow increase Optimal result � If there is a tie on via overflow increase, choose the one with minimum via count 24

  25. Refinement � Refinement can improve the via overflow of the original layer assignment result ⎯ Rip-up and re-layer assignment for each net � Enhance the net order net B net A Can’t pass 2D view 3D view 25

  26. Refinement � Net A assigned first, and net B assigned second ⎯ Net A has 2 choices with the same via overflow increase and via count I II 26

  27. Refinement � If net A chooses improperly, net B will generate via overflow inevitably ⎯ It is impossible for net A to know how to choose before net B is assigned Via overflow Net B’ Net B ’s s Layer Layer Assignment Assignment 27

  28. Refinement � With refinement, the via overflow will be improved by the re-layer assignment of net A ⎯ The re-layer assignment will not generate worse result than pervious Via overflow No via overflow Net A’ Net A ’s s re re- -layer layer Assignment Assignment 28

  29. Experiment Flow 3D routing results Compression 2D routing results COLA Ours Layer Assignment 3D results 29

  30. Experimental Results without Refinement � Without refinement , our algorithm induced 23~35% via overflow with 1~3% WL increase compared with COLA [1] [1] Lee et al., TCAD’08, “ Congestion-Constrained Layer Assignment for Via Minimization in Global Routing” 30

  31. Experimental Results with Refinement � With refinement , our algorithm induced 5~15% via overflow with 4~6% WL increase compared with COLA [1] [1] Lee et al., TCAD’08, “ Congestion-Constrained Layer Assignment for Via Minimization in Global Routing” 31

  32. Conclusions � Develop a layer assignment algorithm considering via overflow and via count � Future work : a more effective net order and layer assignment method 32

  33. Q & A Thank You! and 33

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