1. Prim-Dijkstra Revisited
- Author
-
Sriram Venkatesh, Wing-Kai Chow, Andrew B. Kahng, Charles J. Alpert, Kwangsoo Han, Derong Liu, and Zhuo Li
- Subjects
Spanning tree ,Computer science ,0102 computer and information sciences ,02 engineering and technology ,Spanning Tree Protocol ,01 natural sciences ,Steiner tree problem ,020202 computer hardware & architecture ,symbols.namesake ,Tree (data structure) ,Computer engineering ,010201 computation theory & mathematics ,0202 electrical engineering, electronic engineering, information engineering ,symbols ,Benchmark (computing) ,Electronic design automation ,Routing (electronic design automation) ,Dijkstra's algorithm - Abstract
The Prim-Dijkstra (PD ) construction [1] was first presented over 20 years ago as a way to efficiently trade off between shortest-path and minimum-wirelength routing trees. This approach has stood the test of time, having been integrated into leading semiconductor design methodologies and electronic design automation tools. PD optimizes the conflicting objectives of wirelength (WL) and source-sink pathlength (PL) by blending the classic Prim and Dijkstra spanning tree algorithms. However, as this work shows, PD can sometimes demonstrate significant suboptimality for both WL and PL. This quality degradation can be especially costly for advanced nodes because (i) wire delays form a much larger component of total stage delay, i.e., timing-driven routing is critical, and (ii) modern designs are severely power-constrained (e.g., mobile, IoT), which makes low-capacitance wiring important. Consequently, achieving a good timing and power tradeoff for routing is required to build a market-leading product[2]. This work introduces a new problem formulation that incorporates the total detour cost in the objective function to optimize the detour to every sink in the tree, not just the worst detour. We then propose a new PD-II construction which directly improves upon the original PD construction by repairing the tree to simultaneously reduce both WL and PL. The PD-II approach achieves improvement for both objectives, making it a clear win over PD, for virtually zero additional runtime cost. PD-II is a spanning tree algorithm (which is useful for seeding global routing); however, since Steiner trees are needed for timing estimation, this work also includes a post-processing algorithm called DAS to convert PD-II trees into balanced Steiner trees. Experimental results demonstrate that this construction outperforms the recent state-of-the-art academic tool, SALT [36], for high-fanout nets, achieving up to 36.46% PL improvement with similar WL on average for 20K nets of size ≥ 32 terminals from DAC 2012 contest benchmark designs [37].
- Published
- 2018
- Full Text
- View/download PDF