Abstract:
The total wire length of a design affects various QoR measures such as timing, power, and routability. Hence, it is a critical parameter to optimize in physical design. Post global routing, the total wire length can be further minimized by incremental placement, i.e., moving the cell instances by a small amount to reduce the total wire length. Traditionally, incremental placement is done by deterministically finding suitable locations for a cell in its vicinity. Subsequently, the wire length for these locations is estimated by performing global routing, and the move is accepted if it reduces the wirelength. However, most such moves are rejected due to rout ability constraints, and the time spent in finding suitable locations is wasted. As an alternative, we can randomly try locations in the vicinity of a cell and accept the movement if it reduces the wire length. This method will allow us to perform many such evaluations quickly. However, this method will have a low acceptance rate. In this work, we propose a fast Artificial Neural Network (ANN) based incremental placement technique. We use an ANN to predict a good location for a cell using various input features. An ANN can predict a movement very quickly, and we can try many such movements in given time duration. Further, the acceptance rate for an ANNbased incremental placer can be enhanced by employing a high-quality training set. In this work, we generate training data set synthetically by choosing the right balance of randomness and constraint. We obtain training data by first generating placement and congestion scenarios for a small grid using a constrained-random strategy. Then, we determine the optimal solution for a cell in the generated problem. We refer to this approach of training data generation as solution-directed. Further, we augment the training data set by finding optimal problem-solution pairs by starting with a solution and then computing a problem for which the given solution is guaranteed to be optimal. We refer to this approach of training data generation as problem-directed. We demonstrate that we can train an ANN efficiently by utilizing a mix of problem-directed and solution-directed training sets. We observe that an incremental placer utilizing ANN trained with mixed training data set produces around 15% more acceptance rate than using either problem-directed or solution-directed training data set. Further, we benchmark the proposed incremental placer against a random movement-based incremental placer on ICCAD2020 benchmark designs [1]. For a given time limit of three hours, the number of trials that the ANNbased incremental placer performs is of the same order as the random placement-based incremental placer. Further, the proposed incremental placer has an acceptance rate of approximately 5X of the random placement-based incremental placer. The wire length reduced per accepted movement for the ANN-based placer is approximately 20% higher than the random placement-based algorithm. Thus, the number of feasible solutions and their quality is significantly better than the random incremental placer. Overall, the runtime of the proposed placer is similar to the random incremental placer but produces a wire length reduction of 3x more than the random incremental placer. Hence, the results demonstrate that the proposed incremental placer can provide a good tradeoff between accuracy and runtime over the traditional incremental placer.