Routability Driven Analytical Placement for Mixed-Size Circuit Designs Meng-Kai Hsu, Sheng Chou, Tzu-Hen Lin, and Yao-Wen Chang Electronics Engineering, National Taiwan University Outline Introduction Preliminaries Proposed algorithm Experimental results Conclusion Introduction mixed-size circuit designs which integrate a large number of pre-designed macros (e.g., embedded memories, IP blocks) and standard cells with very different sizes have become a mainstream for modern circuit designs. Considering routability during placement is of particular significance for modern mixed-size circuit designs with very large-scale interconnections Contribution A new routability-driven analytical placement algorithm pin density the density of pins the routing directions of the pins routing overflow optimization A novel sigmoid function based overflow refinement method macro porosity consideration a new virtual macro expansion technique A routability-driven legalization and a detailed placement technique are proposed Preliminaries Analytical Placement Framework The circuit placement problem can be formulated as a hypergraph 𝐻 = (𝑉,𝐸) placement problem. vertices 𝑉 = {𝑣1, 𝑣2, ..., 𝑣𝑛} represent blocks hyperedges 𝐸 = {𝑒1, 𝑒2, ..., 𝑒𝑛} represent nets 𝑥𝑖 and 𝑦𝑖 be the 𝑥 and 𝑦 coordinates of the center of block 𝑣𝑖 Two type blocks pre-placed blocks and movable blocks Preliminaries Analytical Placement Framework We intend to determine the optimal positions of movable blocks so that the target cost (e.g., wirelength) is minimized and there is no overlap among blocks. The placement problem is usually solved in three steps: (1) global placement (2) legalization (3) detailed placement Generally, global placement has the most crucial impact on the overall Preliminaries Analytical Placement Framework the global placement problem can be formulated as a constrained minimization problem as follows: 𝑊(x, y) is the wirelength function 𝐷𝑏(x, y) is the potential function that is the total area of movable blocks in bin 𝑏 𝑀𝑏 is the maximum allowable area of movable blocks in bin 𝑏 Preliminaries Analytical Placement Framework Equation (1) can be solved by the quadratic penalty method, implying that we solve a sequence of unconstrained minimization problems of the form solve the unconstrained problem in Equation (2) by the conjugate gradient (CG) method Preliminaries Congestion Estimation The global routing problem is often solved with a grid graph model After dividing the routing region into uniform and nonoverlapping regions called G-cells, each G-cell is denoted as a node, and two adjacent G-cells are connected by a routing edge. the capacity of a routing edge denotes the number of routing tracks that are available for nets crossing the corresponding boundary Preliminaries Congestion Estimation Since the exact routing is unknown during placement, routability is an abstract concept. In this paper, we adopt the L-shaped probabilistic routing model since it is efficient and can produce sufficiently accurate estimation for routing congestion To estimate the routing congestion, nets are first decomposed into 2-pin nets by FLUTE then each 2-pin net is routed by upper-L and lower-L patterns with 50% probability for each direction. The proposed algorithm The proposed algorithm consists of three stages: routability-driven global placement with pin density control, routability-driven legalization with routing congestion optimization, and routability-driven detailed placement The proposed algorithm Routability-Driven Global Placement three aspects: (1) pin density, (2) routing overflow optimization (3) macro porosity consideration There are two stages in the multilevel framework: (1) the coarsening stage, and first-choice (FC) clustering algorithm (2) the uncoarsening stage the placement problem in Equation (2) is solved from the coarsest level to the finest level. The proposed algorithm Routability-Driven Global Placement Pin Density Control The proposed algorithm Routability-Driven Global Placement Pin Density Control To control the total number of pins in a G-cell formulate pin density penalties in the density constraints in Equation (1) 𝑝𝑏(x, y) is the pin density in bin 𝑏, which is the ratio between the total number of pins in b and the total number of allowed pins in each bin 𝐴𝑓 is the total movable area for placement By subtracting the maximum potential of a bin 𝑏 by its pin density penalty, pin density of a G-cell is the summation of pin densities on its corresponding routing edges. Routability Optimization Congestion Removal congested region identification build a congestion map by using L-shaped probabilistic routing and calculate the routing overflow of each bin. adaptive base potential modification If the overflow of a bin is smaller than the average, we slightly reduce the base potential. On the contrary, if the overflow of a bin is larger than the average, we reduce the base potential more aggressively Gaussian filtering nonlinear optimization optimize the objective in Equation (2) subject to the modified base potentials Routability Optimization Overflow Refinement a nonlinear formulation based on L-shaped probabilistic routing decompose each multi-pin net into 2-pin nets by FLUTE Then, we optimize the overflow by solving a constrained minimization problem of the form 𝐸𝑒 denotes the expected usage of routing edge 𝑒 𝐶e denotes the routing capacity of the routing edge Routability Optimization Overflow Refinement In order to represent the equation of 𝐸𝑒 in terms of block positions, we first define a 0-1 logic function 𝑓(𝑙, 𝑥, 𝑢) as follows For a vertical edge from (𝑥𝑒, 𝑦𝑒𝑏) to (𝑥𝑒, 𝑦e𝑡), its expected usage is defined as: (𝑥𝑝1 (𝑛), 𝑦𝑝1 (𝑛)) and (𝑥𝑝2 (𝑛), 𝑦𝑝2 (𝑛)) are the coordinates of the connected pins of a two-pin net 𝑛 Routability Optimization Overflow Refinement Since the 0-1 logic function 𝑓(𝑙, 𝑥, 𝑢) is neither smooth nor differentiable, we propose to use a sigmoid function to make the function differentiable is a quite expensive operation in practice Therefore, we propose to use a quadratic sigmoid function in our analytical framework: 𝛼 is the reciprocal of the G-cell size Routability Optimization Overflow Refinement With the quadratic sigmoid function, we can define the smoothed 0-1 logic function as follows ˆ𝑝(𝑥−𝑙 ) transforms the condition 𝑙 < 𝑥 while ˆ𝑝(𝑢−𝑥 ) transforms the condition 𝑥 < 𝑢. quadratic penalty method overall nonlinear formulation: Routability Optimization Virtual Macro Expansion For modern mixed-size circuit designs, macro porosity brings significant challenges for routability-driven placement the number of blocks placed near macros should be reduced to improve the routability expand the original boundaries of macros during placement virtually to reserve spaces near macros for global routing The expansion ratio is then defined as 𝐵𝑖 is the metal blockage ratio of a macro 𝑖 𝑟𝑤 is the fraction of whitespace Routability-Driven Legalization removes all overlaps of a given global placement result Consider routing congestion of candidate positions for legalizing cells minimum displacement with minimum congestion cost Routability-Driven Detailed Placement Revise cell shifting and cell swapping (1) routability-driven cell matching find a minimum weighted matching of cells and placement locations within a selected window The matching cost is evaluated as a weighted sum of total overflow and wirelength: 𝑂 : total overflow 𝐿 : HPWL 𝛽 is a user-specified parameter Incremental update cost (2) routability-driven cell swapping. selects 𝑘 adjacent cells in a single placement row and enumerates all possible permutations of these cells to find the minimum total overflow EXPERIMENTAL RESULTS Conclusions This paper has presented a novel routability-driven analytical placement framework for mixed-size circuit designs Experimental results have shown that our algorithm can achieve the best average overflow and routed wirelength, compared with the participating teams for the 2011 ACM ISPD Routability-Driven Placement Contest.