An O(nlogn) time algorithm for optimal buffer insertion
Conference Paper
Overview
Additional Document Info
View All
Overview
abstract
The classic algorithm for optimal buffer insertion due to van Ginneken has time and space complexity O(n2), where n is the number of possible buffer positions. We present a new algorithm that computes the same optimal results, but in time and space complexity O(n log n). Our speedup is achieved by four new ideas: an efficient data structure, the concept of buffer-dominate, a fast redundancy check, and a fast merging scheme. On industrial test cases, the new algorithm is 2 to 50 times faster than van Ginneken's algorithm and uses 1/2 to 1/100 of the memory. Since van Ginneken's algorithm and its variations are used by most existing algorithms on buffer insertion, buffer sizing, and wire sizing, our new algorithm significantly improves the performance of all these algorithms.