# A New Length-Based Algebraic Multigrid Clustering Algorithm

Authors: L. Rakai; A. Farshidi; L. Behjat; D. Westwick
Journal: VLSI Design
 (2012)

---

## Abstract

Clustering algorithms have been used to improve the speed and quality of placement. Traditionally,
clustering focuses on the local connections between cells. In this paper, a new clustering algorithm
that is based on the estimated lengths of circuit interconnects and the connectivity is proposed. In
the proposed algorithm, first an a priori length estimation technique is used to estimate the lengths
of nets. Then, the estimated lengths are used in a clustering framework to modify a clustering
technique based on algebraic multigrid (AMG), that finds the cells with the highest connectivity.
Finally, based on the results from the AMG-based process, clusters are made. In addition, a
new physical unclustering technique is proposed. The results show a significant improvement,
reductions of up to 40%, in wire length can be achieved when using the proposed technique with
three academic placers on industry-based circuits. Moreover, the runtime is not significantly
degraded and can even be improved.


---

## Body

## 1. Introduction

Clustering is usually employed during the large-scale placement problems encountered in today’s circuits, to speed up the placement process and improve the solution quality. The clustering algorithms used today are based on finding small groups of cells with high connectivity and putting each of them in a cluster. This scheme has proven effective, to a large extent, as there is a high correlation between the cells’ connectivity and the lengths of the nets that connect them [1, 2]. Hence, by clustering cells that are close to one another, the lengths of the nets between them, and hence the total wire length will be reduced.In this paper, a new perspective on how to cluster cells is proposed, where clustering decisions are made based on estimates of the lengths of nets connecting the cells. If a net is estimated to be short, then its cells are expected to be physically closer to each other, and the cells can be put in a cluster. The opposite is true for a net which has a high estimated length.The proposed algorithm consists of three phases. In the first phase, a state-of-the-art length estimation technique is used to estimate the lengths of individual nets before placement.Accurate length estimates are then used to direct the clustering decisions. These length estimates are used in the second phase to build a length-based proximity matrix. Then, it is proposed to use the proximity matrix in an AMG-based clustering framework to find clusters of the circuit. The AMG-based clustering finds seed cells and assigns scores based on the whole proximity matrix, not only the local connections. Hence, it can be more effective in finding a more globally optimal clustering configuration.In the third phase, clusters are formed, and an initial placement is performed on the new clustered circuit. The initial placement solution is then refined in the unclustering phase, where a new technique for unclustering is proposed.The major contributions of this paper are as follows:(i)
using estimated lengths when deciding which cells should be clustered;(ii)
designing and implementing a length-based AMG clustering algorithm;(iii)
proposing and implementing an unclustering refinement algorithm;(iv)
improving the runtime of the placement process;(v)
illustrating the effectiveness of multilevel length-based AMG clustering.The rest of this paper is organized as follows. In Section2, a literature review of existing net length estimation methods, an introduction to AMG, and a background of clustering techniques are presented. In Section 3, the proposed length-based clustering algorithm is described in detail. The proposed model efficacy is examined and validated by several experiments in Section 4. Conclusions are given in Section 5.


## 2. Background

In this section, a literature review of the three main components of the algorithm are given. As these components are distinct subjects not all normally used in the context of VLSI placement, the literature review is divided into three distinct sections: length estimation (2.1), AMG (2.2), and finally, clustering algorithms (2.3).


### 2.1. Net Length Estimation Techniques

Several a priori length estimation techniques, for example [3–6], have been proposed that try to estimate the length of individual nets. Older techniques, such as [7–12], can only estimate the average length of a set of nets or the distributions of net lengths.In [6], a variable referred to as the intrinsic shortest path length (ISPL) is developed and used to estimate the individual net lengths. Although the estimation results obtained using this technique are exceptional, this approach is not very useful for modern mixed-size circuits since it only considers cells with unit area and nets with degree two.Different properties of nets and cells are modeled by several variables in [3]. These variables are then used to make a third-order polynomial model for length estimation. The estimation results are well correlated for relatively small circuits that only include standard cells. However, none of these variables considers the effects of macro blocks on net lengths, and so the estimation results for mixed-size circuits are unreliable. In [5], this technique is further studied using a quadratic polynomial. Three new variables are proposed to account for the effects of macro blocks. The estimation results for modern mixed-size circuits show around 10% improvement over those obtained using [3].Some applications of a priori net length estimation techniques are introduced in [4, 13, 14]. A variable called mutual contraction, is proposed and used for net length estimation, in [13, 14]. This variable is then used in placement. The estimated net lengths are utilized to quantify the quality of potential clusters. In [4], another application of preplacement length estimation is proposed where the negative effects of clustering are corrected based on the estimation results.


### 2.2. Algebraic Multigrid

A challenging and frequently encountered problem in various domains is to solve a large system of linear equations as in(1)Ax=b,
where A is a large, sparse square matrix, x is a vector containing the unknown variables, and b is the known right-hand side vector. When A is very large, solving this system of equations directly becomes very expensive, in general. In the circuit placement domain, this equation arises from minimizing a quadratic length objective where the dimensions of A are on the order of millions.The algebraic multigrid (AMG) technique uses a multilevel framework to approximately solve (1), hence reducing the computational cost. Several AMG algorithms have been developed [15–21]. Each one of these methods is suited for a specific type of problem where the matrix A has certain properties. General methods such as [15, 17, 20] have sufficient convergence conditions and can easily be adapted to more problems.A typical AMG technique consists of three steps: coarsening, direct solution, and interpolation. Coarsening is used to decrease the size of the matrixA by keeping the essential elements of it and disregarding the nonessential elements. Once the matrix size has been adequately reduced, the second step starts. In this step, the reduced problem is solved exactly using a direct method. In the final step, interpolation, the solution obtained after the direct method step is projected back onto the sequence of larger systems of equations obtained during coarsening to achieve a final solution.Another difference between the AMG framework and other direct methods is that in AMG, instead of solving forx directly, the difference or the error, e0, between the initial guess for x0 and the actual value of x is driven to zero. This is accomplished by solving the residual equation Alel=rl for level l, where r is the residual that is calculated as rl=bl-Alxl. A multilevel AMG scheme is illustrated in Figure 1. In this figure, in each level of coarsening, a restriction matrix, Wll+1, is calculated. This matrix contains fewer rows than columns. To reduce the size of the equation matrix at level l, Al, is premultiplied by Wll+1 and postmultiplied by (Wll+1)T, the interpolation matrix, and the equation matrix at level l+1, Al+1=Wll+1Al(Wll+1)T is obtained [16]. Thus, Al+1 has smaller dimensions than Al. At the lowest level, L, an exact solution for eL is found, that is, eL=(AL)-1rL as shown in the figure. In the interpolation stage, the error is propagated to the higher levels using the appropriate interpolation matrix. Finally, using the calculated error in the highest level, the solution approximation x0 is updated: x0←x0+e0. The relaxation steps shown in the figure refer to using a fast, iterative method to improve the solution at the current level.Figure 1
A multilevel AMG scheme.


### 2.3. Clustering Algorithms

In different stages of VLSI physical design, clustering algorithms are used to reduce the sizes of circuits. Several clustering algorithms have been proposed to handle the modern large-size circuits, for example, [1, 2, 22–26]. Most placement techniques, such as the ones that competed in the ISPD 2006 [27] placement contest, use clustering algorithms.Clustering algorithms such as heavy-edge matching [22], Edge Coarsening [28], FirstChoice [26], and PinEC [23] are similar in how they choose and form clusters. In these algorithms, a cell is chosen randomly to become the seed for a cluster. A seed refers to the first cell of a cluster. Once a seed has been chosen, a cell that measures the highest in connectivity with the seed is added to the cluster. These algorithms are easy to implement, and the runtimes for them are typically low. However, as no comparisons between potential clusters are performed, the quality of the results can be low.In an effort to improve results, algorithms, such as edge-separability [24], fine-granularity clustering (FGC) [25], best-choice clustering [1], and Net Cluster [2], first prepare a set of potential clusters and then either refine the potential clusters or only finalize potential clusters that have high scores.In [29, 30], a clustering algorithm for wire length-driven placement, called SafeChoice, is proposed where a condition is used to check if potential clusters will degrade the placement solution. If a cluster passes the check, it is referred to as a safe cluster, and the cluster is finalized.In [31], a linear-time AMG-based clustering technique is proposed. This AMG-based algorithm uses only the connectivity matrix of a circuit to form clusters.


## 2.1. Net Length Estimation Techniques

Several a priori length estimation techniques, for example [3–6], have been proposed that try to estimate the length of individual nets. Older techniques, such as [7–12], can only estimate the average length of a set of nets or the distributions of net lengths.In [6], a variable referred to as the intrinsic shortest path length (ISPL) is developed and used to estimate the individual net lengths. Although the estimation results obtained using this technique are exceptional, this approach is not very useful for modern mixed-size circuits since it only considers cells with unit area and nets with degree two.Different properties of nets and cells are modeled by several variables in [3]. These variables are then used to make a third-order polynomial model for length estimation. The estimation results are well correlated for relatively small circuits that only include standard cells. However, none of these variables considers the effects of macro blocks on net lengths, and so the estimation results for mixed-size circuits are unreliable. In [5], this technique is further studied using a quadratic polynomial. Three new variables are proposed to account for the effects of macro blocks. The estimation results for modern mixed-size circuits show around 10% improvement over those obtained using [3].Some applications of a priori net length estimation techniques are introduced in [4, 13, 14]. A variable called mutual contraction, is proposed and used for net length estimation, in [13, 14]. This variable is then used in placement. The estimated net lengths are utilized to quantify the quality of potential clusters. In [4], another application of preplacement length estimation is proposed where the negative effects of clustering are corrected based on the estimation results.


## 2.2. Algebraic Multigrid

