Top Banner
Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign
30

Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

Dec 31, 2015

Download

Documents

Claude Malone
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

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

Page 2: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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)

Page 3: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 4: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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

Page 5: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 6: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 6 -

Non-greedy Rip-up and Reroute

A non-greedy step that increases total overflow is needed.

This step leads to congestion-free solution.

Page 7: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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

Page 8: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 9: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 10: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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?

Page 11: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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

Page 12: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 13: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 14: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 15: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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

Page 16: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 17: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 18: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 19: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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

Page 20: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 20 -

Constraint-Driven Routing of Connections

Page 21: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 22: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 23: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 23 -

Congestion-Driven Topology Optimization

Objective:

Applying LR:

where:

Page 24: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 25: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 25 -

Benchmarks

Page 26: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 26 -

ISPD-98 Benchmark Results

First reported overflow-free results for all circuits.

~2% better wirelength with respect to the best results published.

Page 27: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 28: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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.

Page 29: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 29 -

Impact of Different Features

Page 30: Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.

- 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