Journal Pre-proof Mixed-cell-height legalization considering complex minimum width constraints and half-row fragmentation effect Ziran Zhu, Zhipeng Huang, Peng Yang, Wenxing Zhu, Jianli Chen, Hanbin Zhou, Senhua Dons PII:
S0167-9260(19)30232-9
DOI:
https://doi.org/10.1016/j.vlsi.2019.11.008
Reference:
VLSI 1646
To appear in:
Integration
Received Date: 15 May 2019 Revised Date:
22 September 2019
Accepted Date: 16 November 2019
Please cite this article as: Z. Zhu, Z. Huang, P. Yang, W. Zhu, J. Chen, H. Zhou, S. Dons, Mixed-cellheight legalization considering complex minimum width constraints and half-row fragmentation effect, Integration (2019), doi: https://doi.org/10.1016/j.vlsi.2019.11.008. This is a PDF file of an article that has undergone enhancements after acceptance, such as the addition of a cover page and metadata, and formatting for readability, but it is not yet the definitive version of record. This version will undergo additional copyediting, typesetting and review before it is published in its final form, but we are providing this version to give early visibility of the article. Please note that, during the production process, errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain. Β© 2019 Published by Elsevier B.V.
Mixed-Cell-Height Legalization Considering Complex Minimum Width Constraints and Half-Row Fragmentation EffectI Ziran Zhu1 , Zhipeng Huang1 , Peng Yang1 , Wenxing Zhu1 , Jianli Chen1,β , Hanbin Zhou2 , and Senhua Dong2 1 Center
for Discrete Mathematics and Theoretical Computer Science, Fuzhou University, Fuzhou 350116, China 2 Empyrean Software, Inc, Beijing, 100000, China
Abstract With the increasing complexity in modern circuit designs, the 6T&6TPPNN circuits have become popular in advanced technologies for better trade-offs among routability, timing, power and performance. The 6TPPNN cells incur great challenges to layout designs, especially the legalization problem due to their complex minimum width (MW) constraints and the fragmentation effect (FE). In this paper, we address the mixed 6T&6TPPNN cell legalization problem considering both MW constraints and FE issues. Given a global placement result, we first align all cells to the correct rows/half-rows that satisfy the VDD/VSS alignment constraints, and then propose a clustering-based MW constraints solving method to eliminate all the MW violations. After that, we formulate the legalization problem with MW constraints as a quadratic programming (QP) problem, which not only satisfies the MW constraints, but also avoid causing excessive dead spaces. Finally, we integrate the FE issues into the formulated MW-aware QP model, and adopt the modulus-based matrix splitting iteration method (MMSIM) to solve the mathematical model effectively and efficiently. Experimental results show that our algorithm can resolve all MW constraints I Part of this work was presented at the 2019 China Semiconductor Technology International Conference (CSTIC), 2019. β Corresponding author:
[email protected]
Preprint submitted to Journal of LATEX Templates
November 20, 2019
and mitigate the half-row fragmentation effect without any extra area overhead in a reasonable time. Keywords: 6T&6TPPNN, Minimum width (MW) constraints, Fragmentation effect, Legalization, Clustering
1. Introduction With the shrinking transistors and increasing complexity in modern circuit designs, standard cells with the same height are insufficient to meet the various design requirements [1, 2]. In order to make a better trade-offs among routability, timing, power and performance, designs with mixed-row-height 6T&6TPPNN cells become popular in advanced node technologies [3, 4], where complex 6T cells are designed as multi-row-height structure for larger drive strengths [5], while simple ones remain single-row-height structure for area efficiency [1, 6]. Besides, the 6TPPNN cells are designed to achieve both larger drive strengths and area efficiency. Although the manufacturing complexity of 6TPPNN cells are higher, the 6TPPNN cells play an important role in improving the drive strengths on critical paths. A 6TPPNN cell is double-row-height and it can reach the drive strengths of triple-row-height cell. Since the 6TPPNN cells should be aligned to the half-rows, thus may induce half-row fragmentation. If any half-row fragmentation is not eliminated, a 6TPPNN cell is no more area efficiency than a triple-row-height cell. Therefore, it is desirable to consider half-row fragmentation in mixed 6T&6TPPNN cell placement, especially the legalization problem. Furthermore, power (VDD) and ground (VSS) rails are interleaved among placement rows, and each cell must be aligned correctly such that its VDD/VSS pins match the corresponding rows [7]. A 6T cell can be aligned to dedicated rows to meet the VDD/VSS alignment requirement. However, since the 6TPPNN cells are double-row-height and include VDD/VSS pins inside the cells, the 6TPPNN cells must have half-row shift to conform to the VDD/VSS alignment constraints. Figure 1 illustrates the general 6T&6TPPNN cell structure with the VDD/VSS
2
constraints and half-row fragmentation, where cells c1 , c2 and c3 are 6T cells, and cells c4 and c5 are 6TPPNN cells. For a 6T odd-row-height cell (e.g., cell c1 or c3 ), it can be aligned to any placement row directly or by flipping vertically to satisfy the VDD/VSS constraints, due to its different types of pins at the top and bottom. In contrast, since both sides of a 6T even-row-height cell (e.g., cell c2 ) have the same type of pins (i.e., either VDD pins or VSS pins), the VDD/VSS mismatch cannot be corrected by vertical cell flipping, and thus a 6T even-row-height cell must be placed to dedicated placement row with the matched VDD/VSS rails. For a 6TPPNN cell (e.g., cell c4 or c5 ), it can be aligned to the half-rows directly or by vertical cell flipping to meet the VDD/VSS alignment constraints because it is double-row-height and includes VDD/VSS pins inside the cell. In addition, the 6TPPNN cells may induce halfrow fragmentation as shown in Figure 1. A legalizer without considering the half-row fragmentation may cause severe dead spaces, resulting in area overhead and degraded chip performance. VSS alignment violation
Half-row fragmentation
VDD
SVT
π1
π1
VSS π4 π2
π2
VDD
π5
π3
ULVT 6T 6TPPNN
VSS VDD alignment violation
Half-row fragmentation
Figure 1: General 6T&6TPPNN cell structure with the VDD/VSS constraints and half-row fragmentation.
In addition, in order to reduce leakage power while attaining high circuit performance, multiple threshold voltages (multi-VTs) have been widely used to balance the power consumption and timing [8]. In the general 6T&6TPPNN circuits, there are two types of VTs: ultralow threshold voltage (ULVT) and standard threshold voltage (SVT). Due to the limitations of the manufacturing
3
process and the particularity of 6TPPNN cells, the 6TPPNN cells may incur the minimum width (MW) constraints. The MW constraints specify a lower bound for the width of a 6TPPNN cell, and a 6TPPNN cell incur a MW violation if and only if its width is smaller than the specified lower bound. The MW constraints are important because small-width cells are widespread in cost-driven and lowpower designs [9, 10]. A legalizer without considering the MW constraints may violate the minimum-implant-area layer rule resulting from the limitations of patterning technologies [10]. Inserting the same VT fillers and clustering cells with the same VT are two common ways to resolve the MW violations [8, 10, 11]. For example, Figure 2(a) shows a placement of a 6T&6TPPNN design with two MW violations on 6TPPNN cells c3 and c4 . The MW violations can be fixed by inserting fillers or clustering the cells with the same VT type as shown in Figure 2(b) and 2(c), respectively. Since both mixed-cell-height 6T&6TPPNN cells and multiple VTs are significant for optimizing timing, power, and performance simultaneously, it is desirable to consider the complex MW constraints and half-row fragmentation effect in general 6T&6TPPNN circuit designs. π1
π4
π6
π5
π1
π2
π4
π7
π7 π3
π8
π3
π8
π9 (a)
π6
π1 Area overhead
π2
π5
π2
π5
SVT
π6
ULVT 6T
π’1 π3 π4
π9
π7
6TPPNN
π8
Filler
π9
MW MW violation
(c)
(b)
Figure 2: (a) A placement of a 6T&6TPPNN design with two MW violations on 6TPPNN cells c3 and c4 . (b) Inserting fillers to fix the MW violation cells directly, which incurs area overheads. (c) By using our clustering methodology, the violating 6TPPNN cells would be clustered into a new cluster without any area overhead.
4
1.1. Previous Works There are some recent state-of-the-art works handling the fundamental mixedcell-height standard cell legalization problem [12, 13, 14, 15, 7]. Wu et al. [12] presented an algorithm to legalize the designs with both single- and double-row heights, which did not consider the VDD/VSS alignment constraints. Chow et al. [13] developed a multi-row local legalization algorithm to legalize the mixed-cell-height cells one by one. The work [14] extended the single-row-cell legalizer Abacus [16] to address the mixed-cell-height legalization problem with the VDD/VSS alignment constraints. Hung et al. [15] presented a parallel legalization algorithm for the mixed-cell-height circuit designs, which is based on the network flow model and integer linear program formulation. Chen et al. [7] first formulated the mixed-cell-height legalization problem as a quadratic programming (QP) problem, and then converted the QP problem into an equivalent linear complementarity problem (LCP). Finally, they applied a modulus-based matrix splitting iteration method (MMSIM) to solve the LCP quickly. In addition to the fundamental mixed-cell-height legalization problem, there are some recent works addressed the mixed-cell-height standard cell circuit designs with various design rules and constraints in advanced node technologies [17, 10, 11, 18, 6, 19]. Lin et al. [17] considered the additional cell density and pin density for the mixed-cell-height detailed placement. Wu et al. [10] and Chen et al. [7] handled the minimum implant area constraints. Tseng et al. [18] considered mixed-cell-height legalization problem with the drain-to-drain abutment constraints, and Li et al. [6] and Zhu et al. [19] addressed the ICCAD 2017 CAD Contest problem [3], which considered the additional fence regions and routability constraints. However, none of the above previous works considered the crucial MW constraint and half-row fragmentation effect of the 6TPPNN cells. The commercial placement and routing tool handles MW constraints by inserting fillers of the same VT type at the final stage directly, this method may incur extra area overhead. Take Figure 2 for an example, where Figure 2(b) gives the initial placement with two MW violating cells c3 and c4 . For cell c3 , there are suf5
ficient whitespace for filler insertion. However, for cell c4 , the cell c5 should be pushed toward right to ensure that there are sufficient whitespace for filler insertion. Thus, if we resolve the violating cells by inserting fillers directly, there might incur area overheads as shown in Figure 2(c). In contrast, if we can fix the MW constraints by clustering cells of the same VT types, and place the cluster in a desired position, it is likely to avoid area overheads. Figure 2(d) shows the placement result after fixing the MW violating cells by our proposed method, which clustering the violating cells c3 and c4 into a new cluster and does not incur any area overhead. 1.2. Our Contributions In this paper, we address the general 6T&6TPPNN cell legalization problem considering the minimum width (MW) constraints and half-row fragmentation effect. The major contributions of our work are summarized as follows: β’ We propose a clustering-based MW constraints solving method to eliminate all the MW violations, in which we first cluster the MW violating cells by a MW-aware cell clustering method, and then determine the desired locations for the clusters by an optimal region based method. β’ We formulate the legalization problem with MW constraints as a quadratic programming problem, which not only satisfies the MW constraints, but also avoid causing excessive dead spaces. β’ We present a FE-aware cell clustering in the high density areas to effectively mitigate the half-row fragmentation effect, and quantitatively define the fragmentation effect. β’ We further integrate the FE issues into the formulated MW-aware legalization model, and adopt the modulus-based matrix splitting iteration method (MMSIM) [7] to solve the MW&FE-aware legalization problem effectively and efficiently.
6
β’ Experimental results show that our algorithm can resolve all MW constraint and mitigate the half-row fragmentation effect without any extra area overhead in a reasonable time. The remainder of this paper is organized as follows. Section 2 gives the problem statement. Section 3 details our proposed algorithm. Section 4 gives the experimental results. Finally, we make a conclusion in Section 5.
2. Problem Statement In the general 6T&6TPPNN cell legalization problem, we are given a global placement result with n cells and m nets, and each cell is regarded as a vertex, each net is regarded as a hyperedge. Then, a hypergraph G = (C, E) is constructed, where the vertices C = {c1 , c2 , . . . , cn } represent the cells, the hyperedges E = {e1 , e2 , . . . , em } represent the nets. The Rh and Sw respectively represent the placement row height and placement site width. The placement region is a rectangular sheet with (0, 0) and (W, H) as the bottom-left and top-right corner coordinates, respectively. Let (x0i , yi0 ) be the initial bottom-left corner coordinate of cell ci , and (wi , hi ) be the width and height of this cell. Each cell has corresponding VDD/VSS pins. Let C U L , C S , C 6T and C 6T P N be the sets of ULVT, SVT, 6T and 6TPPNN cells, respectively. The minimum width Ο is a given constant. The goal of the general 6T&6TPPNN cell legalization problem is to determine the best position (xi , yi ) for each cell ci such that the quality of the given global placement result is preserved as much as possible, and the following constraints are satisfied: 1) 6T cells should be aligned to the rows; 2) 6TPPNN cells should be aligned to the half-rows; 3) cells should be overlap-free; 4) cells should be placed inside the chip region; 5) cells should be located at placement sites; 6) 6TPPNN cells should meet the minimum width (MW) constraints;
7
7) cells should aligned with correct VDD/VSSs. Similar to the works [7, 16], we take the quadratic cell displacement as the objective function. Then, the general 6T&6TPPNN cell legalization problem can be formulated as follows:
min
n X (xi β x0i )2 + (yi β yi0 )2
(1)
i=1
s.t. 1) yi = ki Rh , ki β {0, 1, 2, . . .}, for each 6T cell ci ; 2) yi =
ki Rh , ki β {0, 1, 2, . . .}, for each 6TPPNN cell ci ; 2
3) xi β xj β₯ wj , if x0i β₯ x0j ,
(1a) (1b) (1c)
for all adjacent cells i and j on the same row/half-row;
(1c)
4) 0 β€ xi , xi + wi β€ W, for each ci β C,
(1d)
0 β€ yi , yi + hi β€ H, for each ci β C;
(1d)
5) xi = ki0 Sw , ki0 β {0, 1, 2, . . .}, for each ci β C;
(1e)
6) wi1 + wi2 + Β· Β· Β· + wiul β₯ Ο, for cells ci1 , ci2 , . . . , ciul β C U L /C S (1f) with the same VT type and are abutting on the same half-row; (1f) 7) cells should aligned with correct VDD/VSSs.
(1g)
The Constraint (1g) requires both 6T and 6TPPNN cells must be aligned to their correct VDD/VSS rails. Since the VDD/VSS rails of the 6TPPPNN cells are inside, we can treat the 6TPPNN cells as odd-row-height cells when considering the VDD/VSS alignment constraints. Thus, all odd-row-height cells and 6TPPNN cells can be aligned the correct VDD/VSS directly or by vertical cell flipping, while even-row-height cells except the 6TPPNN cells must be placed to dedicated rows to meet the VDD/VSS alignment constraints.
3. The Proposed Algorithm Our proposed algorithm address the general 6T&6TPPNN cell legalization problem, which considers not only VDD/VSS alignment constraints, but also 8
minimum width (MW) constraints and half-row fragmentation effect (FE). Figure 3 summarizes the overall flow of our algorithm, which consists of three major stages: (1) Cell alignment with VDD/VSS constraints; (2) Clustering-based MW/FE constraints handling; and (3) MW&FE-driven legalization. MW constraints
Global placement
VDD/VSS constraints
Cell alignment with VDD/VSS constraints Clustering-based MW/FE constraints handling MW-aware cell clustering and formulation FE-aware cell clustering and formulation
MW&FE-driven legalization MW&FE-driven QP formulation and solving MW&FE-aware cell allocation and refinement Placement result Figure 3: Framework of our algorithm.
In the first stage, we align all cells to the correct rows/half-rows that satisfy the VDD/VSS alignment constraints, while considering both cell displacement and density. The second stage includes two steps: (1) MW-aware cell clustering and formulation; (2) FE-aware cell clustering and formulation. In MW-aware cell clustering and formulation, we first cluster the MW violating cells by a MW-aware cell clustering method, and then determine the desired locations for the clusters by an optimal region based method. After that, we formulate the legalization problem with MW constraints as a quadratic programming problem, which not only satisfies the MW constraints, but also avoids causing excessive dead spaces. In FE-aware cell clustering and formulation, we present a FEaware cell clustering in high density areas to effectively mitigate the half-row FE, and quantitatively define the FE. In the last stage, we further integrate the 9
FE issues into the formulated MW-aware quadratic programming (QP) model, and adopt the modulus-based matrix splitting iteration method (MMSIM) [7] to solve the formulated MW&FE-aware QP problem effectively and efficiently. Finally, a MW&FE-aware cell allocation and refinement is presented to align cells to the placement sites and further improve the solution quality. We shall elaborate these major steps in the following subsections. 3.1. Cell Alignment with VDD/VSS Constraints In this stage, our goal is to align all cells to their correct rows/half-rows that satisfy the VDD/VSS alignment constraints by shifting cells in the vertical direction. We first assign each cell to its nearest correct rows/half-rows. More specifically, for an odd-row-height 6T cell, we assign it to the nearest rows directly or by vertical cell flipping to satisfy the VDD/VSS alignment constraints; for an even-row-height 6T cell, we assign it to the nearest dedicated rows with the matched VDD/VSS; for a 6TPPNN cell, we assign it to the nearest halfrows directly or by vertical cell flipping to satisfy the VDD/VSS alignment constraints. Although the total cell displacement in the vertical direction is minimized after aligning cells to the nearest correct rows, excessive horizontal cell displacement might be occurred when resolving the overlap in locally dense regions, and thus resulting in a degradation of the final solution quality. In order to obtain a better cell assignment, we further perform an operation to reassign cells to their desired rows/half-rows after aligning cells to the nearest correct rows/half-rows. That is, we first define a cost function for each cell ci as follows: costi = dispi + Ξ·1 Β· wli + Ξ·2 Β· deni , where dispi denotes the cell displacement of cell ci , wli is the total wirelength of the nets associated with cell ci , deni denotes the density cost, and Ξ·1 and Ξ·2 are the normalization parameters. To calculate the density cost deni , we define a window centered on cell ci . The window size is determined empirically and is set as hi Γ 3 row height in our implementation. Then, the density cost is set to 10
deni =
Ac Aw ,
where Ac denotes the total cell area in the window and Aw is the
area of the window. After that, we sort cells by their cost in non-incremental order, and reassign cells one by one. When a cell ci is handling, other cells are regarded as fixed, and we try to assign this cell to several rows/half-rows with matched VDD/VSS and calculate the cost. Finally, we reassign cell ci to the rows/half-rows with the least cost. After this stage, the constraints (1a), (1b), and (1g) of Problem (1) are met. 3.2. Minimum Width (MW)-aware cell clustering and formulation In order to resolve the MW violations while preserving the solution quality from global placement as much as possible, we first present a MW-aware cell clustering method in this section to cluster the MW violating cells, and then determine the desired locations for the clusters. Finally, we formulate the legalization problem with MW constraints as a quadratic programming problem, which not only satisfies the MW constraints, but also avoids causing excessive dead spaces. 3.2.1. MW-aware Cell Clustering In this subsection, we present a cell clustering method to cluster each MW violating cell with other violating/non-violating cells that have the same VT type to eliminate all the MW violations, such that the constraint (1f) of Problem (1) can be met. Since there are two different VT types, we handle these two VT types independently and construct a weighted graph for each VT type as follows. For each VT type T (T is either ULVT or SVT), we first construct a graph G(V, E, W ), where each vertex vi β V represents a cell with its VT type T , E is initialized to an empty set. Then, we define a search radius sr and set its size to 8 placement row height empirically in our implementation. For each MW violating cell vi β V , we collect a set of cells CTi that have the same VT type within the search radius sr centered on the positions of cell vi . After that, for each vj β CTi , we add the edge eij = (vi , vj ) into E, and the corresponding
11
weight between vi and vj is defined as follows: wij =
ΞΈij (|xi β xj | + |yi β yj |) Γ max{hi , hj } , min{hi , hj }
(2)
where ΞΈij = 1 if both cells vi and vj are MW violating cells; otherwise, ΞΈij = 2. The |xi β xj | + |yi β yj | is the Manhattan distance between cells vi and vj . Obviously, the smaller weight wij between cells vi and vj , the greater probability that they should be clustered. We tend to cluster two cells that are closer to each other because it would have less disturbance to the initial placement. Besides, since the non-uniform cell heights may produce significant dead spaces, Equation (2) would prefer to cluster the cells with the same height. After the graph is constructed, we iteratively perform the following operation to eliminate the MW violations. At each iteration, we first select an edge with the minimum weight value, and then cluster the two vertices (cells/clusters) connected by the edge into a new cluster. After that, we remove the two vertices (cells/clusters) and the edges associated with them from the graph, and determine the desired position for the new cluster by Section 3.2.2. If the new cluster still does not meet the MW constraints, we will regard the cluster as a new vertex and add it into the graph, and the edges that connect the cluster and the other cells/clusters (whose distance from the cluster are less than the search radius sr) are also added into the graph. The process terminates when E is an empty set (i.e., no MW violating vertices (cells/clusters) or no other vertices (cells/clusters) within the sr range of each violating vertex (cell/cluster)). If there are still MW violating vertices (cells/clusters) after the process terminates, we further insert the same VT fillers to fixed the MW violating cells/clusters. 3.2.2. Determination of Cluster Location After clustering two cells/clusters into a new cluster, we need to determine the location of the new cluster. Inspired by the βoptimal regionβ of the works [20, 21, 10], we can find a minimum wirelength region (i.e., optimal region) for placing the cluster uk . More specifically, for a cluster uk = {c1 , c2 , . . . , cnuk }, where nuk is the number of cells in the cluster uk , assume that the other cells 12
connected to uk are fixed, we can find the cluster-based optimal region (xuk , yuk ) by solving the following optimization problem: nuk mi
(xuk , yuk ) = argmin
XX
nuk mi
|xuk β
x0i,j |
i=1 j=1
+
XX
0 |yuk β yi,j |,
(3)
i=1 j=1
0 where mi is the number of cells that connects cell ci , and (x0i,j , yi,j ) is the cur-
rent position of the cell ci,j . Because the absolute function in Problem (3) is not differentiable everywhere, it is very hard and time-consuming to solve Problem (3) directly. Thus, we extend the median formulation in [20, 21] to obtain a minimum wirelength region for cluster uk , which provides an approximation solution for Problem (3). That is, we do the following operations. First, for each net ei,j associated with the cells in a cluster uk , we calculate a bounding box containing all cells in ei,j except the cells in the cluster uk . Then, we sort the x and y coordinates of all the bounding boxes, respectively. Finally, we calculate the medians of these x and y coordinates and obtain the optimal region. Note that we always ensures that the cells in the cluster meet the VDD/VSS alignment constraints when placing the cluster. For example, Figure 4 shows the optimal region for the cluster u1 = {c1 , c2 }. The closed dashed lines represents the three nets that connecting to the cluster u1 (i.e., cells c1 and c2 ): net e1,1 includes cells c1 , c3 and c4 ; net e1,2 includes cells c1 , c5 and c6 ; and net e2,1 includes cells c2 , c7 , c8 and c9 . The blue, purple, and green areas represent the corresponding bounding boxes of nets e1,1 , e1,2 , and e2,1 , respectively. The orange area represents the optimal region for the cluster u1 . 3.2.3. MW-aware Quadratic Programming (QP) Formulation After the MW-aware cell clustering, we need to remove overlaps among the cells/clusters while preserving the given global placement as much as possible. If we regard the minimal bounding box of each cluster as a new merged cell, then it is likely to induce excessive dead spaces in the bounding box, and thus degrading the final placement quality. Take Figure 5 for an example, where the width of 6TPPNN cell c3 is less than the given MW value Ο, and we clustered the cells c2 , 13
π4
π1,1 π’1 π π1 2
π3
Optimal region π5
π₯1,1 π₯1,2 π₯1,3
π¦1,1
π2,1
π6 π1,2
π8
π¦1,2
π9
π¦1,3 π¦1,4 π¦1,5
π7
medians
π¦1,6
π₯1,4
π₯1,5
π₯1,6
medians Figure 4: An example of cluster-based optimal region. Three nets e1,1 , e1,2 , and e2,1 are denoted by closed dashed lines. The blue, purple, and green areas represent the corresponding bounding boxes of nets e1,1 , e1,2 , and e2,1 , respectively. The orange area represent the optimal region.
c3 , c4 and c5 into a cluster through the clustering-based MW constraints solving stage. If we treat the minimal bounding box of cluster u2 = {c2 , c3 , c4 , c5 } as a new merged cell as shown in Figure 5(a), then the cells c1 and c6 will be placed outside the bounding box, and there are excessive dead spaces inside the bounding box. As a result, it might incur severe displacement, wirelength and area overheads in the final placement result. In contrast, if we only require the cells {c2 , c3 , c4 , c5 } in the cluster to be abutting in topological ordering, then the cells c1 and c6 can be placed inside the bounding box as shown in Figure 5(b). Thus, we can not only obtain a more compact result, but also avoid serious cell displacement and area overhead. Since the cells/clusters have been aligned to the correct VDD/VSS rails in the previous stage (i.e., the constraints (1a), (1b), and (1g) of Problem (1) have been met), we only move the cells/clusters horizontally in this stage. In order to eliminate the MW constraints violations while preventing the solution quality, similar to the work [7], by relaxing the right boundary constraints and placement sites alignment constraints (i.e., the constraints (1d) and (1e) of Problem (1)), we can reformulate the legalization Problem (1) with MW constraints as the
14
π1
π’2
π1
π5 π3
π2
π4
π2
π6
π5 π3
SVT ULVT
π4 π6
6T 6TPPNN MW
(a)
(b)
Figure 5: (a) The minimal bounding box of cluster u2 = {c2 , c3 , c4 , c5 } are regarded as a new merged cell, and then the cells c1 and c6 only can be placed outside the bounding box. (b) We only require the cells {c2 , c3 , c4 , c5 } in the cluster to be abutting in topological ordering, then the cells c1 and c6 can be placed inside the bounding box.
following quadratic programming problem: min s.t.
1 2
n P i=1
(xi β x0i )2
xl β xj β₯ wj ,
if x0l β₯ x0j and cl and cj are in different clusters,
for all adjacent cells cj and cl in the same row/half-row; xl β xj = wj ,
(4)
if x0l β₯ x0j and cl and cj are in the same cluster,
for all adjacent cells cj and cl in the same row/half-row; x β₯ 0, where x0i is the initial x-position of cell ci , x0i is the current x-position of cell ci . The objective describes the sum of the squared cell displacement, and the constraints assure that not only there is no overlap between the cells, but also the adjacent cells in the same cluster are abutting. Hence, the MW constraints of 6TPPNN cells are also satisfied in this stage. 3.3. Fragmentation Effect (FE)-aware Cell Clustering and Formulation Since the 6TPPNN cells should be aligned to the half-rows, there may be many half-row fragmentation (i.e., dead spaces) in the design, resulting in area overhead and degraded chip performance. As pointed out in [14], dead spaces issue is important in legalization stage because it can make the chip area larger and the placement quality lower. Take Figure 6 as an example, where the Figure 6(a) shows the layout after the cell alignment and MW-aware cell clustering.
15
If we do not consider the half-row fragmentation effect, we may obtain the legalization result shown in Figure 6(b), which causes the severe cell displacement and area overheads. In contrast, if we move cell c3 vertically so that it is adjacent to cell c2 in the vertical direction to mitigate the half-row fragmentation effect, we can obtain a better legalization result as shown in Figure 6(c). π9
π9
π10
π8
π8
π7
π3
π9
π10 π3
π8
π3
π10 SVT
π7
ULVT
π7
6T
π1
π2
π5
π6
π4
π1
(a)
π5
π2
π4 (b)
π6
π1
Half-row fragmentation
π5
π2
π6
6TPPNN
π4 (c)
Figure 6: (a) The layout after the cell alignment and MW-aware cell clustering. (b) The legalization result that the half-row fragmentation are not taken into account. (c) The legalization result that the half-row fragmentation are taken into account.
In order to mitigate the half-row fragmentation effect and obtain high-quality legalization results, we first present a FE-aware cell clustering in the high density areas, and then quantitatively define and formulate the fragmentation effect. Our FE-aware cell clustering is performed window-by-window, and the window size is determined empirically to better balance the runtime and solution quality. In order to avoid excessive cell displacement and too time-consuming, we set each window size as 8 Γ 8 placement row height, and the high density area is defined as follows: Definition 1 (High Density Area). A high density area is a window that satisfies
AC AW
β₯ Ο , where the window size is set to 8 Γ 8 placement row height,
AC is the total area of cells (clusters) in the window, AW is the area of this window, and Ο is a user-defined constant. We construct a weighted graph for each high density area, where each 6TPPNN cell/cluster in the high density area is considered as a vertex, and
16
there is an weighted edge between any two vertices. In order to determine the weight of each edge, we first temporarily cluster the two cells/clusters connected by the edge into a new cluster so that the two cells/clusters are vertically abutting, and the position of new cluster is determined based on Section 3.2.2. Then, the weight of the edge connecting the two cells/clusters is set as the difference between the total displacement of the two cells/clusters before and after the clustering. After the weighted graph is constructed, we iteratively select the two cells/clusters connected by the edge with the smallest weight to cluster them into a new cluster. Once an iteration is completed, we remove the two vertices (cells/clusters) and the edges associated with them from the weighted graph. Note that the cells/clusters are not really moved to the corresponding new positions during the computation of the weight, and only when the edge with the smallest weight is selected, the cells/clusters are actually moved to these positions.
π’1 π1
π2
Half-row fragmentation
π8
π6
π3
π’1 π9 π7
π’1 π1
(a)
π8
π3
SVT
π6
π’2
π’2β²
π’2 π4 π5
π2
π9
π6
ULVT 6T 6TPPNN
π4 π5
π7
(c)
(b)
Figure 7: (a) The layout before FE-aware cell clustering. (b) The weighted graph of (a). (c) The placement result after FE-aware cell clustering.
For example, Figure 7(a) shows the layout before FE-aware cell clustering, where c1 , c4 , c5 and c6 are the 6TPPNN cells, and cells c1 , c2 , c3 and cells c4 , c5 are respectively grouped into two clusters u1 and u2 in Section 3.2 to solve the MW constraints. Figure 7(b) gives the corresponding weighted graph of Figure 7(a). Assuming that the weight of the edge connecting cell c6 and cluster u2 is the smallest, then cell c6 and cluster u2 are clustered into the new 17
cluster u02 shown in Figure 7(c) to mitigate the half-row fragmentation effect. In the subsequent steps, we would not force the cells/clusters in the new cluster u02 to move as a whole. This is because treating them as a whole may reduce the flexibility and freedom of some cells, thus affecting the solution quality. See Figure 6(c) for an example, where the cells c2 and c3 are vertically adjacent and partially overlap in the horizontal direction. If we force cells c2 and c3 to completely overlap in the horizontal direction, although the half-row fragmentation effect can be minimized, it will inevitably lead to excessive area overhead and cell displacement. Therefore, in the next subsection, we will adopt a analytical method to better trade-off among the half-row fragmentation effect and other legalization objectives. Before that, we first quantitatively define the half-row fragmentation effect. We adopt the total width of half-row fragmentation to quantitatively define H the fragmentation effect. Let Oij be the horizontal overlap between 6TPPNN H cells ci and cj , i.e., Oij = max{0, min{xi + wi , xj + wj } β max{xi , xj }}. And
the binary variable zij indicates whether cells ci and cj are vertically adjacent, that is, ο£± ο£² z = 1, ij ο£³ z = 0, ij
if yi + hi = yj β¨ yj + hj = yi , otherwise.
Then, the half-row fragmentation effect can be quantitatively calculated as follows: X
F E = SW6T P N β
H zij Oij ,
ci ,cj βC 6T P N
where SW6T P N is the sum of the width of all 6TPPNN cells. Since the SW6T P N is a fixed value, and we want FE to be as small as possible, we have the following objective X
max ci ,cj
H zij Oij .
(5)
βC 6T P N
H Because the zij Oij is not differentiable, it is hard to optimize Problem (5)
directly. Furthermore, since we have aligned all cells to the correct VDD/VSS (and thus rows/half-rows) and performed the FE-aware cell clustering, we relax
18
the Problem (5) as follows: min
X
Ξ»ij (xi +
ci ,cj βC 6T P N
wi wj 2 β xj β ) , 2 2
(6)
where λij is a constant and its value is defined as follows:    λ = 1, if (yi0 + hi = yj0 ⨠yj0 + hj = yi0 )   ij and (x0i †x0j †x0i + wi ⨠x0j †x0i †x0j + wj ),     λ = 0, otherwise, ij
where
(x0i , yi0 )
is the current position of cell ci , and (wi , hi ) is the width and
height of cell ci . 3.4. MW&FE-driven Quadratic Programming (QP) Formulation and Solving In this subsection, we integrate the FE issues into the formulated MW-aware QP model, and adopt the modulus-based matrix splitting iteration method (MMSIM) [7] to solve the MW&FE-aware QP problem. Combining Problem (4) in Section 3.2.3 with Problem (6) in Section 3.3, we can further formulate the minimum width and fragmentation effect (MW&FE)aware legalization problem as follows: n
min
1 1X (xi β x0i )2 + Ξ± 2 i=1 2
s.t. xl β xj β₯ wj ,
X
Ξ»ij (xi +
ci ,cj βC 6T P N
wi wj 2 β xj β ) 2 2
if x0l β₯ x0j and cl and cj are in different clusters,
for all adjacent cells cj and cl in the same row/half-row; xl β xj = wj ,
if x0l β₯ x0j and cl and cj are in the same cluster,
(7) (7a) (7a) (7b)
for all adjacent cells cj and cl in the same row/half-row;
(7b)
x β₯ 0,
(7c)
where Ξ± is a normalized factor to balance cell displacement and half-row fragmentation effect. Obviously, we can rewrite Problem (7) as follows: min
1 T 2 x Qx
s.t.
Bx β₯ b,
+ pT x
Dx = d, x β₯ 0. 19
(8)
where Q is a symmetric positive definite matrix, and if ci is a 6TPPNN cell, P then its diagonal element qi,i = 1 + Ξ± cj βC 6T P N Ξ»ij ; otherwise, its diagonal elements qi,i = 1. p is a vector and if ci is a 6TPPNN cell, its element pi = P βx0i + 21 Ξ± cj βC 6T P N Ξ»ij (wi β wj ); otherwise, pi = βx0i . B is the constraint matrix for Equation (7a), and b is the corresponding vector. Similarly, D is the constraint matrix for Equation (7b), and d is the corresponding vector. Based on the modulus-based matrix splitting iteration method (MMSIM) presented in the work [22] for the linear complementarity problems (LCP), Chen et al. [7] proposed a MMSIM-based mixed-cell-height legalization algorithm. They first formulated the mixed-cell-height legalization problem as a QP problem, and then developed a MMSIM solver to solve the QP problem effectively and efficiently. The MMSIM solver [7] requires that the objective matrix of a QP is symmetric positive definite and the constraint matrix is full row rank to ensure the convergence and optimality. In this paper, the MMSIM solver [7] is also adopted to solve the QP problem effectively and efficiently. To guarantee the convergence of MMSIM solver, we further introduce multiple variables to represent each cell for the QP Problem (8). Specifically, we introduce the variables xi1 , xi2 , ..., xid for the cell ci , where d is equal to twice times the cell height hi divided by the row height Rh , i.e., d =
2hi Rh .
Then, the
Problem (8) can be rewritten as:
min
1 T x Qx + pT x 2
(9)
s.t. Bx β₯ b,
(9a)
Dx = d,
(9b)
Ex = 0,
(9c)
x β₯ 0,
(9d)
where Q, p, B, b, D, d are correspondingly transformed from Q, p, B, b, D, d. The new constraint Ex = 0 ensures that the variables for each cell are equal. Further, we relax constraints 9(b) and 9(c) by introducing two penalty factors 20
Ξ²1 and Ξ²2 to put the constraints into the objective. The new QP is formulated as follows: min
1 T 2 x (Q
s.t.
Bx β₯ b,
T
T
T
+ Ξ²1 D D + Ξ²2 E E)x + (pT β Ξ²1 d D)x (10)
x β₯ 0. If the two penalty factors Ξ²1 and Ξ²2 are large enough, then Problem (9) and Problem (10) are equivalent in theory. Finally, we adopt the MMSIM solver presented in the work [7] to solve Problem (10), which only needs linear time for each iteration. In addition, according to Theorem 2 of [7], we also have the following theorem: Theorem 1. The solution generated by the MMSIM solver [7] gives the optimal solution of Problem (10). Proof 1. To guarantee the convergence and optimality of the MMSIM solver, T
T
according to the work [7], the Q + Ξ²1 D D + Ξ²2 E E should be a symmetric positive definite matrix and B should be a full row rank matrix. Since Q is T
T
a symmetric positive definite matrix, D D and E E are two positive semidefinite matrices, Ξ²1 and Ξ²2 are two positive constants, it is obvious that Q + T
T
Ξ²1 D D + Ξ²2 E E is a symmetric positive definite matrix. Suppose B is an m Γ n matrix, where m is the number of constraints and n is the number of variables, it is obvious that m < n. In addition, since each row of matrix B has only two nonzero elements 1 and -1, and each column of matrix B has at most two nonzero elements, we can choose the columns with element 1 in each row to form an m-order matrix, and the matrix can be further transformed to an identity matrix by elementary row transformation. As a result, the matrix B in Problem (10) is of full row rank. Therefore, according to Theorem 2 of [7], the solution generated by the MMSIM solver [7] gives the optimal solution of Problem (10).
21
3.5. MW&FE-aware Cell Allocation and Refinement Since we temporarily relaxed the placement sites and the right boundary constraints during the MW&FE-driven QP formulation and solving stage, some cells may not be placed on the placement sites or inside the right boundary. Hence, in this subsection, our goal is to align cells to the placement sites and place the cells that are out of the right boundary into the chip region. First, we sort all cells by their center x-positions in non-decreasing order, and then move cells one by one to their nearest available placement sites in the sorted order. Note that in this process, we always maintain the relative topological order of the cells in each cluster, and the cells in each cluster are abutting. Thus, the MW constraints are always satisfied and the half-row FE are not aggravated. After the cell allocation, all cells are placed in the chip legally. In order to further improve the solution quality, similar to the works [6] and [19], we construct a bipartite graph between a set of cells with the same cell type in each local bin and the current positions of the cells, and the Kuhn-Munkres algorithm [23] is performed to find a perfect matching for the cells and positions. Note that the cells with the same cell type mean that they have the same height, width and VDD/VSS type, thus swapping these cells does not cause any cell overlapping or MW violation.
4. Experimental Results We implemented our proposed algorithm for the general 6T&6TPPNN cell legalization problem in the C++ programming language, and tested it on the benchmarks provided by the authors of [10]. These benchmarks were obtained by modifying Benchmark Suit A of the 2014 ISPD Detailed-Routing-Driven Placement Contest [24]. There are 20% of ULVT cells, and 15% of cells are selected to double or triple their heights randomly, while making their widths half or one-third to maintain the total cell areas and ensure that each chip can accommodate all the cells [10]. Based on the given benchmarks, we randomly select 30% double-row-height cells as 6TPPNN cells. Table 1 lists the benchmark
22
statistics, where β#Cellsβ, β#Netsβ, β#Pinsβ, β#I/Osβ and βUtilβ denote the number of movable standard cells, the number of nets, the number of pins, the number of fixed I/O pins, and the design utilization rates, respectively. All the experiments in this paper were run on the same platform with Intel Core 3.40GHz CPU and 16GB memory for fair comparison. Table 1: Benchmark Statistics
Benchmark
#Cells
#Nets
#Pins
#I/Os
Util
mgc des perf 1
112644
112878
319119
374
0.90
mgc des perf 2
112644
112878
319119
374
0.85
mgc edit dist 1
130661
133223
382631
2574
0.40
mgc edit dist 2
130661
133223
382631
2574
0.43
mgc pci bridge32 1
30675
30835
87942
361
0.84
mgc pci bridge32 2
30675
30835
87942
361
0.85
mgc fft
32281
33307
104385
3010
0.83
mgc matrix mult
155325
158527
457756
4802
0.80
4.1. Comparison with the Commercial Tool To evaluate the effectiveness of our proposed algorithm (named βOursβ), we compared with a commercial tool (named βCommercial toolβ) provided by the Empyrean Software Inc. The commercial tool fixes each MW violating cell by inserting fillers of the same VT type at the final stage directly, and does not consider the half-row fragmentation effect. Table 2 lists the experimental results. In the table, βHPWL (nm)β, βArea (um2 )β, βDisp.(sites)β and βCPU (s)β gives the total wirelength in nanometer, the total areas of circuits, the total cell displacement in the number of the placement site width, and the total runtime in second, respectively. Because the height of fragmentation of 6TPPNN cells are half-row, we use the total width of 6TPPNN cells to quantitatively calculate the half-row fragmentation effect. βInit Fragβ is the sum of the width of all 6TPPNN cells (i.e., SW6T P N defined in Section 3.3), and βFixed Fragβ is the sum of overlap width in the horizontal direction for adjacent 6TPPNN cells in 23
24
987800
1.000
N.Average
390000
460900783 2624515107
mgc fft
270781205
mgc pci bridge32 2
mgc matrix mult
492800
257692710
mgc pci bridge32 1
1.000
1565600
492800
6626400
3827588190
mgc edit dist 2
6626400
3921430290
1306015910
mgc edit dist 1
mgc des perf 2
987800
(nm)
(nm) 1292055150
Init Frag
HPWL
mgc des perf 1
Benchmark
Initial result
1.000
302500
70225
59536
60614
484416
521284
210681
Disp.
341232
537444
(sites)
1.086
2789119078
498982637
312460414
297853739
1.011
727894
147167
157799
160453
4163221740 1633577
4241340347 1483354
1427133606
1436993740
(nm)
198025
HPWL
Area (um2 )
0.004
7600
4800
3200
2000
14000
28000
6200
2600
(nm)
Fixed Frag
Commercial tool
(s)
CPU
2.38
2.91
2.27
1.114
1.702
305250 14.00
79765
65636
73614
513648 12.02
600704 12.74
251073 10.46
234515 31.98
(um2 )
Area
Disp.
340268
523581
(sites)
1.036
2675571052
491417017
294915829
284370410
1.000
714350
146984
157059
159757
3957487035 1622375
4034308275 1470033
1358770175
1364056504
(nm)
HPWL
Table 2: Comparisons of the Legalization Results between Commercial Tool and Ours
0.018
26000
35200
32200
31800
71800
64600
34000
31600
(nm)
Fixed Frag
Ours Area
(s)
CPU
1.000
302500
70225
59536
60614
484416
521284
210681
1.000
8.26
1.49
1.25
1.76
9.74
9.05
4.17
198025 16.40
(um2 )
P
vertical direction (i.e., ci ,cj
H zij Oij defined in Section 3.3). The columns
βC 6T P N
of βInitial resultβ gives the initial total wirelength, total fragmentation effect, and total area for each benchmark. As can be seen from the Table 2, our proposed algorithm only incurs 3.6% wirelength increase to legalize the designs, while the βCommercial Toolβ incurs 8.6% wirelength increase. In particular, our algorithm can resolves all the MW violations without any area overhead for all the tested benchmarks, while the βCommercial Toolβ incurs 11.4% area overheads. Since the βCommercial Toolβ fixes the MW violating cells by inserting fillers directly at the end of legalization stage, it incurs serious area overheads. Instead, through our clustering-based MW constraints solving method, we can effectively resolve the MW violations without any area overhead. Furthermore, since the βCommercial Toolβ does not consider half-row fragmentation effect, it only reduces fragmentation effect by 0.4%, while our algorithm can reduce fragmentation effect by 1.8%. It should be noted that most of the half-row fragmentation effect cannot be eliminated. In addition, compared with the βCommercial Toolβ, our algorithm achieves 1.1% smaller total cell displacement and 1.702Γ faster running time. Overall, the experimental results show that our algorithm is effective and efficient for general 6T&6TPPNN circuit designs with the complex MW constraints and the fragmentation effect. 4.2. Effectiveness of Individual Techniques In this subsection, we verified the effectiveness of the proposed individual techniques. Table 3 shows the experimental results. In the table, the columns βw/o M.β list the results generated by our algorithm with the minimum width (MW)-aware cell clustering being turned off, and each MW violating cell is fixed by inserting fillers of the same VT type at the final stage directly. The columns βw/o F.β give the results generated by our algorithm without considering the half-row fragmentation effect (FE). As can be seen from the Table 3, on average, our algorithm with MWaware cell clustering can achieve 4.0% smaller HPWL, 0.7% smaller total cell 25
26 498077241
mgc fft
N.Average
500463396
300894273
289871292
491417017
294915829
284370410
1.040
1.019
1.000
2760683309 2724415354 2675571052
310984625
mgc matrix mult
296252297
4141065844 4031462561 3957487035
mgc edit dist 2
mgc pci bridge32 2
4211672264 4101648472 4034308275
mgc edit dist 1
mgc pci bridge32 1
1411921786 1384483416 1358770175
Ours
1406412842 1398641358 1364056504
w/o F.
mgc des perf 2
w/o M.
mgc des perf 1
Benchmark
HPWL
340691
527013
w/o F.
340268
523581
Ours
1.007
723956
147154
157217
160016
1.006
719230
147908
158114
160868
1.000
714350
146984
157059
159757
1628594 1633527 1622375
1481482 1479386 1470033
341068
529467
w/o M.
Disp.
Fixed Frag
0.981
26800
35000
30800
31200
69000
62600
35200
30400
0.182
6200
5400
2400
2000
10800
25600
4800
2200
w/o M. w/o F.
Table 3: Results of Individual Techniques
1.000
26000
35200
32200
31800
71800
64600
34000
31600
Ours
Ours
71285
61000
62042
70225
59536
60614
1.074
1.015
1.000
302500 302500 302500
77115
64660
68197
511560 489984 484416
566770 529226 521284
240057 218484 210681
217160 201140 198025
w/o M. w/o F.
Area
displacement, and 7.4% reduction in area overhead. This is because when the MW-aware cell clustering being turned off, excessive fillers need to be inserted to meet the MW constraints, resulting in significant area overhead and poor results. Besides, the proposed algorithm without considering the half-row FE increases the 1.9% HPWL, 0.6% total cell displacement, and 1.5% area overhead. This is because a legalizer without considering the half-row FE would cause severe dead spaces, resulting in area overhead and degraded chip performance. Overall, the experimental results show the effectiveness of our MW-aware cell clustering and FE-aware cell clustering.
(a)
(b)
Figure 8: The layouts for the circuit mgc pci bridge32 1. (a) The final layout generated by our proposed algorithm. ULVT cells are in red, and SVT cells are in green. (b) A partial layout of (a).
Figure 8 gives the placement layout for the circuit mac pci bridge32 1 generated by our proposed algorithm, where Figures 8(a) and 8(b) show the respective full final layout and a partial layout.
5. Conclusions This paper has addressed the mixed 6T&6TPPNN cell legalization considering both complex minimum width (MW) constraints and fragmentation effect (FE) issues. We have proposed a clustering-based MW constraints solving
27
method to eliminate all the MW violations. Besides, we have formulated the legalization problem with MW constraints as a quadratic programming (QP) problem, and presented a FE-aware cell clustering in the high density areas to effectively mitigate the half-row fragmentation effect. Finally, we have integrated the FE issues into the formulated MW-aware QP model, and adopted the modulus-based matrix splitting iteration method (MMSIM) to solve the MW&FE-aware QP problem effectively and efficiently. Experimental results have shown that our algorithm can effectively resolve all MW constraints and mitigate the half-row fragmentation effect without any extra area overhead in a reasonable time. Since there are many other constraints in modern circuit designs, extending the legalization method to handle the routability and timing issues in the mixed-cell-height placement problem is a topic needing further investigation [1] S.-H. Baek, H.-Y. Kim, Y.-K. Lee, D.-Y. Jin, S.-C. Park, J.-D. Cho, Ultrahigh density standard cell library using multi-height cell structure, in: Proceedings of SPIE 7268, 2008, pp. 72680Cβ72680C. [2] T. R. Gheewala, M. J. Colwell, H. H. Yang, D. G. Breid, Dual-height cell with variable width power rail architecture, in: U.S. Patent No. 7129562, 2006. [3] N. K. Darav, I. S. Bustany, A. Kennings, R. Mamidi, ICCAD-2017 CAD contest in multi-deck standard cell legalization and benchmarks, in: Proceedings of IEEE/ACM International Conference on Computer-Aided Design, 2017. [4] M. P.-H. Lin, C.-C. Hsu, Y.-T. Chang, Recent research in clock power saving with multi-bit flip-flops, in: IEEE International Midwest Symposium on Circuits and Systems (MWSCAS), 2011. [5] D. D. Sherlekar, Cell architecture for increasing transistor size, in: U.S. Patent No. 8631374, 2014.
28
[6] H. Li, W.-K. Chow, G. Chen, E. F. Y. Young, B. Yu, Routability-driven and fence-aware legalization for mixed-cell-height circuits, in: Proceedings of ACM/IEEE Design Automation Conference, 2018. [7] J. Chen, Z. Zhu, W. Zhu, Y.-W. Chang, Toward optimal legalization for mixed-cell-height circuit designs, in: Proceedings of ACM/IEEE Design Automation Conference, 2017. [8] K.-H. Tseng, Y.-W. Chang, C. C. Liu, Minimum-implant-area-aware detailed placement with spacing constraints, in: Proceedings of ACM/IEEE Design Automation Conference, 2016, pp. 84:1β84:6. [9] A. B. Kahng, Lithography-induced limits to scaling of design quality, in: Proceedings of SPIE, Vol. 9053, 2014, pp. 905302β1β905302β14. [10] Y.-Y. Wu, Y.-W. Chang, Mixed-cell-height detailed placement considering complex minimum-implant-area constraints, in:
Proceedings of
IEEE/ACM International Conference on Computer-Aided Design, 2017. [11] J. Chen, P. Yang, X. Li, W. Zhu, Y.-W. Chang, Mixed-cell-height placement with complex minimum-implant-area constraints, in: Proceedings of IEEE/ACM International Conference on Computer-Aided Design, 2018. [12] G. Wu, C. Chu, Detailed placement algorithm for VLSI design with doublerow height standard cells, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35 (9) (2016) 1569β1573. [13] W.-K. Chow, C.-W. Pui, E. F. Y. Young, Legalization algorithm for multiple-row height standard cell design, in: Proceedings of ACM/IEEE Design Automation Conference, 2016. [14] C.-H. Wang, Y.-Y. Wu, J. Chen, Y.-W. Chang, S.-Y. Kuo, W. Zhu, G. Fan, An effective legalization algorithm for mixed-cell-height standard cells, in: Proceedings of IEEE/ACM Asia and South Pacific Design Automation Conference, 2017, pp. 450β455.
29
[15] C.-Y. Hung, P.-Y. Chou, W.-K. Ma, Mixed-cell-height standard cell placement legalization, in: Proceedings of the on Great Lakes Symposium on VLSI 2017. ACM, 2017, pp. 149β154. [16] P. Spindler, U. Schlichtmann, F. Johannes, Abacus: fast legalization of standard cell circuits with minimal movement (2008) 47β53. [17] Y. Lin, B. Yu, X. Xu, J.-R. Gao, N. Viswanathan, W.-H. Liu, Z. Li, C. J. Alpert, D. Z. Pan, MrDP: multiple-row detailed placement of heterogeneous-sized cells for advanced nodes, in: Proceedings of IEEE/ACM International Conference on Computer-Aided Design, 2016, pp. 7:1β7:8. [18] Y.-W. Tseng, Y.-W. Chang, Mixed-cell-height placement considering drainto-drain abutment, in: Proceedings of IEEE/ACM International Conference on Computer-Aided Design, 2018. [19] Z. Zhu, X. Li, Y. Chen, J. Chen, W. Zhu, Y.-W. Chang, Mixed-cell-height legalization considering technology and region constraints, in: Proceedings of IEEE/ACM International Conference on Computer-Aided Design, 2018. [20] S. Goto, An efficient algorithm for the two-dimensional placement problem in electrical circuit layout, IEEE Transactions on Circuits and Systems 28 (1) (1981) 12β18. [21] M. Pan, N. Viswanathan, C. Chu, An efficient and effective detailed placement algorithm, in: IEEE/ACM International Conference on ComputerAided Design, 2005, pp. 48β55. [22] Z.-Z. Bai, Modulus-based matrix splitting iteration methods for linear complementarity problems, Numerical Linear Algebra with Applications 17 (6) (2010) 917β933. [23] J. Munkres, Algorithms for the assignment and transportation problems, Journal of the Society for Industrial and Applied Mathematics 5 (1) (1957) 32β38. 30
[24] ISPD 2014 Detailed Routing-Driven Placement Contest. http://www.ispd. cc/contests/14/ispd2014 contest. html.
31
1. In this paper, we present the first work to address the general 6T&6TPPNN cell legalization problem. 2. We formulate the legalization problem with the complex minimum width (MW) constraints as a quadratic programming problem, which not only satisfies the MW constraints, but also avoid causing excessive dead spaces. 3. We integrate the fragmentation effect (FE) issues into the formulated MW-aware legalization model, and adopt the modulus-based matrix splitting iteration method (MMSIM) to solve the MW&FE-aware legalization problem effectively and efficiently. 4. Experimental results show that our algorithm can resolve all MW constraints and mitigate the half-row fragmentation effect without any extra area overhead in a reasonable time.