A challenging and frequently encountered problem in various domains is to solve a large system of linear equations as in(1)Ax=b,
where A is a large, sparse square matrix, x is a vector containing the unknown variables, and b is the known right-hand side vector. When A is very large, solving this system of equations directly becomes very expensive, in general. In the circuit placement domain, this equation arises from minimizing a quadratic length objective where the dimensions of A are on the order of millions.The algebraic multigrid (AMG) technique uses a multilevel framework to approximately solve (1), hence reducing the computational cost. Several AMG algorithms have been developed [15–21]. Each one of these methods is suited for a specific type of problem where the matrix A has certain properties. General methods such as [15, 17, 20] have sufficient convergence conditions and can easily be adapted to more problems.A typical AMG technique consists of three steps: coarsening, direct solution, and interpolation. Coarsening is used to decrease the size of the matrixA by keeping the essential elements of it and disregarding the nonessential elements. Once the matrix size has been adequately reduced, the second step starts. In this step, the reduced problem is solved exactly using a direct method. In the final step, interpolation, the solution obtained after the direct method step is projected back onto the sequence of larger systems of equations obtained during coarsening to achieve a final solution.Another difference between the AMG framework and other direct methods is that in AMG, instead of solving forx directly, the difference or the error, e0, between the initial guess for x0 and the actual value of x is driven to zero. This is accomplished by solving the residual equation Alel=rl for level l, where r is the residual that is calculated as rl=bl-Alxl. A multilevel AMG scheme is illustrated in Figure 1. In this figure, in each level of coarsening, a restriction matrix, Wll+1, is calculated. This matrix contains fewer rows than columns. To reduce the size of the equation matrix at level l, Al, is premultiplied by Wll+1 and postmultiplied by (Wll+1)T, the interpolation matrix, and the equation matrix at level l+1, Al+1=Wll+1Al(Wll+1)T is obtained [16]. Thus, Al+1 has smaller dimensions than Al. At the lowest level, L, an exact solution for eL is found, that is, eL=(AL)-1rL as shown in the figure. In the interpolation stage, the error is propagated to the higher levels using the appropriate interpolation matrix. Finally, using the calculated error in the highest level, the solution approximation x0 is updated: x0←x0+e0. The relaxation steps shown in the figure refer to using a fast, iterative method to improve the solution at the current level.Figure 1
A multilevel AMG scheme.


## 2.3. Clustering Algorithms

In different stages of VLSI physical design, clustering algorithms are used to reduce the sizes of circuits. Several clustering algorithms have been proposed to handle the modern large-size circuits, for example, [1, 2, 22–26]. Most placement techniques, such as the ones that competed in the ISPD 2006 [27] placement contest, use clustering algorithms.Clustering algorithms such as heavy-edge matching [22], Edge Coarsening [28], FirstChoice [26], and PinEC [23] are similar in how they choose and form clusters. In these algorithms, a cell is chosen randomly to become the seed for a cluster. A seed refers to the first cell of a cluster. Once a seed has been chosen, a cell that measures the highest in connectivity with the seed is added to the cluster. These algorithms are easy to implement, and the runtimes for them are typically low. However, as no comparisons between potential clusters are performed, the quality of the results can be low.In an effort to improve results, algorithms, such as edge-separability [24], fine-granularity clustering (FGC) [25], best-choice clustering [1], and Net Cluster [2], first prepare a set of potential clusters and then either refine the potential clusters or only finalize potential clusters that have high scores.In [29, 30], a clustering algorithm for wire length-driven placement, called SafeChoice, is proposed where a condition is used to check if potential clusters will degrade the placement solution. If a cluster passes the check, it is referred to as a safe cluster, and the cluster is finalized.In [31], a linear-time AMG-based clustering technique is proposed. This AMG-based algorithm uses only the connectivity matrix of a circuit to form clusters.


## 3. The Proposed Length-Driven Multilevel Placement Framework

### 3.1. The Proposed Length Estimation-Based AMG Clustering Algorithm

The main objective of the placement phase in the physical design of circuits is to reduce the total wire length of the circuit. Clustering algorithms are normally used during placement to improve the total wire length and runtime. However, clustering is performed based on circuit connectivity and not the wire length. In this paper, an algorithm that performs clustering based on estimated wire lengths is proposed. The novelty of the algorithm is in using the estimated lengths instead of connectivities in determining the best cells to be clustered.The algorithm has five main stages: preplacement length estimation, proximity matrix construction, AMG-based coarsening, cluster seed cell and score assignment, and final cluster formation, as summarized in Algorithm1.Algorithm 1:The high-level flow of the AMG-LE clustering algorithm.
Algorithm AMG-LE: AMG-based clustering with length estimationInput: Circuit net list, AMG parametersOutput: Clustered circuit1. Pre-placement individual net length estimation2. Proximity matrix construction using the estimated lengths3. AMG-based coarsening on the proximity matrix4. Cluster seed cell and score assignment5. Final cluster formation


#### 3.1.1. Preplacement Length Estimation

In an estimation technique, first a set of model parameters needs to be calculated. In this work, the parameters used or developed in [5] are employed as these have been shown to be a comprehensive set of parameters that are well suited to the mixed-size circuits used today. These parameters include local net characteristics, such as the half perimeter of the cells of each net and global characteristics, such as the number of degree-two nets in the design.Once the model parameters have been selected, an estimation technique should be used to fit the parameters into a model. The model parameters in [5] are used to fit a quadratic model. Any terms of the resulting model which have small coefficients, ineffective terms, are pruned from the model. The remaining terms, effective terms, are used to make the estimation model and calculate the length estimates.It is worth noting that any other individual net length estimation technique could be used in this step. The model in [5] is selected as it includes several factors such as macro cells but is independent of the placer to be used allowing for broader application of this work.To better illustrate the algorithm flow, a small example circuit is presented in Figure2. In this figure, the nets are annotated with the estimated lengths. The estimated lengths are found using a simplified version of the technique in [5]. Due to the small size of the example circuit, only the variables associated with the cell dimensions and net degree are used. These lengths will be used in the following sections to perform clustering using the proposed AMG-LE algorithm.Figure 2
An example circuit with nets annotated with estimated lengths. The dimensions of all cells are2×2 except cells 4, 7, and 9 that are 4×2, and cell 5 which is 4×4.


#### 3.1.2. Proximity Matrix Construction

