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.
