Table of Contents
Fetching ...

Cost-Distance Steiner Trees for Timing-Constrained Global Routing

Stephan Held, Edgar Perner

TL;DR

This work tackles the problem of constructing Steiner trees that minimize a combined congestion-cost and delay-weighted metric under a linear delay model to support timing-constrained global routing. It introduces a fast randomized $O(\log t)$-approximation algorithm with running time $O(t(n\log n + m))$, augmented to account for bifurcation penalties via a tunable parameter $d_{bif}$ and distribution parameter $\eta$. The method proceeds by a Kruskal-like iterative merging, using per-sink shortest paths with $l_u(e)=c(e)+w(u)d(e)$ and a merging cost $L(u,v)$ to connect sinks through Steiner points while updating the root; a near-perfect matching argument ensures the $O(\log t)$ factor. Several practical enhancements (discounting existing components, a two-level heap, goal-oriented searches, improved Steiner-vertex embedding, and root-connection incentives) coupled with extensive experiments demonstrate superior performance over topology-first baselines in timing-constrained global routing on large 5nm designs. The results suggest a scalable and effective subroutine that improves timing and congestion outcomes, with competitive runtimes and improved via counts compared to traditional approaches.

Abstract

The cost-distance Steiner tree problem seeks a Steiner tree that minimizes the total congestion cost plus the weighted sum of source-sink delays. This problem arises as a subroutine in timing-constrained global routing with a linear delay model, used before buffer insertion. Here, the congestion cost and the delay of an edge are essentially uncorrelated, unlike in most other algorithms for timing-driven Steiner trees. We present a fast algorithm for the cost-distance Steiner tree problem. Its running time is $\mathcal{O}(t(n \log n + m))$, where $t$, $n$, and $m$ are the numbers of terminals, vertices, and edges in the global routing graph. We also prove that our algorithm guarantees an approximation factor of $\mathcal{O}(\log t)$. This matches the best-known approximation factor for this problem, but with a much faster running time. To account for increased capacitance and delays after buffering caused by bifurcations, we incorporate a delay penalty for each bifurcation without compromising the running time or approximation factor. In our experimental results, we show that our algorithm outperforms previous methods that first compute a Steiner topology, e.g. based on shallow-light Steiner trees or the Prim-Dijkstra algorithm, and then embed this into the global routing graph.

Cost-Distance Steiner Trees for Timing-Constrained Global Routing

TL;DR

This work tackles the problem of constructing Steiner trees that minimize a combined congestion-cost and delay-weighted metric under a linear delay model to support timing-constrained global routing. It introduces a fast randomized -approximation algorithm with running time , augmented to account for bifurcation penalties via a tunable parameter and distribution parameter . The method proceeds by a Kruskal-like iterative merging, using per-sink shortest paths with and a merging cost to connect sinks through Steiner points while updating the root; a near-perfect matching argument ensures the factor. Several practical enhancements (discounting existing components, a two-level heap, goal-oriented searches, improved Steiner-vertex embedding, and root-connection incentives) coupled with extensive experiments demonstrate superior performance over topology-first baselines in timing-constrained global routing on large 5nm designs. The results suggest a scalable and effective subroutine that improves timing and congestion outcomes, with competitive runtimes and improved via counts compared to traditional approaches.

Abstract

The cost-distance Steiner tree problem seeks a Steiner tree that minimizes the total congestion cost plus the weighted sum of source-sink delays. This problem arises as a subroutine in timing-constrained global routing with a linear delay model, used before buffer insertion. Here, the congestion cost and the delay of an edge are essentially uncorrelated, unlike in most other algorithms for timing-driven Steiner trees. We present a fast algorithm for the cost-distance Steiner tree problem. Its running time is , where , , and are the numbers of terminals, vertices, and edges in the global routing graph. We also prove that our algorithm guarantees an approximation factor of . This matches the best-known approximation factor for this problem, but with a much faster running time. To account for increased capacitance and delays after buffering caused by bifurcations, we incorporate a delay penalty for each bifurcation without compromising the running time or approximation factor. In our experimental results, we show that our algorithm outperforms previous methods that first compute a Steiner topology, e.g. based on shallow-light Steiner trees or the Prim-Dijkstra algorithm, and then embed this into the global routing graph.

Paper Structure

This paper contains 16 sections, 6 theorems, 14 equations, 3 figures, 5 tables, 1 algorithm.

Key Result

Theorem 1

The cost-distance algorithm can be implemented with a running time of $\mathcal{O}(t(n\log n + m))$.

Figures (3)

  • Figure 1: Two trees for the same net, the right one with fewer bifurcations on the path from the root $r$ to critical sinks (red dots).
  • Figure 2: Two buffering solutions (small red squares) indicating different delay tradeoffs between at the branchings.
  • Figure 3: Cost-distance algorithm example. Root in red, the sinks $S$ in black. For simplicity the labeled vertices in global routing graph are visualized as Euclidean balls.

Theorems & Definitions (12)

  • Theorem 1
  • proof
  • Lemma 2
  • proof
  • Lemma 3
  • proof
  • Lemma 4
  • proof
  • Lemma 5
  • proof
  • ...and 2 more