To perform circuit clustering, the circuit’s net list should be represented using a matrix. Normally, this matrix is the connectivity matrix of the circuit which shows the total number of weighted connections between two cells. In this paper, a new matrix, called the proximity matrix, is designed which shows how close two cells are predicted to be. The proximity matrix is later used for the AMG-based clustering.It is shown in [16] that for the best AMG performance the matrix A of (1), which in this case represents the net list, should be an M-matrix, that is, a symmetric, positive-definite matrix with positive diagonal and nonpositive offdiagonal elements. In the proposed AMG-based clustering technique, a proximity matrix P0, which is an M-matrix, is constructed. The rows and columns of P0 represent the cells of the circuit. The element pi,j0 shows the connectivity between cell i and cell j. Each pi,j0 is determined as follows: consider two cells, i and j, which are treated as points in AMG, and let Ni,j be the set of nets, nk, that contain both cells i and j. Then, element pi,j0 is calculated as(2)pi,j0={∑nk∈Ni,j-il(nk),i≠j,Ni,j≠∅,∑nk∈Ni,iil(nk),i=j,0,otherwise,
where il(·) represents the inverse of the estimated length of a net and is defined as(3)il(nk)=1lest(nk),
where lest(nk) denotes the estimated length of a net obtained from the model described in Section 3.1.1. The inverse of the estimate is used because nets whose estimated lengths are small have a high proximity and vice versa. Using the formulation in (2), any nonzero offdiagonal element of the proximity matrix is equal to the negative sum of the inverses of the estimated lengths of nets between i and j, and any diagonal element is equal to the sum of all the inverses of nets connected to i. This matrix is a positive-semidefinite M-matrix which is highly desirable for AMG. In addition, multiterminal nets and multiple connections between cells are handled by (2).As an example, the proximity matrix for the example circuit in Figure2 is given in (4). For any two cells i and j that are not connected, the pi,j0 entry is equal to zero. For any two cells that are connected, the pi,j0 entry is equal to the negative sum of the inverse of estimated lengths of the nets connecting them. As an example, cells 5 and 6 are connected by two nets each with estimated length of six. Therefore, p5,60=-(1/6+1/6)=-1/3. Finally, the diagonal elements are the negative sum of the off-diagonal elements in the corresponding row of the matrix. For example, p5,50=-(p5,40+p5,60)=-(-1/7-1/3)=10/21. (4)P0=(14-140000000-14710-14-15000000-14140000000-1501235-170000000-171021-130000000-13815-150000000-151320-1340-18000000-13401320-1340000000-18-1340920)


#### 3.1.3. AMG-Based Coarsening on the Proximity Matrix

Once the proximity matrixP0 has been constructed, the coarsening algorithm in [31] is used to reduce P0 and construct P1 and the associated restriction matrix W01. The coarsening can be loosely thought of as a heuristic for selecting a maximally independent subset of cells which are the most significant in P0. The significance of each cell is measured by the number of cells that strongly connect to it. A parameter, θ∈(0,1], is used in the definition of the strength of a connection. Cell i is strongly connected to cell j if(5)|pi,jl|≥θ×max⁡k≠i{|pi,kl|},k=1,…,Cl,
where, pi,jl is the (i,j)th element of Pl, and Cl is the number of cells in level l. The relationship between the parameter θ and the amount coarsening performed is complex. If θ is close to one, more aggressive coarsening will be performed. However, more aggressive coarsening can overly simplify the reduced matrix and the associated reduced circuit. An interpretation of the strength of connection criteria in the context of the proposed proximity matrix is that if a cell is in several nets with small estimated length it is likely to be a part of the reduced circuit.


#### 3.1.4. Seed Cell and Cluster Score Assignment

After coarsening the proximity matrix, the cells that are selected to form the reduced circuit become seed cells used for clustering. The cells which are not selected to form the reduced circuit are considered to be clustered with the selected seed cells. This is the same technique used in [31]. In this technique, the entries of the AMG interpolation matrix (Wll+1)T are used to rank each seed cell that a non-selected cell connects to. A large entry in the interpolation matrix means the seed cell is representative of the non-selected cell in the reduced circuit.The selected seed cells for the example in Figure2 are cells 2,5, and 7. Therefore, the interpolation matrix has three columns, one for each seed cell with the first column corresponding to cell 2, and so forth. The number of rows is nine, which is the total number of cells and row 1 corresponds to cell 1, and so forth. The interpolation matrix is shown in Figure 3(a). Each seed cell interpolates from itself directly, so entries w2,1, w5,2 and w7,3 are all one, where wi,j is the (i,j)th element of (W01)T. The other non-zero entries represent the interpolation weight of non-selected cells to seed cells. As an example, cell 4 is connected to seed cells 2 and 5. The interpolation weights of cell 4 with seed cells 2 and 5 are given by entries w4,1=7/12 and w4,2=5/12, respectively. To better visualize the seed cell and cluster score assignment using the interpolation matrix, a pictorial representation of (W01)T is presented in Figure 3(b). In this figure, the seed cells are shown with a bold border. Each non-selected cell has an interpolation weight to the seed cells that they connect to. These interpolation weights annotate arrows pointing from non-selected cells to seed cells in Figure 3(b).The interpolation matrix shown in matrix form and pictorial form for the example circuit in Figure2. In the pictorial representation, the selected seed cells are shown in bold, and arrows are annotated with the interpolation weights of non-selected cells.
(a)
interpolation Matrix(W01)T(b)
pictorial representation


#### 3.1.5. Final Cluster Formation

The final step of the clustering algorithm is to cluster non-selected cells to the seed cell which they interpolate from most strongly. A cluster is finalized as long as the area of the cluster is not greater than five times the average standard cell area and its interpolation weight is more than 0.9. The cluster area is restricted to prevent the formation of macro-sized clusters which require special treatment in placement algorithms. The interpolation weight threshold is set high to ensure that only the best quality clusters are formed. Each cluster meeting the constraints is given a physical shape in the clustered circuit with a height equal to the maximum height of all of its cells and a width equal to the sum of the widths of its cells.The final clusters for the example in Figure2 are shown with dashed lines in Figure 4. The clusters are formed by clustering each non-selected cell with the seed cell that it has the maximum interpolation weight with. Assuming each cluster has an area of less than or equal to five times the average standard cell area, the clusters are finalized.Figure 4
The final clusters for the example circuit in Figure2 shown by dashed lines.


### 3.2. The Proposed Length-Driven Unclustering Technique

The description of a clustering algorithm alone is not enough to fully specify the implementation of a clustering algorithm used for placement. Just as important is the algorithm for unclustering, or determining the locations of cells within a cluster after the cluster’s location has been determined. The description of this step is rarely mentioned in the literature of clustering algorithms.In this work, a length-driven unclustering algorithm is proposed. The chief benefit of using the proposed technique is that a legal solution is preserved after unclustering. Global placement algorithms often produce legal solutions before performing detailed placement. A new unclustering technique which preserves the legality of the globally-placed solution improves the runtime in multilevel placement. With the legality restriction, the problem of unclustering reduces to ordering the cluster’s cells. The proposed technique finds the ordering by solving a relaxed length-driven minimization and using the result to determine the ordering of the cells. In addition, the combination of preserving legality and restricting cluster areas means that the row in which the unclustered cells will be placed is also preserved. Consequently, the vertical components of the lengths can be ignored. This helps to reduce the disruption in the wire length before and after unclustering which is a significant problem for multilevel placement as discussed in [32].The locations of cells,xCi, in cluster Ci are determined by minimizing the quadratic matrix length objective(6)xCiTUxCi+tTxCi+v,
where U is a weighted connectivity matrix between the cells of the cluster, that is, i,j∈Ci, and is defined as(7)ui,j={∑nk∈Ni,j-1|nk|,i≠j,Ni,j≠∅,∑nk∈Ni,i1|nk|,i=j,0,otherwise,
where |nk| is the degree of net nk, that is, the number of cells in nk. The vector t contains the weighted horizontal cell locations of cells outside of the cluster that each clustered cell connects to, that is, i∈Ci and j∉Ci defined as(8)ti={∑nk∈Ni,j-xj|nk|,i≠j,Ni,j≠∅,0,otherwise,
where xj is the location of the cell or the cluster that a cell belongs to. The scalar v represents the length of all the nets not involving the cells in Ci and can be ignored. After minimizing (6), the cells are inserted into the area occupied by the cluster in the order of their locations in xCi. An illustration of the length-driven unclustering is given in Figure 5. In Figure 5(a), a clustered placement is given. The highlighted cluster is the focus of the example and contains three cells (not shown in Figure 5(a)). The cluster is connected to three other cells via degree-two nets, shown by dashed lines in the illustration. The cells contained in the cluster are shown in shades of grey in Figure 5(b). The three external connections as well as the two internal connections are used to determine the non-zero values in the matrix U. In this example all of the values for |nk| are equal to 2, the degree of each net. The locations of the cells not in the cluster, shown in white, are used in forming the vector t. The locations of the cluster’s cells in Figure 5(b) are determined by minimizing (6). These locations are used to determine the order of the cells inside of the cluster’s area to complete the unclustering, illustrated in Figure 5(c). Because the unclustered cells remain inside of the cluster’s area, the placement remains legal.An illustration of the length-driven unclustering technique.
(a)
clustered placement(b)
locations of the cluster’s cells determined by minimizing  (6)(c)
final ordering of the cluster’s cellsThis technique does not take advantage of the locations of already unclustered cells as it iterates through the clusters. However, this also means that the technique is not sensitive to the order in which the clusters are visited. Furthermore, because the clusters are restricted to have an area of less than five times the average standard cell area, the additional benefit of using the locations of already unclustered cells and a good ordering of the clusters is expected to be small.


## 3.1. The Proposed Length Estimation-Based AMG Clustering Algorithm

The main objective of the placement phase in the physical design of circuits is to reduce the total wire length of the circuit. Clustering algorithms are normally used during placement to improve the total wire length and runtime. However, clustering is performed based on circuit connectivity and not the wire length. In this paper, an algorithm that performs clustering based on estimated wire lengths is proposed. The novelty of the algorithm is in using the estimated lengths instead of connectivities in determining the best cells to be clustered.The algorithm has five main stages: preplacement length estimation, proximity matrix construction, AMG-based coarsening, cluster seed cell and score assignment, and final cluster formation, as summarized in Algorithm1.Algorithm 1:The high-level flow of the AMG-LE clustering algorithm.
Algorithm AMG-LE: AMG-based clustering with length estimationInput: Circuit net list, AMG parametersOutput: Clustered circuit1. Pre-placement individual net length estimation2. Proximity matrix construction using the estimated lengths3. AMG-based coarsening on the proximity matrix4. Cluster seed cell and score assignment5. Final cluster formation


### 3.1.1. Preplacement Length Estimation

In an estimation technique, first a set of model parameters needs to be calculated. In this work, the parameters used or developed in [5] are employed as these have been shown to be a comprehensive set of parameters that are well suited to the mixed-size circuits used today. These parameters include local net characteristics, such as the half perimeter of the cells of each net and global characteristics, such as the number of degree-two nets in the design.Once the model parameters have been selected, an estimation technique should be used to fit the parameters into a model. The model parameters in [5] are used to fit a quadratic model. Any terms of the resulting model which have small coefficients, ineffective terms, are pruned from the model. The remaining terms, effective terms, are used to make the estimation model and calculate the length estimates.It is worth noting that any other individual net length estimation technique could be used in this step. The model in [5] is selected as it includes several factors such as macro cells but is independent of the placer to be used allowing for broader application of this work.To better illustrate the algorithm flow, a small example circuit is presented in Figure2. In this figure, the nets are annotated with the estimated lengths. The estimated lengths are found using a simplified version of the technique in [5]. Due to the small size of the example circuit, only the variables associated with the cell dimensions and net degree are used. These lengths will be used in the following sections to perform clustering using the proposed AMG-LE algorithm.Figure 2
An example circuit with nets annotated with estimated lengths. The dimensions of all cells are2×2 except cells 4, 7, and 9 that are 4×2, and cell 5 which is 4×4.


### 3.1.2. Proximity Matrix Construction

To perform circuit clustering, the circuit’s net list should be represented using a matrix. Normally, this matrix is the connectivity matrix of the circuit which shows the total number of weighted connections between two cells. In this paper, a new matrix, called the proximity matrix, is designed which shows how close two cells are predicted to be. The proximity matrix is later used for the AMG-based clustering.It is shown in [16] that for the best AMG performance the matrix A of (1), which in this case represents the net list, should be an M-matrix, that is, a symmetric, positive-definite matrix with positive diagonal and nonpositive offdiagonal elements. In the proposed AMG-based clustering technique, a proximity matrix P0, which is an M-matrix, is constructed. The rows and columns of P0 represent the cells of the circuit. The element pi,j0 shows the connectivity between cell i and cell j. Each pi,j0 is determined as follows: consider two cells, i and j, which are treated as points in AMG, and let Ni,j be the set of nets, nk, that contain both cells i and j. Then, element pi,j0 is calculated as(2)pi,j0={∑nk∈Ni,j-il(nk),i≠j,Ni,j≠∅,∑nk∈Ni,iil(nk),i=j,0,otherwise,
where il(·) represents the inverse of the estimated length of a net and is defined as(3)il(nk)=1lest(nk),
where lest(nk) denotes the estimated length of a net obtained from the model described in Section 3.1.1. The inverse of the estimate is used because nets whose estimated lengths are small have a high proximity and vice versa. Using the formulation in (2), any nonzero offdiagonal element of the proximity matrix is equal to the negative sum of the inverses of the estimated lengths of nets between i and j, and any diagonal element is equal to the sum of all the inverses of nets connected to i. This matrix is a positive-semidefinite M-matrix which is highly desirable for AMG. In addition, multiterminal nets and multiple connections between cells are handled by (2).As an example, the proximity matrix for the example circuit in Figure2 is given in (4). For any two cells i and j that are not connected, the pi,j0 entry is equal to zero. For any two cells that are connected, the pi,j0 entry is equal to the negative sum of the inverse of estimated lengths of the nets connecting them. As an example, cells 5 and 6 are connected by two nets each with estimated length of six. Therefore, p5,60=-(1/6+1/6)=-1/3. Finally, the diagonal elements are the negative sum of the off-diagonal elements in the corresponding row of the matrix. For example, p5,50=-(p5,40+p5,60)=-(-1/7-1/3)=10/21. (4)P0=(14-140000000-14710-14-15000000-14140000000-1501235-170000000-171021-130000000-13815-150000000-151320-1340-18000000-13401320-1340000000-18-1340920)


### 3.1.3. AMG-Based Coarsening on the Proximity Matrix

Once the proximity matrixP0 has been constructed, the coarsening algorithm in [31] is used to reduce P0 and construct P1 and the associated restriction matrix W01. The coarsening can be loosely thought of as a heuristic for selecting a maximally independent subset of cells which are the most significant in P0. The significance of each cell is measured by the number of cells that strongly connect to it. A parameter, θ∈(0,1], is used in the definition of the strength of a connection. Cell i is strongly connected to cell j if(5)|pi,jl|≥θ×max⁡k≠i{|pi,kl|},k=1,…,Cl,
where, pi,jl is the (i,j)th element of Pl, and Cl is the number of cells in level l. The relationship between the parameter θ and the amount coarsening performed is complex. If θ is close to one, more aggressive coarsening will be performed. However, more aggressive coarsening can overly simplify the reduced matrix and the associated reduced circuit. An interpretation of the strength of connection criteria in the context of the proposed proximity matrix is that if a cell is in several nets with small estimated length it is likely to be a part of the reduced circuit.


### 3.1.4. Seed Cell and Cluster Score Assignment

After coarsening the proximity matrix, the cells that are selected to form the reduced circuit become seed cells used for clustering. The cells which are not selected to form the reduced circuit are considered to be clustered with the selected seed cells. This is the same technique used in [31]. In this technique, the entries of the AMG interpolation matrix (Wll+1)T are used to rank each seed cell that a non-selected cell connects to. A large entry in the interpolation matrix means the seed cell is representative of the non-selected cell in the reduced circuit.The selected seed cells for the example in Figure2 are cells 2,5, and 7. Therefore, the interpolation matrix has three columns, one for each seed cell with the first column corresponding to cell 2, and so forth. The number of rows is nine, which is the total number of cells and row 1 corresponds to cell 1, and so forth. The interpolation matrix is shown in Figure 3(a). Each seed cell interpolates from itself directly, so entries w2,1, w5,2 and w7,3 are all one, where wi,j is the (i,j)th element of (W01)T. The other non-zero entries represent the interpolation weight of non-selected cells to seed cells. As an example, cell 4 is connected to seed cells 2 and 5. The interpolation weights of cell 4 with seed cells 2 and 5 are given by entries w4,1=7/12 and w4,2=5/12, respectively. To better visualize the seed cell and cluster score assignment using the interpolation matrix, a pictorial representation of (W01)T is presented in Figure 3(b). In this figure, the seed cells are shown with a bold border. Each non-selected cell has an interpolation weight to the seed cells that they connect to. These interpolation weights annotate arrows pointing from non-selected cells to seed cells in Figure 3(b).The interpolation matrix shown in matrix form and pictorial form for the example circuit in Figure2. In the pictorial representation, the selected seed cells are shown in bold, and arrows are annotated with the interpolation weights of non-selected cells.
(a)
interpolation Matrix(W01)T(b)
pictorial representation


### 3.1.5. Final Cluster Formation

The final step of the clustering algorithm is to cluster non-selected cells to the seed cell which they interpolate from most strongly. A cluster is finalized as long as the area of the cluster is not greater than five times the average standard cell area and its interpolation weight is more than 0.9. The cluster area is restricted to prevent the formation of macro-sized clusters which require special treatment in placement algorithms. The interpolation weight threshold is set high to ensure that only the best quality clusters are formed. Each cluster meeting the constraints is given a physical shape in the clustered circuit with a height equal to the maximum height of all of its cells and a width equal to the sum of the widths of its cells.The final clusters for the example in Figure2 are shown with dashed lines in Figure 4. The clusters are formed by clustering each non-selected cell with the seed cell that it has the maximum interpolation weight with. Assuming each cluster has an area of less than or equal to five times the average standard cell area, the clusters are finalized.Figure 4
The final clusters for the example circuit in Figure2 shown by dashed lines.


## 3.1.1. Preplacement Length Estimation

In an estimation technique, first a set of model parameters needs to be calculated. In this work, the parameters used or developed in [5] are employed as these have been shown to be a comprehensive set of parameters that are well suited to the mixed-size circuits used today. These parameters include local net characteristics, such as the half perimeter of the cells of each net and global characteristics, such as the number of degree-two nets in the design.Once the model parameters have been selected, an estimation technique should be used to fit the parameters into a model. The model parameters in [5] are used to fit a quadratic model. Any terms of the resulting model which have small coefficients, ineffective terms, are pruned from the model. The remaining terms, effective terms, are used to make the estimation model and calculate the length estimates.It is worth noting that any other individual net length estimation technique could be used in this step. The model in [5] is selected as it includes several factors such as macro cells but is independent of the placer to be used allowing for broader application of this work.To better illustrate the algorithm flow, a small example circuit is presented in Figure2. In this figure, the nets are annotated with the estimated lengths. The estimated lengths are found using a simplified version of the technique in [5]. Due to the small size of the example circuit, only the variables associated with the cell dimensions and net degree are used. These lengths will be used in the following sections to perform clustering using the proposed AMG-LE algorithm.Figure 2
An example circuit with nets annotated with estimated lengths. The dimensions of all cells are2×2 except cells 4, 7, and 9 that are 4×2, and cell 5 which is 4×4.


## 3.1.2. Proximity Matrix Construction

To perform circuit clustering, the circuit’s net list should be represented using a matrix. Normally, this matrix is the connectivity matrix of the circuit which shows the total number of weighted connections between two cells. In this paper, a new matrix, called the proximity matrix, is designed which shows how close two cells are predicted to be. The proximity matrix is later used for the AMG-based clustering.It is shown in [16] that for the best AMG performance the matrix A of (1), which in this case represents the net list, should be an M-matrix, that is, a symmetric, positive-definite matrix with positive diagonal and nonpositive offdiagonal elements. In the proposed AMG-based clustering technique, a proximity matrix P0, which is an M-matrix, is constructed. The rows and columns of P0 represent the cells of the circuit. The element pi,j0 shows the connectivity between cell i and cell j. Each pi,j0 is determined as follows: consider two cells, i and j, which are treated as points in AMG, and let Ni,j be the set of nets, nk, that contain both cells i and j. Then, element pi,j0 is calculated as(2)pi,j0={∑nk∈Ni,j-il(nk),i≠j,Ni,j≠∅,∑nk∈Ni,iil(nk),i=j,0,otherwise,
where il(·) represents the inverse of the estimated length of a net and is defined as(3)il(nk)=1lest(nk),
where lest(nk) denotes the estimated length of a net obtained from the model described in Section 3.1.1. The inverse of the estimate is used because nets whose estimated lengths are small have a high proximity and vice versa. Using the formulation in (2), any nonzero offdiagonal element of the proximity matrix is equal to the negative sum of the inverses of the estimated lengths of nets between i and j, and any diagonal element is equal to the sum of all the inverses of nets connected to i. This matrix is a positive-semidefinite M-matrix which is highly desirable for AMG. In addition, multiterminal nets and multiple connections between cells are handled by (2).As an example, the proximity matrix for the example circuit in Figure2 is given in (4). For any two cells i and j that are not connected, the pi,j0 entry is equal to zero. For any two cells that are connected, the pi,j0 entry is equal to the negative sum of the inverse of estimated lengths of the nets connecting them. As an example, cells 5 and 6 are connected by two nets each with estimated length of six. Therefore, p5,60=-(1/6+1/6)=-1/3. Finally, the diagonal elements are the negative sum of the off-diagonal elements in the corresponding row of the matrix. For example, p5,50=-(p5,40+p5,60)=-(-1/7-1/3)=10/21. (4)P0=(14-140000000-14710-14-15000000-14140000000-1501235-170000000-171021-130000000-13815-150000000-151320-1340-18000000-13401320-1340000000-18-1340920)


## 3.1.3. AMG-Based Coarsening on the Proximity Matrix

Once the proximity matrixP0 has been constructed, the coarsening algorithm in [31] is used to reduce P0 and construct P1 and the associated restriction matrix W01. The coarsening can be loosely thought of as a heuristic for selecting a maximally independent subset of cells which are the most significant in P0. The significance of each cell is measured by the number of cells that strongly connect to it. A parameter, θ∈(0,1], is used in the definition of the strength of a connection. Cell i is strongly connected to cell j if(5)|pi,jl|≥θ×max⁡k≠i{|pi,kl|},k=1,…,Cl,
where, pi,jl is the (i,j)th element of Pl, and Cl is the number of cells in level l. The relationship between the parameter θ and the amount coarsening performed is complex. If θ is close to one, more aggressive coarsening will be performed. However, more aggressive coarsening can overly simplify the reduced matrix and the associated reduced circuit. An interpretation of the strength of connection criteria in the context of the proposed proximity matrix is that if a cell is in several nets with small estimated length it is likely to be a part of the reduced circuit.


## 3.1.4. Seed Cell and Cluster Score Assignment

After coarsening the proximity matrix, the cells that are selected to form the reduced circuit become seed cells used for clustering. The cells which are not selected to form the reduced circuit are considered to be clustered with the selected seed cells. This is the same technique used in [31]. In this technique, the entries of the AMG interpolation matrix (Wll+1)T are used to rank each seed cell that a non-selected cell connects to. A large entry in the interpolation matrix means the seed cell is representative of the non-selected cell in the reduced circuit.The selected seed cells for the example in Figure2 are cells 2,5, and 7. Therefore, the interpolation matrix has three columns, one for each seed cell with the first column corresponding to cell 2, and so forth. The number of rows is nine, which is the total number of cells and row 1 corresponds to cell 1, and so forth. The interpolation matrix is shown in Figure 3(a). Each seed cell interpolates from itself directly, so entries w2,1, w5,2 and w7,3 are all one, where wi,j is the (i,j)th element of (W01)T. The other non-zero entries represent the interpolation weight of non-selected cells to seed cells. As an example, cell 4 is connected to seed cells 2 and 5. The interpolation weights of cell 4 with seed cells 2 and 5 are given by entries w4,1=7/12 and w4,2=5/12, respectively. To better visualize the seed cell and cluster score assignment using the interpolation matrix, a pictorial representation of (W01)T is presented in Figure 3(b). In this figure, the seed cells are shown with a bold border. Each non-selected cell has an interpolation weight to the seed cells that they connect to. These interpolation weights annotate arrows pointing from non-selected cells to seed cells in Figure 3(b).The interpolation matrix shown in matrix form and pictorial form for the example circuit in Figure2. In the pictorial representation, the selected seed cells are shown in bold, and arrows are annotated with the interpolation weights of non-selected cells.
(a)
interpolation Matrix(W01)T(b)
pictorial representation


## 3.1.5. Final Cluster Formation

The final step of the clustering algorithm is to cluster non-selected cells to the seed cell which they interpolate from most strongly. A cluster is finalized as long as the area of the cluster is not greater than five times the average standard cell area and its interpolation weight is more than 0.9. The cluster area is restricted to prevent the formation of macro-sized clusters which require special treatment in placement algorithms. The interpolation weight threshold is set high to ensure that only the best quality clusters are formed. Each cluster meeting the constraints is given a physical shape in the clustered circuit with a height equal to the maximum height of all of its cells and a width equal to the sum of the widths of its cells.The final clusters for the example in Figure2 are shown with dashed lines in Figure 4. The clusters are formed by clustering each non-selected cell with the seed cell that it has the maximum interpolation weight with. Assuming each cluster has an area of less than or equal to five times the average standard cell area, the clusters are finalized.Figure 4
The final clusters for the example circuit in Figure2 shown by dashed lines.


## 3.2. The Proposed Length-Driven Unclustering Technique

The description of a clustering algorithm alone is not enough to fully specify the implementation of a clustering algorithm used for placement. Just as important is the algorithm for unclustering, or determining the locations of cells within a cluster after the cluster’s location has been determined. The description of this step is rarely mentioned in the literature of clustering algorithms.In this work, a length-driven unclustering algorithm is proposed. The chief benefit of using the proposed technique is that a legal solution is preserved after unclustering. Global placement algorithms often produce legal solutions before performing detailed placement. A new unclustering technique which preserves the legality of the globally-placed solution improves the runtime in multilevel placement. With the legality restriction, the problem of unclustering reduces to ordering the cluster’s cells. The proposed technique finds the ordering by solving a relaxed length-driven minimization and using the result to determine the ordering of the cells. In addition, the combination of preserving legality and restricting cluster areas means that the row in which the unclustered cells will be placed is also preserved. Consequently, the vertical components of the lengths can be ignored. This helps to reduce the disruption in the wire length before and after unclustering which is a significant problem for multilevel placement as discussed in [32].The locations of cells,xCi, in cluster Ci are determined by minimizing the quadratic matrix length objective(6)xCiTUxCi+tTxCi+v,
where U is a weighted connectivity matrix between the cells of the cluster, that is, i,j∈Ci, and is defined as(7)ui,j={∑nk∈Ni,j-1|nk|,i≠j,Ni,j≠∅,∑nk∈Ni,i1|nk|,i=j,0,otherwise,
where |nk| is the degree of net nk, that is, the number of cells in nk. The vector t contains the weighted horizontal cell locations of cells outside of the cluster that each clustered cell connects to, that is, i∈Ci and j∉Ci defined as(8)ti={∑nk∈Ni,j-xj|nk|,i≠j,Ni,j≠∅,0,otherwise,
where xj is the location of the cell or the cluster that a cell belongs to. The scalar v represents the length of all the nets not involving the cells in Ci and can be ignored. After minimizing (6), the cells are inserted into the area occupied by the cluster in the order of their locations in xCi. An illustration of the length-driven unclustering is given in Figure 5. In Figure 5(a), a clustered placement is given. The highlighted cluster is the focus of the example and contains three cells (not shown in Figure 5(a)). The cluster is connected to three other cells via degree-two nets, shown by dashed lines in the illustration. The cells contained in the cluster are shown in shades of grey in Figure 5(b). The three external connections as well as the two internal connections are used to determine the non-zero values in the matrix U. In this example all of the values for |nk| are equal to 2, the degree of each net. The locations of the cells not in the cluster, shown in white, are used in forming the vector t. The locations of the cluster’s cells in Figure 5(b) are determined by minimizing (6). These locations are used to determine the order of the cells inside of the cluster’s area to complete the unclustering, illustrated in Figure 5(c). Because the unclustered cells remain inside of the cluster’s area, the placement remains legal.An illustration of the length-driven unclustering technique.
(a)
clustered placement(b)
locations of the cluster’s cells determined by minimizing  (6)(c)
final ordering of the cluster’s cellsThis technique does not take advantage of the locations of already unclustered cells as it iterates through the clusters. However, this also means that the technique is not sensitive to the order in which the clusters are visited. Furthermore, because the clusters are restricted to have an area of less than five times the average standard cell area, the additional benefit of using the locations of already unclustered cells and a good ordering of the clusters is expected to be small.


## 4. Experimental Results

Several experiments have been carried out to verify the efficacy of the proposed clustering algorithm. These experiments are performed using the ICCAD04 benchmark circuits [33] released by IBM. The detailed statistics of these circuits are given in Table 1. In columns 2 and 3 of this table the number of nets and cells in each circuit are given, respectively. In columns 4 and 5, the maximum net degree, |nmax|, and maximum cell degree, |cmax|, are given.Table 1
Statistics of ICCAD04 benchmarks.
CircuitNets numberCells number|nmax||cmax|ibm0114,11112,7524239ibm0219,58419,60113469ibm0327,40123,13655100ibm0431,97027,50746425ibm0528,44629,347179ibm0634,82632,4983591ibm0748,11745,9262598ibm0850,51351,309751165ibm0960,96253,39539173ibm1075,19669,42941137ibm1181,45470,55824174ibm1277,24071,07628473ibm1399,66684,19924180ibm14152,772147,60533270ibm15186,608161,57033306ibm16190,048183,48440177ibm17189,581185,4953681ibm18201,920210,6136697To better show the scalability of the proposed clustering algorithm, the same experiments are also performed with the ISPD05 benchmark suite [34]. The statistics of these benchmark circuits are presented in Table 2. The benchmark circuit bigblue4 is not included in the experiments due to the memory limitations of the testing platform.Table 2
Statistics of ISPD05 benchmarks.
CircuitNets numberCells number|nmax||cmax|adaptec1221,142211,4472,271448adaptec2266,009255,0231,935620adaptec3466,758451,6503,7131224adaptec4515,951496,0453,974416bigblue1284,479278,1642,621388bigblue2577,235557,86611,869119bigblue31,123,1701,096,8127,6231692


### 4.1. Multilevel Clustering Results Using the Proposed AMG-LE Technique

To evaluate the proposed clustering algorithm, its effectiveness in the context of multilevel circuit placement using multiple placers is illustrated. The experiments are performed using three high-quality academic placers: Capo 10.5 [35], Fastplace 3.0 [36], and mPL6 [37]. Fastplace and mPL are analytical placers and have clustering algorithms embedded inside their placement algorithms. To better evaluate the performance of the proposed technique, the internal clustering of these placers are disabled in the clustering experiments. If the internal clustering is enabled, the results will have noise and it will not be clear if the proposed clustering technique or the internal clustering is the cause of any benefits. Comparisons of the proposed technique with existing clustering techniques, including the technique used internally by Fastplace 3.0 and mPL6, are presented in Section 4.3. Capo is a partitioning-based placer and does not use internal clustering. Capo is, however, non-deterministic so the average of ten runs of each experiment are reported when results for Capo are given. The experiments are performed on a 64-bit dual core AMD opteron system running Linux with 8 GB of RAM. In addition, the parameter θ in (5) is set to 0.1 in the experiments.Wire length and runtime results of the experiment are presented in Table3(a) and 3(b), respectively. In both tables, Column 1 identifies the circuit that is placed. Columns 2–4, 5–7, and 8–10 show the results for Capo, Fastplace, and mPL, respectively. Each placer is used in three modes: baseline without clustering, one-level AMG-LE clustering with length-driven unclustering, and two-level AMG-LE clustering with length-driven unclustering. The columns showing one- and two-level AMG-LE are given in terms of the percentage improvement over the baseline. In this representation, positive percentages represent improvements.Table 3
Placement wire length and runtime results comparing one- and two-level AMG-LE clustering with length-driven unclustering to baseline placements without using clustering with three placers on the ICCAD04 benchmark suite.
(a)
HPWL
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×105)1Lvl (%)2Lvl (%)Baseline (×105)1Lvl (%)2Lvl (%)Baseline (×105)1Lvl (%)2Lvl (%)ibm01253.16.424−1.81.3244.64.2ibm02514.45.4543.14.6521.31.1ibm03771.89.8805.16.882−7.0−3.6ibm049314.815.7867.97.7109−5.7−4.4ibm051031.12.11010.70.593−5.2−5.1ibm06670.63.89938.133.9885.82.7ibm071269.311.91237.412.2124−3.1−4.0ibm081377.98.1147−4.110.12114.74.2ibm091454.46.61558.68.01892.91.7ibm103184.04.936210.812.23632.01.8ibm112104.17.022511.010.1243−0.1−2.6ibm1241310.914.541011.414.4461−1.11.1ibm132663.47.627312.111.8324−0.41.1ibm143922.64.047814.521.78246.56.6ibm155446.15.65778.612.21001−2.9−5.0ibm166295.66.468011.511.59316.75.7ibm177372.73.88109.312.211447.57.2ibm184582.13.357419.019.888511.010.7Average—4.97.1—9.611.7—1.51.3(b)
Runtime
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (s)1Lvl (%)2Lvl (%)Baseline (s)1Lvl (%)2Lvl (%)Baseline (s)1Lvl (%)2Lvl (%)ibm01193−3−7526−5−62109−69−152ibm02329−24−11246−14−72236−91−171ibm03487−21−10546−20−82221−108−210ibm04512−23−11051−17−90250−87−195ibm05411−25−12436−35−81174−118−183ibm06580−19−1159629−6390−83−197ibm07920−21−10596−9−82387−100−198ibm08941−20−12199−31−1581109−105−197ibm091198−29−119122−6−66898−136−221ibm101868−12−1202864−621450−126−210ibm111834−30−121135−66−1391084−84−193ibm121996−22−124282−12−521517−115−222ibm132387−16−120239−43−1181235−110−218ibm143327−29−129530−42−1212189−93−213ibm155781−30−142624−57−1973969−101−247ibm164917−35−132722−75−2175457−57−118ibm175286−31−1351133−33−1012788−131−228ibm184215−39−14215893−573106−125−257Average—−24−119—−24−98—−102−202The results in Table3(a) show that AMG-LE is effective at improving wire length on average for all placers using one or two levels of clustering. A maximum improvement of 38.1% is achieved using one-level AMG-LE and Fastplace. Using one-level AMG-LE, every circuit for Capo, 16 circuits for Fastplace, and 10 circuits for mPL have improved wire length when compared to the baseline. When two-level AMG-LE is used, every circuit for Capo and Fastplace, and 12 circuits for mPL are improved.The runtime results show that using the one-level scheme for mPL and the two-level scheme for all placers double the total runtime. For a placer, such as Fastplace, the increase in runtime may be more acceptable because it requires much less time than other placers. However, the increase for Capo and particularly for mPL are less acceptable. It should be noted that mPL does not offer an option to perform only detailed placement requiring full global and detailed placement to be performed between each level, which accounts for the significant increases compared to the other two placers. The experiment performed in the following section will illustrate how to improve the runtime results while maintaining, and even improving, the wire length results.An interesting result arising from the experiment is that the placements resulting from using the AMG-LE framework are more correlated with the length estimates than the baseline placements. The correlation improvement is small, with a maximum improvement of 6% for Capo using two-level AMG-LE, but does suggest that the estimates are directing the placement.In order to assess the scalability of the proposed clustering and unclustering algorithms, the same experiments are performed on the ISPD05 circuits. These circuits are bigger than the ICCAD04 benchmarks and have significantly larger maximum net degree. The results are tabulated in Table4. The version of Capo used in the experiment could not place the adaptec4 benchmark on the test platform so its entries in Table 4 are not included. In general, the results resemble those of Table 3 with Capo and Fastplace obtaining significant wire length improvement for both one- and two-level AMG-LE. Meanwhile, only a negligible average improvement is achieved by mPL. The runtime increases for all placers with mPL having the largest increase in runtime, which is not surprising given that mPL must perform global placement in addition to detailed placement at each level. Capo has a more modest increase in runtime compared to the other two placers, on average. In this case, the placements for mPL are nearly identical whether one or two levels of AMG-LE clustering are performed. This means that the effects of the second level of clustering are almost entirely removed by performing global placement on the unclustered circuit.Table 4
Placement wire length and runtime results comparing one- and two-level AMG-LE clustering with length-driven unclustering to baseline placements without using clustering with three placers on the ISPD05 benchmark suite.
(a)
HPWL
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×106)1Lvl (%)2Lvl (%)Baseline (×106)1Lvl (%)2Lvl (%)Baseline (×106)1Lvl (%)2Lvl (%)adaptec1911.52.3878.68.781−1.1−1.1adaptec212014.214.51084.09.697−0.1−0.1adaptec32546.45.728715.417.22240.60.6adaptec4———2308.612.7195−0.5−0.5bigblue11144.03.31075.57.81010.00.0bigblue21672.72.31818.512.3152−0.3−0.3bigblue34393.66.466337.040.14921.71.7Average—5.45.7—12.515.5—0.00.0(b)
Runtime
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (× 102 s)1Lvl (%)2Lvl (%)Baseline (× 102 s)1Lvl (%)2Lvl (%)Baseline (× 102 s)1Lvl (%)2Lvl (%)adaptec130−24−735−79−10918−80−109adaptec2442−4913−15−417−134−211adaptec381−32−10728−136−7765−89−135adaptec4———21−208−18445−258−199bigblue15411−366−158−14118−128−173bigblue292−64−10023−299−27849−235−286bigblue3254−24−49139−45−78123−323−365Average—−22−69—−134−125—−178−211


### 4.2. Length-Driven Unclustering as a Detailed Placer

In this section, the same multilevel experiments are performed with the difference of not performing any placement apart from placing the bottommost clustered circuit. The circuit is placed at the bottom level using the global and detailed placement functions of each placer (if the two are distinguished). As a result, the placement at the bottom level is legal, that is, free from overlaps. To improve upon the runtime results given in the previous section, it is proposed to only use the length-driven unclustering technique as the only refinement between levels. The placement will preserve its legality using the technique mentioned in Section3.2. The results of this experiment are given in Table 5.Table 5
Placement wire length and runtime results comparing one- and two-level AMG-LE clustering with length-driven unclustering without detailed placement to baseline placements without using clustering with three placers on the ICCAD04 benchmark suite.
(a)
HPWL
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×105)1Lvl (%)2Lvl (%)Baseline (×105)1Lvl (%)2Lvl (%)Baseline (×105)1Lvl (%)2Lvl (%)ibm0125−1.0−1.724−7.7−4.924−3.2−3.4ibm02511.61.2541.32.552−3.8−3.8ibm03774.24.6801.33.4825.05.1ibm049310.610.4864.04.710911.315.9ibm051030.3−1.1101−1.9−2.793−10.1−13.4ibm06671.30.39935.831.18815.417.1ibm0712610.29.91233.37.0124−4.41.2ibm081372.61.9147−3.03.321113.020.0ibm091450.61.51554.33.918911.915.9ibm10318−1.0−0.53627.49.03633.25.7ibm112101.91.92257.66.32434.34.1ibm124139.69.64107.410.44616.46.9ibm132663.33.42737.77.33249.714.3ibm143922.41.047811.518.482430.035.2ibm155442.6−0.15775.08.6100123.323.4ibm166295.12.56808.57.993116.821.8ibm177371.91.28107.09.0114413.021.5ibm184580.90.057415.315.888518.828.9Average—3.22.6—6.47.8—8.912.0(b)
Runtime
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (s)1Lvl (%)2Lvl (%)Baseline (s)1Lvl (%)2Lvl (%)Baseline (s)1Lvl (%)2Lvl  (%)ibm01193161226−12−221094754ibm02329−82461−282362738ibm03487−5546−16−362211032ibm04512−1−451−13−422503940ibm05411−1−136−29−63174−232ibm065801259634153903951ibm079207896−8−573872835ibm089416−1199−22−11011096267ibm091198−81122−3−428985562ibm1018683−32868−111450838ibm111834−1−5135−64−9410845656ibm121996−1−7282−3−1715172939ibm132387−7−6239−32−8112355456ibm143327−2−14530−51−12521892749ibm1557810−22624−38−18839693243ibm164917−4−11722−58−16754575053ibm175286−4−261133−40−842788312ibm184215−8−3615892−433106214Average—0−6—−19−66—3243The format of the Tables5(a) and 5(b) is the same as Table 3. It can be seen that all placers’ wire lengths are improved on average using either one- or two-level AMG-LE. The best wire length improvement is again for Fastplace with one-level AMG-LE on ibm06 with a 35.8% improvement. Using one-level AMG-LE 16, 15, and 14 circuits improve for Capo, Fastplace, and mPL, respectively. Improvement is observed in 14, 16, and 15 circuits for Capo, Fastplace, and mPL, respectively, when using two-level AMG-LE. When compared to the results in Section 4.1, the average wire length for Capo and Fastplace degrades while mPL significantly improves. This improvement is because mPL has no option to perform just detailed placement. It performs global and detailed placement using the clustered placement as the starting point. During this process, the clusters become dispersed. Therefore, when the proposed length-driven unclustering is used as a detailed placer, the benefits of clustering and length-driven unclustering are preserved.The runtime results show significant improvements over the results in Section4.1. When compared to the baseline, Capo is not significantly changed while Fastplace is degraded by 19% and 66% for one- and two-level AMG-LE. The increases in runtime for Fastplace may be tolerated because of its comparatively low runtimes. However, mPL runtimes are improved significantly with more improvement seen with two-level AMG-LE, nearly cutting the average runtime by half.In order to assess the scalability of the proposed length-driven unclustering as a detailed placer, the same experiments are performed on the ISPD05 circuits. The results are tabulated in Table6. The results follow similar trends as those of Table 5. All placers achieve wire length improvements and significantly improved running times compared to the results of Table 4 which are obtained by using each placers’ detailed placement algorithm in between clustering levels. In this case, Capo achieves an overall runtime improvement compared to the baseline with 3.6% and 2.4% average improvements in wire length when performing one and two levels of AMG-LE clustering, respectively. mPL achieves substantial improvements in wire length with modest increases in average running time. Finally, for Fastplace, significant average wire length improvements are observed for both one and two levels of AMG-LE clustering, while the runtime has degraded which is acceptable considering the relatively low runtimes of Fastplace.Table 6
Placement wire length and runtime results comparing one- and two-level AMG-LE clustering with length-driven unclustering without detailed placement to baseline placements without using clustering with three placers on the ISPD05 benchmark suite.
(a)
HPWL
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×106)1Lvl (%)2Lvl (%)Baseline (×106)1Lvl (%)2Lvl (%)Baseline (×106)1Lvl (%)2Lvl (%)adaptec191−1.4−2.7871.8−1.6815.33.1adaptec212012.610.8108−0.23.69713.712.9adaptec32544.02.028712.010.822416.415.3adaptec4———2304.97.41958.07.6bigblue11141.10.1107−1.7−2.6101−0.4−2.3bigblue21671.0−0.41810.82.01523.21.6bigblue34394.34.666335.737.649230.429.1Average—3.62.4—7.68.2—10.99.6(b)
Runtime
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×102 s)1Lvl (%)2Lvl (%)Baseline (×102 s)1Lvl (%)2Lvl (%)Baseline (×102 s)1Lvl (%)2Lvl (%)adaptec13021175−61−6518323adaptec244344113−141017−34−59adaptec381192928−47−7365−2216adaptec4———21−203−19545−59−52bigblue15439426−95−7418−2−36bigblue292−2−1623−128−11449−71−91bigblue325411−4139−29−68123−90−75Average—2018—−82−83—−35−42In the end, the circuit designers can decide which of the placement flows presented in Sections4.1 and 4.2 is preferred for their application. Both improve wire length but to varying degrees depending on the choice of placer. When using a placer like Capo or Fastplace, the best wire length is obtained by an increase in runtime, while mPL achieves the best results with the fast detailed placement flow. If runtime is the most urgent concern, the proposed scheme of using length-driven unclustering as a detailed placer is the best option.


### 4.3. Comparison to Existing Clustering Algorithms

The proposed AMG-LE clustering algorithm with length-driven unclustering is compared to other existing clustering algorithms in this section. Each technique is evaluated in terms of after placement wire length and total runtime using the mPL6 placer [37]. The clustering algorithms compared to are heavy-edge matching (HEM) [22], best-choice (BC) [1], and the AMG clustering (AMGC) algorithm in [31]. It is worth mentioning that best-choice is the clustering algorithm used internally by Fastplace 3.0 and mPL6. Placement is first performed without any clustering to establish a baselline. Then, each of the algorithms is used to produce a clustered circuit which is placed by mPL. The clustered placement is then unclustered and detailed placement is performed by mPL or by using length-driven unclustering as a detailed placer. Results of the experiment are given in Table 7.Table 7
Placement wire length and runtime results comparing one-level of existing clustering algorithms and AMG-LE with and without length-driven unclustering to baseline placements without using clustering with mPL6 on the ICCAD04 benchmark suite.
(a)
HPWL
CircuitAMG-LE 1LvlBaseline (×106)HEM (%)BC (%)AMGC (%)Regular (%)Fast detailed (%)ibm012.45.97.15.74.6−3.2ibm025.2−6.3−1.6−9.91.3−3.8ibm038.22.26.15.8−75ibm0410.90.4−1.3−1.9−5.711.3ibm059.3−5.4−5.3−5.4−5.2−10.1ibm068.81012.511.95.815.4ibm0712.41.4−0.12.2−3.1−4.4ibm0821.1−2.7−2.9−2.94.713ibm0918.95.1−23.72.911.9ibm1036.31.91.72.123.2ibm1124.3−2.6−4.6−1.8−0.14.3ibm1246.1−5−5.9−4.2−1.16.4ibm1332.4−1.20.31.7−0.49.7ibm1482.46.97.47.46.530ibm15100.1−7.5−3.31.7−2.923.3ibm1693.12.52.42.66.716.8ibm17114.45.75.94.97.513ibm1888.511.612121118.8Average—1.21.51.91.58.9(b)
Runtime
CircuitAMG-LE 1LvlBaseline (s)HEM (%)BC (%)AMGC (%)Regular  (%)Fast detailed (%)ibm01150−20−20−14−6947ibm02324−39−41−38−9127ibm03281−67−52−85−10810ibm04344−40−28−31−8739ibm05232−45−29−22−118−2ibm06475−62−32−49−8339ibm07488−51−43−49−10028ibm081468−29−44−26−10562ibm091134−26−26−24−13655ibm101762−45−49−45−1268ibm111501−15−1−4−8456ibm122009−41−57−36−11529ibm131456−28−26−23−11054ibm142547−39−33−29−9327ibm154208−48−26−23−10132ibm165821−33−35−26−5750ibm173025−52−53−59−1313ibm183672−47−49−49−1252Average—−40−36−35−10231The percentage improvement for AMG-LE in a regular clustered placement flow, as described in Section4.1, is given under the subheading Regular. The column labeled Fast Detailed refers to the results using only length-driven unclustering as a detailed placer, described in Section 4.2. In terms of wire length, the regular AMG-LE scheme is competitive with the existing algorithms performing better in some circuits and worse in others. On the other hand, the runtime for regular AMG-LE degrades more than the other clustering techniques. This is because the runtime includes the time to perform pre-placement length estimation and the algorithm is implemented in the MATLAB environment Therefore, the runtime can be way more competitive if the procedure is implemented in a more efficient way. However, the fast detailed variant of AMG-LE is a clear winner in terms of average wire length and runtime improvement.


## 4.1. Multilevel Clustering Results Using the Proposed AMG-LE Technique

To evaluate the proposed clustering algorithm, its effectiveness in the context of multilevel circuit placement using multiple placers is illustrated. The experiments are performed using three high-quality academic placers: Capo 10.5 [35], Fastplace 3.0 [36], and mPL6 [37]. Fastplace and mPL are analytical placers and have clustering algorithms embedded inside their placement algorithms. To better evaluate the performance of the proposed technique, the internal clustering of these placers are disabled in the clustering experiments. If the internal clustering is enabled, the results will have noise and it will not be clear if the proposed clustering technique or the internal clustering is the cause of any benefits. Comparisons of the proposed technique with existing clustering techniques, including the technique used internally by Fastplace 3.0 and mPL6, are presented in Section 4.3. Capo is a partitioning-based placer and does not use internal clustering. Capo is, however, non-deterministic so the average of ten runs of each experiment are reported when results for Capo are given. The experiments are performed on a 64-bit dual core AMD opteron system running Linux with 8 GB of RAM. In addition, the parameter θ in (5) is set to 0.1 in the experiments.Wire length and runtime results of the experiment are presented in Table3(a) and 3(b), respectively. In both tables, Column 1 identifies the circuit that is placed. Columns 2–4, 5–7, and 8–10 show the results for Capo, Fastplace, and mPL, respectively. Each placer is used in three modes: baseline without clustering, one-level AMG-LE clustering with length-driven unclustering, and two-level AMG-LE clustering with length-driven unclustering. The columns showing one- and two-level AMG-LE are given in terms of the percentage improvement over the baseline. In this representation, positive percentages represent improvements.Table 3
Placement wire length and runtime results comparing one- and two-level AMG-LE clustering with length-driven unclustering to baseline placements without using clustering with three placers on the ICCAD04 benchmark suite.
(a)
HPWL
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×105)1Lvl (%)2Lvl (%)Baseline (×105)1Lvl (%)2Lvl (%)Baseline (×105)1Lvl (%)2Lvl (%)ibm01253.16.424−1.81.3244.64.2ibm02514.45.4543.14.6521.31.1ibm03771.89.8805.16.882−7.0−3.6ibm049314.815.7867.97.7109−5.7−4.4ibm051031.12.11010.70.593−5.2−5.1ibm06670.63.89938.133.9885.82.7ibm071269.311.91237.412.2124−3.1−4.0ibm081377.98.1147−4.110.12114.74.2ibm091454.46.61558.68.01892.91.7ibm103184.04.936210.812.23632.01.8ibm112104.17.022511.010.1243−0.1−2.6ibm1241310.914.541011.414.4461−1.11.1ibm132663.47.627312.111.8324−0.41.1ibm143922.64.047814.521.78246.56.6ibm155446.15.65778.612.21001−2.9−5.0ibm166295.66.468011.511.59316.75.7ibm177372.73.88109.312.211447.57.2ibm184582.13.357419.019.888511.010.7Average—4.97.1—9.611.7—1.51.3(b)
Runtime
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (s)1Lvl (%)2Lvl (%)Baseline (s)1Lvl (%)2Lvl (%)Baseline (s)1Lvl (%)2Lvl (%)ibm01193−3−7526−5−62109−69−152ibm02329−24−11246−14−72236−91−171ibm03487−21−10546−20−82221−108−210ibm04512−23−11051−17−90250−87−195ibm05411−25−12436−35−81174−118−183ibm06580−19−1159629−6390−83−197ibm07920−21−10596−9−82387−100−198ibm08941−20−12199−31−1581109−105−197ibm091198−29−119122−6−66898−136−221ibm101868−12−1202864−621450−126−210ibm111834−30−121135−66−1391084−84−193ibm121996−22−124282−12−521517−115−222ibm132387−16−120239−43−1181235−110−218ibm143327−29−129530−42−1212189−93−213ibm155781−30−142624−57−1973969−101−247ibm164917−35−132722−75−2175457−57−118ibm175286−31−1351133−33−1012788−131−228ibm184215−39−14215893−573106−125−257Average—−24−119—−24−98—−102−202The results in Table3(a) show that AMG-LE is effective at improving wire length on average for all placers using one or two levels of clustering. A maximum improvement of 38.1% is achieved using one-level AMG-LE and Fastplace. Using one-level AMG-LE, every circuit for Capo, 16 circuits for Fastplace, and 10 circuits for mPL have improved wire length when compared to the baseline. When two-level AMG-LE is used, every circuit for Capo and Fastplace, and 12 circuits for mPL are improved.The runtime results show that using the one-level scheme for mPL and the two-level scheme for all placers double the total runtime. For a placer, such as Fastplace, the increase in runtime may be more acceptable because it requires much less time than other placers. However, the increase for Capo and particularly for mPL are less acceptable. It should be noted that mPL does not offer an option to perform only detailed placement requiring full global and detailed placement to be performed between each level, which accounts for the significant increases compared to the other two placers. The experiment performed in the following section will illustrate how to improve the runtime results while maintaining, and even improving, the wire length results.An interesting result arising from the experiment is that the placements resulting from using the AMG-LE framework are more correlated with the length estimates than the baseline placements. The correlation improvement is small, with a maximum improvement of 6% for Capo using two-level AMG-LE, but does suggest that the estimates are directing the placement.In order to assess the scalability of the proposed clustering and unclustering algorithms, the same experiments are performed on the ISPD05 circuits. These circuits are bigger than the ICCAD04 benchmarks and have significantly larger maximum net degree. The results are tabulated in Table4. The version of Capo used in the experiment could not place the adaptec4 benchmark on the test platform so its entries in Table 4 are not included. In general, the results resemble those of Table 3 with Capo and Fastplace obtaining significant wire length improvement for both one- and two-level AMG-LE. Meanwhile, only a negligible average improvement is achieved by mPL. The runtime increases for all placers with mPL having the largest increase in runtime, which is not surprising given that mPL must perform global placement in addition to detailed placement at each level. Capo has a more modest increase in runtime compared to the other two placers, on average. In this case, the placements for mPL are nearly identical whether one or two levels of AMG-LE clustering are performed. This means that the effects of the second level of clustering are almost entirely removed by performing global placement on the unclustered circuit.Table 4
Placement wire length and runtime results comparing one- and two-level AMG-LE clustering with length-driven unclustering to baseline placements without using clustering with three placers on the ISPD05 benchmark suite.
(a)
HPWL
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×106)1Lvl (%)2Lvl (%)Baseline (×106)1Lvl (%)2Lvl (%)Baseline (×106)1Lvl (%)2Lvl (%)adaptec1911.52.3878.68.781−1.1−1.1adaptec212014.214.51084.09.697−0.1−0.1adaptec32546.45.728715.417.22240.60.6adaptec4———2308.612.7195−0.5−0.5bigblue11144.03.31075.57.81010.00.0bigblue21672.72.31818.512.3152−0.3−0.3bigblue34393.66.466337.040.14921.71.7Average—5.45.7—12.515.5—0.00.0(b)
Runtime
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (× 102 s)1Lvl (%)2Lvl (%)Baseline (× 102 s)1Lvl (%)2Lvl (%)Baseline (× 102 s)1Lvl (%)2Lvl (%)adaptec130−24−735−79−10918−80−109adaptec2442−4913−15−417−134−211adaptec381−32−10728−136−7765−89−135adaptec4———21−208−18445−258−199bigblue15411−366−158−14118−128−173bigblue292−64−10023−299−27849−235−286bigblue3254−24−49139−45−78123−323−365Average—−22−69—−134−125—−178−211


