310 likes | 516 Views
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:
E N D
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: • 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)
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.
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
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.
Non-greedy Rip-up and Reroute • A non-greedy step that increases total overflow is needed. • This step leads to congestion-free solution.
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
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.
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.
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?
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
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.
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.
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.
Congestion History Metric (cont’d) • Initiation: Overflow minimization using simple RNR • Negotiation: Aggressive congestion spreading • Convergence: Gradually shifting the focus to the original objective
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.
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.
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.
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
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.
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.
Congestion-Driven Topology Optimization • Objective: • Applying LR: • where:
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.
ISPD-98 Benchmark Results • First reported overflow-free results for all circuits. • ~2% better wirelength with respect to the best results published.
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.
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.
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