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(nlogn). 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.
Keywords :
buffer circuits; data structures; dynamic programming; redundancy; time optimal control; Elmore delay; O(nlogn) time algorithm; buffer sizing; efficient data structure; merging scheme; optimal buffer insertion; redundancy check; van Ginneken; wire sizing; Algorithm design and analysis; Computer applications; Data structures; Delay; Integrated circuit interconnections; Merging; Permission; Routing; Space stations; Wire;