## 4.2. Length-Driven Unclustering as a Detailed Placer

In this section, the same multilevel experiments are performed with the difference of not performing any placement apart from placing the bottommost clustered circuit. The circuit is placed at the bottom level using the global and detailed placement functions of each placer (if the two are distinguished). As a result, the placement at the bottom level is legal, that is, free from overlaps. To improve upon the runtime results given in the previous section, it is proposed to only use the length-driven unclustering technique as the only refinement between levels. The placement will preserve its legality using the technique mentioned in Section3.2. The results of this experiment are given in Table 5.Table 5
Placement wire length and runtime results comparing one- and two-level AMG-LE clustering with length-driven unclustering without detailed placement to baseline placements without using clustering with three placers on the ICCAD04 benchmark suite.
(a)
HPWL
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×105)1Lvl (%)2Lvl (%)Baseline (×105)1Lvl (%)2Lvl (%)Baseline (×105)1Lvl (%)2Lvl (%)ibm0125−1.0−1.724−7.7−4.924−3.2−3.4ibm02511.61.2541.32.552−3.8−3.8ibm03774.24.6801.33.4825.05.1ibm049310.610.4864.04.710911.315.9ibm051030.3−1.1101−1.9−2.793−10.1−13.4ibm06671.30.39935.831.18815.417.1ibm0712610.29.91233.37.0124−4.41.2ibm081372.61.9147−3.03.321113.020.0ibm091450.61.51554.33.918911.915.9ibm10318−1.0−0.53627.49.03633.25.7ibm112101.91.92257.66.32434.34.1ibm124139.69.64107.410.44616.46.9ibm132663.33.42737.77.33249.714.3ibm143922.41.047811.518.482430.035.2ibm155442.6−0.15775.08.6100123.323.4ibm166295.12.56808.57.993116.821.8ibm177371.91.28107.09.0114413.021.5ibm184580.90.057415.315.888518.828.9Average—3.22.6—6.47.8—8.912.0(b)
Runtime
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (s)1Lvl (%)2Lvl (%)Baseline (s)1Lvl (%)2Lvl (%)Baseline (s)1Lvl (%)2Lvl  (%)ibm01193161226−12−221094754ibm02329−82461−282362738ibm03487−5546−16−362211032ibm04512−1−451−13−422503940ibm05411−1−136−29−63174−232ibm065801259634153903951ibm079207896−8−573872835ibm089416−1199−22−11011096267ibm091198−81122−3−428985562ibm1018683−32868−111450838ibm111834−1−5135−64−9410845656ibm121996−1−7282−3−1715172939ibm132387−7−6239−32−8112355456ibm143327−2−14530−51−12521892749ibm1557810−22624−38−18839693243ibm164917−4−11722−58−16754575053ibm175286−4−261133−40−842788312ibm184215−8−3615892−433106214Average—0−6—−19−66—3243The format of the Tables5(a) and 5(b) is the same as Table 3. It can be seen that all placers’ wire lengths are improved on average using either one- or two-level AMG-LE. The best wire length improvement is again for Fastplace with one-level AMG-LE on ibm06 with a 35.8% improvement. Using one-level AMG-LE 16, 15, and 14 circuits improve for Capo, Fastplace, and mPL, respectively. Improvement is observed in 14, 16, and 15 circuits for Capo, Fastplace, and mPL, respectively, when using two-level AMG-LE. When compared to the results in Section 4.1, the average wire length for Capo and Fastplace degrades while mPL significantly improves. This improvement is because mPL has no option to perform just detailed placement. It performs global and detailed placement using the clustered placement as the starting point. During this process, the clusters become dispersed. Therefore, when the proposed length-driven unclustering is used as a detailed placer, the benefits of clustering and length-driven unclustering are preserved.The runtime results show significant improvements over the results in Section4.1. When compared to the baseline, Capo is not significantly changed while Fastplace is degraded by 19% and 66% for one- and two-level AMG-LE. The increases in runtime for Fastplace may be tolerated because of its comparatively low runtimes. However, mPL runtimes are improved significantly with more improvement seen with two-level AMG-LE, nearly cutting the average runtime by half.In order to assess the scalability of the proposed length-driven unclustering as a detailed placer, the same experiments are performed on the ISPD05 circuits. The results are tabulated in Table6. The results follow similar trends as those of Table 5. All placers achieve wire length improvements and significantly improved running times compared to the results of Table 4 which are obtained by using each placers’ detailed placement algorithm in between clustering levels. In this case, Capo achieves an overall runtime improvement compared to the baseline with 3.6% and 2.4% average improvements in wire length when performing one and two levels of AMG-LE clustering, respectively. mPL achieves substantial improvements in wire length with modest increases in average running time. Finally, for Fastplace, significant average wire length improvements are observed for both one and two levels of AMG-LE clustering, while the runtime has degraded which is acceptable considering the relatively low runtimes of Fastplace.Table 6
Placement wire length and runtime results comparing one- and two-level AMG-LE clustering with length-driven unclustering without detailed placement to baseline placements without using clustering with three placers on the ISPD05 benchmark suite.
(a)
HPWL
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×106)1Lvl (%)2Lvl (%)Baseline (×106)1Lvl (%)2Lvl (%)Baseline (×106)1Lvl (%)2Lvl (%)adaptec191−1.4−2.7871.8−1.6815.33.1adaptec212012.610.8108−0.23.69713.712.9adaptec32544.02.028712.010.822416.415.3adaptec4———2304.97.41958.07.6bigblue11141.10.1107−1.7−2.6101−0.4−2.3bigblue21671.0−0.41810.82.01523.21.6bigblue34394.34.666335.737.649230.429.1Average—3.62.4—7.68.2—10.99.6(b)
Runtime
CircuitCapoFastplacemPLAMG-LEAMG-LEAMG-LEBaseline (×102 s)1Lvl (%)2Lvl (%)Baseline (×102 s)1Lvl (%)2Lvl (%)Baseline (×102 s)1Lvl (%)2Lvl (%)adaptec13021175−61−6518323adaptec244344113−141017−34−59adaptec381192928−47−7365−2216adaptec4———21−203−19545−59−52bigblue15439426−95−7418−2−36bigblue292−2−1623−128−11449−71−91bigblue325411−4139−29−68123−90−75Average—2018—−82−83—−35−42In the end, the circuit designers can decide which of the placement flows presented in Sections4.1 and 4.2 is preferred for their application. Both improve wire length but to varying degrees depending on the choice of placer. When using a placer like Capo or Fastplace, the best wire length is obtained by an increase in runtime, while mPL achieves the best results with the fast detailed placement flow. If runtime is the most urgent concern, the proposed scheme of using length-driven unclustering as a detailed placer is the best option.


