Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign
Dec 31, 2015
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
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 gridDetail 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-optimaConstraint-driven routing to trade-off overflow vs. wirelengthCongestion 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 rerouteTrade-off between congestion and wirelengthUsing fixed Steiner topologies
Overview of proposed algorithm
Contributions:History-based path computationsConstraint-driven routing of netsTopology 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 lengthHow 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 nCompute min-length Steiner tree for n using FLUTEInitial route n with min length
While termination condition not occurredFor each congested 2-pin connection c
Rip-up and reroute c to minimize given cost metricUpdate constraints of c based on its history
In every K iterationImprove 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:1. Minimize total congestion history cost2. Minimize total wirelength3. 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 optimaOverflows: 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