Abstract
The placement algorithms presented in the previous chapters mostly focus on minimizing the total wirelength (TWL). Timing-driven placement (TDP) is designed specifically targeting wires on timing critical paths. It shall be noted that a cell is usually connected with two or more cells. Making some targeted nets shorter during placement may sacrifice the wirelengths of other nets that are connected through common cells. While the delay on critical paths decreases, other paths may become critical. Therefore, timing-driven placement has to be performed in a very careful and balanced manner. Timing-driven placement has been studied extensively over the last two decades. The drive for new methods in timing-driven placement to maximize circuit performance is from multiple facets due to the technology scaling and integration: (1) growing interconnect versus gate delay ratios, (2) higher levels of on-die functional integration which makes global interconnects even longer, (3) increasing chip operating frequencies which make timing closure tough, (4) increasing number of macros and standard cells for modern system-on-chip (SOC) designs. These factors create continuing challenges to better timing-driven placement Timing-driven placement can be performed at both global and detailed placement stages (see previous chapters on placement). Historically, timing-driven placement algorithms can be roughly grouped into two classes: net-based and path-based. The net-based approach deals with nets only, with the hope that if we handle the nets on the critical paths well, the entire critical path delay may be optimized implicitly. The two basic techniques for net-based optimization are through net weighting [17, 5, 37, 50] and net constraints [22] [63] [55] [48] [24] [29]. The path-based approach directly works on all or a subset of paths [31, 59, 61, 11]. The majority path-based approaches formulate the problem into a mathematical programming framework (e.g., linear programming). There are pros and cons for both net and path based approaches in terms of runtime/scalability, ease of implementation, controllability, and so on. Modern timing driven placement techniques tend to use some hybrid manner of both net-based and path-based approaches [39]. In this chapter, we will discuss fundamental algorithms as well as recent trends of timing-driven placement. Due to the large amount of works in timing-driven placement, it is not possible to exhaust all of them in this chapter. Instead, we will describe the basic ideas and fundamental techniques, and point out recent researches and possible future directions. We will first cover the basic building blocks for timing driven placement. Then the next two sections will discuss net-based approaches, i.e., through net weighting and net constraints. Then we will survey the basic formulations and algorithms behind the path (or timing graph) based approach. Additional techniques and issues in the context of timing driven placement will be discussed, followed by conclusions.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have