## 4.3. Comparison to Existing Clustering Algorithms

The proposed AMG-LE clustering algorithm with length-driven unclustering is compared to other existing clustering algorithms in this section. Each technique is evaluated in terms of after placement wire length and total runtime using the mPL6 placer [37]. The clustering algorithms compared to are heavy-edge matching (HEM) [22], best-choice (BC) [1], and the AMG clustering (AMGC) algorithm in [31]. It is worth mentioning that best-choice is the clustering algorithm used internally by Fastplace 3.0 and mPL6. Placement is first performed without any clustering to establish a baselline. Then, each of the algorithms is used to produce a clustered circuit which is placed by mPL. The clustered placement is then unclustered and detailed placement is performed by mPL or by using length-driven unclustering as a detailed placer. Results of the experiment are given in Table 7.Table 7
Placement wire length and runtime results comparing one-level of existing clustering algorithms and AMG-LE with and without length-driven unclustering to baseline placements without using clustering with mPL6 on the ICCAD04 benchmark suite.
(a)
HPWL
CircuitAMG-LE 1LvlBaseline (×106)HEM (%)BC (%)AMGC (%)Regular (%)Fast detailed (%)ibm012.45.97.15.74.6−3.2ibm025.2−6.3−1.6−9.91.3−3.8ibm038.22.26.15.8−75ibm0410.90.4−1.3−1.9−5.711.3ibm059.3−5.4−5.3−5.4−5.2−10.1ibm068.81012.511.95.815.4ibm0712.41.4−0.12.2−3.1−4.4ibm0821.1−2.7−2.9−2.94.713ibm0918.95.1−23.72.911.9ibm1036.31.91.72.123.2ibm1124.3−2.6−4.6−1.8−0.14.3ibm1246.1−5−5.9−4.2−1.16.4ibm1332.4−1.20.31.7−0.49.7ibm1482.46.97.47.46.530ibm15100.1−7.5−3.31.7−2.923.3ibm1693.12.52.42.66.716.8ibm17114.45.75.94.97.513ibm1888.511.612121118.8Average—1.21.51.91.58.9(b)
Runtime
CircuitAMG-LE 1LvlBaseline (s)HEM (%)BC (%)AMGC (%)Regular  (%)Fast detailed (%)ibm01150−20−20−14−6947ibm02324−39−41−38−9127ibm03281−67−52−85−10810ibm04344−40−28−31−8739ibm05232−45−29−22−118−2ibm06475−62−32−49−8339ibm07488−51−43−49−10028ibm081468−29−44−26−10562ibm091134−26−26−24−13655ibm101762−45−49−45−1268ibm111501−15−1−4−8456ibm122009−41−57−36−11529ibm131456−28−26−23−11054ibm142547−39−33−29−9327ibm154208−48−26−23−10132ibm165821−33−35−26−5750ibm173025−52−53−59−1313ibm183672−47−49−49−1252Average—−40−36−35−10231The percentage improvement for AMG-LE in a regular clustered placement flow, as described in Section4.1, is given under the subheading Regular. The column labeled Fast Detailed refers to the results using only length-driven unclustering as a detailed placer, described in Section 4.2. In terms of wire length, the regular AMG-LE scheme is competitive with the existing algorithms performing better in some circuits and worse in others. On the other hand, the runtime for regular AMG-LE degrades more than the other clustering techniques. This is because the runtime includes the time to perform pre-placement length estimation and the algorithm is implemented in the MATLAB environment Therefore, the runtime can be way more competitive if the procedure is implemented in a more efficient way. However, the fast detailed variant of AMG-LE is a clear winner in terms of average wire length and runtime improvement.


## 5. Conclusions

This paper presents a new clustering technique by utilizing length estimates in an algebraic multigrid-based clustering technique. In addition, a physical unclustering technique is proposed with the benefits of reducing wire length and preserving legality. Because of its legality-preserving nature, the technique eliminates the need to use detailed placement between levels in the framework. These techniques are shown to be effective in reducing wire length and can also be used to benefit runtime.



---

*Source: 395260-2012-05-23.xml*