1 / 30

Archer: A History-Driven Global Routing Algorithm

Archer: A History-Driven Global Routing Algorithm. Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign. Introduction. Interconnects play significant role in today ’ s technology Routing is becoming more and more difficult due to:

olina
Download Presentation

Archer: A History-Driven Global Routing Algorithm

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. Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign

  2. Introduction • Interconnects play significant role in today’s technology • Routing is becoming more and more difficult due to: • Increased densities, yield issues, complex DFM rules • Routing problem is typically solved in two steps: • Global routing (GR): Approximate routing on coarse-grain grid • Detail routing (DR): Exact routing based on GR results • Quality of the final interconnect largely depends on GR quality • We propose a new GR algorithm based on rip-up and reroute (RNR)

  3. Introduction • Main contributions: • Congestion histories to guide iterations out of local-optima • Constraint-driven routing to trade-off overflow vs. wirelength • Congestion driven Steiner tree generation during RNR using Lagrangian relaxation • Experiments show better overflow results for ISPD-98 and ISPD-07 benchmarks, compared to other state-of-the-art routers.

  4. Outline • Common limitations of GR algorithms: • Greedy rip-up and reroute • Trade-off between congestion and wirelength • Using fixed Steiner topologies • Overview of proposed algorithm • Contributions: • History-based path computations • Constraint-driven routing of nets • Topology optimization for congestion • Experimental results

  5. Greedy Rip-up and Reroute • Route 3 nets in the order: A  B  C • Minimizing overflow at each step will get it stuck at local optimal.

  6. Non-greedy Rip-up and Reroute • A non-greedy step that increases total overflow is needed. • This step leads to congestion-free solution.

  7. Congestion vs. Wirelength Tradeoff • In case of overflow, how to decide: • which nets to detour? • how much to detour? • A typical cost metric: weighted sum of overflow and length • How to quantify the amount of extra wirelength to reduce 1 unit of overflow? • Detouring the nets prematurely can lead to increased overflows at the end

  8. Congestion vs. Wirelength Tradeoff • Rerouting net C to reduce overflow while increasing wirelength. • Resource usage increased even more in an already congested region • A premature detour can lead to suboptimal solution.

  9. Topology Optimization • A Steiner tree is generated for multi-terminal nets. • GR is typically performed one connection at-a-time. • Using static trees in GR can degrade routability. • Min-length Steiner trees may not necessarily be the best for congestion. • Example: Steiner points in a hotspot will force the net to be routed in the hotspot.

  10. Topology Optimization • Wirelength-congestion tradeoff needed for topology optimization. • Static congestion-based topologies do not work as well as dynamic topologies. • Applying iterative maze routing to change topologies may lead to suboptimality. • How much to increase wirelength to reduce congestion?

  11. Algorithm Overview • For each net n • Compute min-length Steiner tree for n using FLUTE • Initial route n with min length • While termination condition not occurred • For each congested 2-pin connection c • Rip-up and reroute c to minimize given cost metric • Update constraints of c based on its history • In every K iteration • Improve topology of each congested net with congestion history

  12. Cost Formulation for Path Computations • Maintain a length bound for each connection. • Initially, set it to min length. • Increase the length bound of a consistently congested connection. • It can also be set based on criticality of the net. • At any point during RNR iterations, the following cost metric is used: • Minimize total congestion history cost • Minimize total wirelength • Minimize total usage • Only the connections congested repatedly will be allowed to have non-minimum wirelengths.

  13. Congestion History Metric • Negotiated congestion idea utilized extensively for FPGA routing. • Congestion history of edge e in iteration k is defined as: • Here, hek is the history cost, and computed as: • If an edge is congested repeatedly, its history cost will increase rapidly. • Aging effect: The edges congested only in the earlier iterations will have less cost.

  14. Congestion History Metric (cont’d) • Here, α is a scaling factor to tradeoff between minimization of: • History costs: Effective at avoiding local optima • Overflows: The main objective metric • For a smooth transition, α is defined based on the optimization stage.

  15. Congestion History Metric (cont’d) • Initiation: Overflow minimization using simple RNR • Negotiation: Aggressive congestion spreading • Convergence: Gradually shifting the focus to the original objective

  16. Example • The history costs of the congested resources will increase to push away net B. • Net A will be ripped up and rerouted with less congestion.

  17. Constraint-Driven Routing of Connections • Two important considerations: • Pattern routing is significantly faster than maze routing. Besides, it leads to more predictable routing with less number of bends. • Increasing wirelengths prematurely to avoid congestion can eventually lead to higher overflows. • A set of alternative routing methodologies utilized for different 2-pin connections based on their congestion histories: • Min-length pattern routing (I/L/Z routing) • Extremely fast due to small solution space. • All connections restricted to be routed this way in the beginning.

  18. Constraint-Driven Routing of Connections • Pattern routing with detours (U routing): • If a connection cannot be routed congestion-free in several iterations, its length bound is increased gradually. • Monotonic maze routing: • If a connection cannot be routed congestion-free in significant number of iterations, monotonic maze routing is allowed for that connection. • Faster than non-monotonic maze routing.

  19. Constraint-Driven Routing of Connections • Non-monotonic maze routing: • Utilized only if a connection is congested for large # of iterations. • A bounding box is defined based on its length bound. Monotonic maze routing Non-monotonic maze routing

  20. Constraint-Driven Routing of Connections

  21. Congestion-Driven Topology Optimization • Improve the topologies of the nets that have large congestion histories. • Objective: Create a topology that minimizes the total congestion cost, while satisfying the upper length bound (Lmax) of the net. • Heuristic-based algorithm: • Map the original topology to Hanan grid. • Iteratively rip-up and reroute the edges on Hanan grid. • Return the best topology encountered that satisfies length bound. • Greedily enforcing Lmax in every iteration is an over-constraint. • It may be necessary to allow intermediate topologies with lengths larger than Lmax. • We propose a Lagrangian relaxation (LR) based iterative improvement algorithm.

  22. Example • Objective: Min. congestion while satisfying Lmax. • Iterative rip-up and reroute of edges. • An intermediate topology can have total length > Lmax. • At each step, trying to minimize LR cost function. • Final topology avoids the congestion hotspot.

  23. Congestion-Driven Topology Optimization • Objective: • Applying LR: • where:

  24. Experimental Results • Experimental setup: C++, Intel Xeon 3.60Ghz CPU, Linux OS • Two sets of experiments: • ISPD-98: Minimum overflow and wirelength reported so far • ISPD-07: Minimum total overflow compared to ISPD-07 GR Contest participants • Note on ISPD-07 benchmarks: • Each circuit has a 2-D and 3-D version. • All layers in 3-D circuits have identical width/spacing constraints. • Vias do not affect congestion by definition. • It is possible to map a 2-D solution to 3-D without increasing overflows or wirelengths. • Our algorithms are applicable to both 2-D and 3-D problems. • However, the problem complexity of solving 2-D problem is significantly smaller than solving 3-D. • For fair comparison, we solve the 2-D problems, and perform layer assignment to obtain 3-D solutions.

  25. Benchmarks

  26. ISPD-98 Benchmark Results • First reported overflow-free results for all circuits. • ~2% better wirelength with respect to the best results published.

  27. ISPD-07 Benchmark Results • Same parameter used in all runs. • Simple layer assignment performed to obtain 3-D results. • Room for improvement exists for via counts in 3-D results.

  28. Comparison with ISPD-07 Contest Results • Contest rules: • Parameter fine tuning is allowed for individual circuits. • CPU time is not a contest metric. Emphasis is on quality.

  29. Impact of Different Features

  30. Conclusions • A new global router is proposed with 3 main contributions: • A history-based cost metric to resolve congestion • Constraint-driven routing to enable smooth tradeoff between overflow, wirelength, and CPU times • An LR-based congestion-aware topology improvement algorithm • Experimental results: • Overflow-free routing solution for all ISPD-98 benchmarks • Minimum total overflow obtained on ISPD-07 benchmarks

More Related