300 likes | 488 Views
Multi-layer Global Routing Considering Via and Wire Capacities. Chin-Hsiung Hsu , Huang-Yu Chen, and Yao-Wen Chang. National Taiwan University, Taiwan. Outline. Via Capacity. Problem Formulation. Routing Flow. Aerial-Monotonic Routing. Routing Techniques. Escaping-Point Routing.
E N D
Multi-layer Global Routing Considering Via and Wire Capacities Chin-Hsiung Hsu, Huang-Yu Chen, and Yao-Wen Chang National Taiwan University, Taiwan
Outline Via Capacity Problem Formulation Routing Flow Aerial-Monotonic Routing Routing Techniques Escaping-Point Routing Experimental Results Conclusions Multi-Source Multi-Sink Monotonic Routing
Outline Via Capacity Problem Formulation Routing Flow Aerial-Monotonic Routing Routing Techniques Escaping-Point Routing Experimental Results Conclusions Multi-Source Multi-Sink Monotonic Routing
Problem Formulation • Prioritized objectives of global routing: 1. minimize the total wire and via overflow 2. minimize the maximum overflow 3. minimize the weightedtotal wirelength • WL is weighted by CPU time Tile Boundary z y x Global Tile Node Global Edge Tile
Motivation • Common pitfall of ISPD global routing contests • Via usage in congested tiles is in excess Estimated Demand Tile Wire Lower-bound Demand Stacked Via Resources Unstacked Via newblue2 adaptec1 adaptec3 adaptec4 adaptec2 adaptec5
Stacked Vias in 3D Global Routing • The metrics of ISPD global routing contest are over-simplified • 3D global routing should consider via usage, especially stacked vias • Stacked vias pass through at least one metal layer and occupyextra resources Stacked Via Unstacked Via Horizontal Cross-Tile Wire Vertical Cross-Tile Wire Remaining Position for Stacked Vias
Dynamic Via Capacity • Via capacity on a global tile (Cv): • Obstacles and in-tile wires should be considered • Cv = remaining_area / via_area = (At – Ao – Ai – Aw) / via_area • Via capacity changes dynamically because # of cross-tile wires may change during rerouting At: area of tile Ao: area of obstacles Ai: area of in-tile wires Aw: area of cross-tile wires Remaining area for Stacked Vias
Outline Via Capacity Problem Formulation Routing Flow Aerial-Monotonic Routing Routing Techniques Escaping-Point Routing Experimental Results Conclusions Multi-Source Multi-Sink Monotonic Routing
Routing Flow Negotiation-Based Rip-Up and Rerouting Initial Routing MST Net Decomposition Aerial-Monotonic Routing Least-Flexibility-First Routing Escaping-Point Routing 2D Monotonic Routing A*-Search Routing 2D Rerouting (Wire Overflow) Via-Overflow-Aware Layer Assignment 3D Rerouting (Via Overflow)
Via-Overflow-Aware Layer Assignment • Layer assignment is performed for subnets in the non-decreasing order of their wirelength • Least-flexibility subnets first • Cost function is prioritized by: 1. inducing wire overflow 2. inducing via overflow 3. using a via or a wire • For inheriting 2D routing results, we minimize via overflow without increasing wire overflow
Outline Via Capacity Problem Formulation Routing Flow Aerial-Monotonic Routing Routing Techniques Escaping-Point Routing Experimental Results Conclusions Multi-Source Multi-Sink Monotonic Routing
Routing Paths • General monotonic routing path: • No detour hard to avoid congested regions • 3D monotonic routing path is not practical because pins locate on the lowest layer and wires locate on upper layers • 3D aerial-monotonic routing path: • In aerial view, it is monotonic • In lateral view, it can detour • Escaping-point routing path: • Allowing detour easy to avoid congested regions • It is composed of 2 monotonic routing paths t s t s Net Bounding Box
2D (Planar) Routing Techniques • Solution space and complexity comparisons gap O(V) O(V) O(VlgV) Increasing solution space L/Z Shaped Routing Monotonic Routing Escaping-Point Routing Maze Routing Fast Not allowing detour Fast Allowing detour Slow Allowing detour V: # of nodes in search space
3D Routing Techniques • Solution space and complexity comparisons gap O(V) O(V) O(VlgV) Increasing solution space 3D L/Z Shaped Routing 3D Aerial-Monotonic Routing Aerial Escaping-Point Routing 3D Maze Routing
Topology-Restructuring Routing Techniques • Solution space and complexity comparisons O(V) O(VlgV) gap Increasing solution space Multi-Source Multi-Sink Monotonic Routing Multi-Source Multi-Sink Escaping-Point Routing Multi-Source Multi-Sink Maze Routing Proposed by M. Pan and C. Chu in ASPDAC’07
Outline Via Capacity Problem Formulation Routing Flow Aerial-Monotonic Routing Routing Techniques Escaping-Point Routing Experimental Results Conclusions Multi-Source Multi-Sink Monotonic Routing
Difficulty of Aerial-Monotonic Routing (AMR) • 2D monotonic routing: • Routing graph is directed acyclic • Existing shortest path algorithm can find an optimal solution in linear time • 3D aerial-monotonic routing: • Routing graph contains cycles and is NOT directed acyclic • Existing shortest path algorithm cannot find an optimal solution in linear time
Aerial-Monotonic Routing (AMR) • Observation: aerial-monotonic routing path cannot go up and down in the same pile • Use 3D pile update to handle cycles in routing graph pile aerial view
Multi-Source Multi-Sink AMR (MSAMR) • Aerial-monotonic propagation is based on topological relationship of source and target subtrees 2 propagations t’ t1 t1 Tt t Ts Tt s’ s s1 s1 Ts 1 propagation 4 propagations t1 Aerial-Monotonic Propagation t1 Box Covering Ts Box Covering Tt Obstacle s2 s2 t2 Ts t2 Tt s1 s1 t2 t1 t2 t1 s4 s3 s4 s3 Tt + Ts t3 t4 t3 t4 s1 s2 s1 s2
Two-phase Aerial-monotonic Routing (TAMR) • Two-phase search: • Finding escaping point: • connect two sub-paths • detour out of the net bounding box t p t t s s s
Outline Via Capacity Problem Formulation Routing Flow Aerial-Monotonic Routing Routing Techniques Escaping-Point Routing Experimental Results Conclusions Multi-Source Multi-Sink Monotonic Routing
Experimental Setting • C++ programming language • 2.0 GHz Intel Xeon Linux workstation • ISPD’07 benchmarks
Results on ISPD’07 Benchmarks • NTUgr achieves the best overflow for newblue3 circuit • For overflow-free circuits, NTUgr achieves the best CPU time FGR Archer Maize- NTHU- NTUgr Router Route (Ours) FGR Archer Maize- NTHU- NTUgr Router Route (Ours)
Results Considering Via Capacity • Dynamic via capacity: • NTUgr achieves the best results • Via capacity changes during rerouting • Fixed via capacity: • NTUgr achieves the best results • For fair comparisons, assume that 86% (90% and 94%) capacity is used FGR Maize- Box- NTHU- NTUgr Router Router Route (Ours) 2.0 86% FGR Maize- Box- NTHU- NTUgr Router Router Route (Ours) 2.0
Outline Via Capacity Problem Formulation Routing Flow Aerial-Monotonic Routing Routing Techniques Escaping-Point Routing Experimental Results Conclusions Multi-Source Multi-Sink Monotonic Routing
Conclusions • Have developed an effective and efficient global router (NTUgr) considering via capacity • Define practical routing paths and propose corresponding routing algorithms to find optimal solutions • 3D aerial-monotonic routing • Escaping-point routing • Multi-source multi-sink monotonic routing
Conclusions and Future Work • A dummy fill algorithm considering both gradient minimization and coupling constraints • Achieve more balanced metal density distribution with fewer dummy features and an acceptable timing overhead • Future work: integration of gradient minimization and coupling constraints • Simultaneously minimize the gradient and the coupling capacitance Thank You! Chin-Hsiung Hsu arious@eda.ee.ntu.edu.tw