1. Trang chủ
  2. » Khoa Học Tự Nhiên

Handbook of algorithms for physical design automation part 38 ppt

10 121 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 187,95 KB

Nội dung

Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 352 23-9-2008 #7 352 Handbook of Algorithms for Physical Design Automation Given that forces tend to zero at infinity, a closed form solution for f (x, y) exists and is given by f (x, y) = κ ∞  −∞ ∞  −∞ d(x  , y  ) r(x, y) −r(x  , y  ) |r(x, y) −r(x  , y  )| 2 dx  dy  (18.8) where r(x, y) is the vector representation of position (x, y). Clearly, there is an analogy to electrostas- tics where cell area is interpreted as electric charge, φ(x, y) is electricpotential,and f (x, y) represents an electric force field. In practice, the force computation is accomplished using a set of discrete bins superimposed over the placement region. The Poisson equation is solved using discretization and finite differences to determine the values of φ(x, y) at the centers of bins in the grid. Finally, forces are computed approximately using the difference of φ(x, y ) between adjacent bins. An alternative approach for force computation was proposed in Ref. [16], where the force com- putation was based on an analogy with the n-body problem. In this method, the continuous integral in Equation18.8 is replaced with a bin structure b as ed on a Barnes–Hut quad-tree [17] and the forces are computed using a particle–mesh–particle approach. The magnitudes (or strength) of the constant forces at each iteration must b e determined in rela- tionship to the spring forces representing the quadratic wirelength. The spreading of cells should not be too fast, otherwise the quality of the placement will be compromised. Conversely, the forces should not be weighted too small, otherwise their impact will be negligible and many placement iterations will be required for convergence.Hence, proper force weighting is a significant implemen- tation decision. In Kraftwerk, it is advocated that the maximum strength of all constant forces should be equivalent (normalized) to the force of a net with wirelength K(W +H) where W and H are the width and height of the placement region, respectively. The constant K is a user parameter that can be used to trade-off speed of convergence and the quality of results. However, in Ref. [16], a dynamic weighting is advocated to obtain better placements. Empirically, it was observed that weighting should be (1) small in the early iterations of placement; (2) gradually increased as place- ment proceeds, but reduced if too much reduction in overlap occurs in any given placement iteration; and (3) large near the end of placement when the final cell po sitions are effectively determined. In Ref. [16], it was discovered that, at least in the context of mixed-size placement, a further weighting of forces on cells was useful and required due to a large distribution of force weights that depended on the area o f the cell. This particular observation is interesting, and also a consequence of how forces were computed Ref. [16]. 18.3 ALTERNATIVE TECHNIQUES FOR SPREADING CELLS Kraftwerk and FDP are examples o f force-directed placers that use add itio nal constant forces at each placement iteration to reduce cell overlap. The forces are constant because their calculated magnitudes and directions remain unch anged during a placement iteration, while cell positions are updated through the solution of Equation18.5. Notwithstanding, constant forces are not the only means by which cells can be spread evenly throughout the placement area. In this section, we consider several proposed alternatives to the use of constant forces. 18.3.1 FIXED POINTS AND BIN SHIFTING Fixed points are an alternative approach to remove cell overlap and can be used both to stabilize and to perturb a placement. To understand fixed points and their similarities and differences with constant forces, we begin by defining a pseudocell and a pseudonet in terms of a circuit netlist. Definition 1 A pseudocell f is a dimensionless cell fixed at a position (x f , y f ) that does not exist in the circuit netlist. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 353 23-9-2008 #8 Force-Directed and Other Continuous Placement Methods 353 Definition 2 A pseudonet c(f,i) is a weighted two-pin connection between a pseudocell f and a cell i in the circuit netlist. The pseudonet has a weight equal to w f ,i and does not exist in the circuit netlist. A fixed point f is defined as a pseudocell connected to exactly one cell H(f ) in the netlist through the use of a pseudonet c(f , H(f )). The connection is weighted by w f ,H(f ) . Fixed points are used by the placers ARP [18], mFAR [19] and FastPlace [8,9]. 18.3.1.1 Fixed Points in mFAR The relationship between fixed points and constant forces was best explained in mFAR [19], where two fixed points are introduced for each cell in the netlist at each placement iteration. The first fixed point for each cell is used to stabilize the position of each cell in force equilibrium, while the second fixed point is used to perturb the cell toward a specific direction aimed at reducing cell overlap. Any placement with fixed and movable cells (including I/Os) can be transformed into a force- equilibrium state by adding one fixed point to each movable cell. Figure 18.3 illustrates the use of a fixed point versus a constant fo rce to stabilize one cell in a placement. The cell positioned at (0, 0) is connected to two other cells in the netlist. These two connections exert quadratic spring forces on the cell positioned at (0, 0) resulting in a net force of −−−−→ (−3, 0). To stabilize the placement, a constant force of −−→ (3, 0) is added in Figure18.3a to the cell to achieve a resultant net force of zero. Figure 18.3b and c shows two a lternatives for achieving force equilibrium using a single fixed point with a weighted connection. Through a combination of the selection for the position of each fixed point f and the weight of the pseudonet connecting the fixed point to its associated cell H(f ), the fixed point in Figure 18.3 can be placed anywhere along the x-axis. Any placement can be transformed into force equilibrium in an infinite number of ways using one fixed point for each cell [18]. One additional fixed point per cell can be used to perturb a placement. Figure 18.4 illustrates the use of a fixed point to perturb a placement; in Figure 18.4a, th e cell at position (0, 0) is in force equilibrium because of the addition of one fixed point positioned a t (3, 0). A perturbing fixed point is added at position (2, 2) as shown in Figure 18.4b and serves to pull the cell in the direction of (2, 2). Finally, Figure 18.4c shows the resulting position of the cell because of the perturbing fixed point. This particular perturbation assumes that the other cells are fixed. With the addition of fixed points, the objective function for quadratic placement becomes (x) =  i,j w i,j (x i − x j ) 2 +  f w f ,H(f ) [x H(f ) − x f ] 2 (18.9) where each fixed point f intr oduces an add itional quadratic term, namely w f,H(f ) [x H(f ) −x f ] 2 . (A similar term is introduced in the y-direction). Each fixed point f is indistinguishable from fixed cells and I/Os in the original netlist and there remains a trade-off in quadratic wirelength versus the spreading of cells throughoutthe placement area—the selection of the positions of fixed points and the weight of the pseudonets requires careful consideration. It is clear that fixed points serve the same purpose as constant forces. However, fixed points stabilize and pertur b the placement u sing spring forces. I n Ref. [19], it is claimed that fixed po ints are a generalization of constant forces, which follows from the observation that a fixed point f is able to mimic a c onstant force app lied to cell H(f ) by using a combination of an infinitely large distance between the fixed point f and the cell H(f ) and an infinitely small weight on the pseudonet w f ,H(f ) . Specifically, we can let the spring force introduced by the fixed point—w f ,H(f ) [x H(f ) −x f ]—be equal to some constant force applied to the cell. As the fixed point moves to a distance of infinity, we simply adjust the weight of the pseudonet. As the fixed point approaches infinity, the angle between the fixed point f and the cell H(f ) becomes negligible and any movement of cell H(f ) has no effect on the spring force. Hence, the spring force remains constant in both its magnitude and direction. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 354 23-9-2008 #9 354 Handbook of Algorithms for Physical Design Automation (−2, 2) 1 (0, 0) 2 (−0.5, −1) (a) (0, 0) 1 f (3, 0) 1 H(f ) (−0.5, −1) 2 (−2, 2) (c) (−2, 2) (0, 0) f (1.5, 0) (−0.5, −1) H(f ) 2 2 1 (b) FIGURE 18.3 Illustration of a stabilizing constant force versus stabilizing fixed points. In (a), a constant force is calculated to stabilize the shown cell by countering the spring forces. In (b) and (c), two alternatives for stabilizing the cell with a fixed point are shown. In fact, a fixed point can be positioned anywhere along the x-axis to stabilize the placement giv en an appropriate choice for the weight of the pseudonet. The direction of the spring force exerted by the fixed point on the cel l i s not constant, but varies as the cell changes position. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 355 23-9-2008 #10 Force-Directed and Other Continuous Placement Methods 355 (−2, 2) (0, 0) 1 2 (−0.5, −1) (3, 0) 1 (a) (−2, 2) 1 1 (2, 2) f 1 (3, 0) (−0.5, −1) (0, 0) 2 H(f ) (b) (−2, 2) 1 1 2 (−0.5, −1) (3, 0) (2, 2) (0.4, 0.4) f 1 (c) FIGURE 18.4 Illustration of how a placement can be perturbed by the introduction of a perturbing fixed point. The placement in (a) is in equilibrium through the use of a fixed point. In (b), a perturbing fixed point is added at position (2, 2) to pull the cell in this direction. F inally, (c) shows the resulting placement because of the perturbing fixed point. Fixed points offer other potential benefits compared to constant forces if consideration is given to the overall controllability and stability of each placement iteration. Specifically, using only fixed points, the position of cells at each placement iteration are guaranteed to be within the convex hull of the fixed points, fixed cells, and I/O pads. Hence, it is guaranteed that cells will remain within the Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 356 23-9-2008 #11 356 Handbook of Algorithms for Physical Design Automation placement area if the position of the fixed points are placed within the placement area. This same controllability does not exist for constant forces that can push cells outside the p lacement region. Finally, the linear system of equations used to determine cell positions becomes better conditioned and the stability problems observed in Ref. [16] are less likely to be observed. The means by which the p osition and weighting of the fixed points is determined is key to the success of mFAR. The direction of the stabilizing fixed point is easily determined according to the quadratic spring forces. Perturbing fixed points must be positioned in locations that reduce cell overlap and are computed as follows. Given a placement, mFAR imposes a H g × W g grid bin structure on the placement area such that each grid bin contains a small number of cells. Here, H g and W g are the number of grid bins in the vertical and horizontal directions, respectively. Cells are inserted into bins in the grid based on their current positions. A grid bin is indexed as b r,c where r and c are its row and column indices, respectively.LetC(b) denote thecapacity ofagrid binb and let A(b) denotethetotal cellareaassigned to bin b.Anybinb has an overflow if its utilization U(b) = A(b)/C(b) is > 1 . A well-distributed placement requires that no bins overflow. Hence, perturbing fixed points should be selected such that cells are pulled away from those bins with overflow to those bins without. Let us consider the vertical boundary between two adjacent grid bins b r,c and b r,c+1 . Further, let C r(0,c) and C r(x+1,W g ) be the total row capacity on the left and right sides of the vertical boundary in row r, respectively. Finally, let A r(0,c) and A r(x+1,W g ) be the total cell area assigned to the bins to the left and right of the vertical boundary in row r, respectively. The amount of cell area x r,(c,c+1) that must migrate across the vertical boundary between the grid bins b r,c and b r,c+1 can be computed by A r(0,c) − x r,(c,c+1) C r(0,c) = A r(c+1,W g ) + x r,(c,c+1) C r(c+1,W g ) (18.10) where x r,(c,c+1) > 0 indicates that cells should migrate from left to right across the boundary, while a negative value indicates the reverse. Cells are not shifted across boundaries, but rather the position of the vertical boundary is shifted and the distance moved by the boundary is decided upon by the magnitude of x r(c,c +1) as s r,(c,c+1) = x r,(c,c+1) h(b r,c ) (18.11) where s r,(c,c+1) indicates the amount of the shift h(b r,c ) is the height of the grid bin b r,c After the shifts for all grid boundaries are calculated, the new position of any cell i is given by the linear mapping x new i = x new min + x old i − x old min x old max − x old min ×  x new max − x new min  (18.12) A similar operation is performed in the y-direction. The values x old min and x old max are the left and right coordinates of the grid bin before boundary shifting, while values x new min and x new max are the left and right boundaries after the shifting. The perturbing fixed points should be positioned such that cells are pulled toward their new target positions meaning that the perturbing fixed point f for a cell H(f ) is in th e direction of αd where d is th e vector −−−−−−−−−−−−−−−−−→ (x new H(f ) − x old H(f ) , y new H(f ) − y old H(f ) ) and α is a design-specific parameter used to control the overall strength of the perturbation. Note that only the direction of the perturbing force and its strength ar e determined. The actual position of the fixed point f and the weight of the pseudonet such that αd = w i,j ( −→ f − −−→ H(f )) are not yet d etermined. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 357 23-9-2008 #12 Force-Directed and Other Continuous Placement Methods 357 Fixed points and perturbing points may either be placed on-chip (located within the p lacement area) or off-chip (located outside the placement area) [20]. As previously mentioned, when the quadratic program is solved, cells will always remain with in the convex hull defined by the fixed points. Thus, as long as the fixed points are placed within the placement area, the cells will not escape from the placement area. Numerical studies presented in Ref. [20] demonstrated that stabilizing fixed points should be kept off-chip to minimize their impact on wirelength, while perturbing fixed points should be kept along the boundary of the placement area with their edge weights w ij kept as small as possible. Hence, initially all fixed points are positioned along the boundary of the placement area and, as placement progresses, the streng th of the stab ilizing fixed points are reduced, while their lengths (and positions) are increases such that they are placed off-chip. 18.3.1.2 Fixed Points in FastPlace The d escription of fixed points thus far has focused on the implementation used by mFAR. FastPlace also uses fixed points and a bin shifting strategy to reduce cell overlap. However, unlike mFAR that used two fixed poin ts per cell to stabilize an d perturb a placement at any given iteration, FastPlace uses only one fixed point per cell. In any placement iteration, FastPlace skips the calculation of stabilizing fixed points and immediately imposes a H g ×W g regular grid structure on the placement area. For each grid bin b,the bin utilization U(b) is calculated. Subsequently, cells are shifted first in the x-direction and then in the y-direction. Similar to mFAR, the shifting in each direction is a two-step process. Grid boundaries are first shifted based on the current utilization of the bins, which yields an uneven bin structure. Subsequently, cells are linearly mapped from their positions in the regular bin structure to a target position in the uneven bin structu re thereby yield ing a target position f or each cell. The shifting of bin boundaries in FastPlace is illustrated in Figure18.5. The positions of the bin boundaries in Utilization Bin i Bin i+1 NB i OB i−1 OB i OB i+1 FIGURE 18.5 Illustration of the shifting of bin boundaries used in FastPlace in either the x-ory-direction. The utilization of each bin is calculated based on the current placement and is then used to shift bound- aries converting a regular bin structure into an uneven bin structure in which cell overlap is remov ed. (From Viswanathan, N. and Chu, C.C N., IEEE Trans. CAD 24, 5, 722, 2005. Copyright IEEE 2005. With permission.) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 358 23-9-2008 #13 358 Handbook of Algorithms for Physical Design Automation the x-dir ection (a similar operation can occur in the y-direction) are computed as follows. Let OB i be the x-position of the boundary for bin i in the original regular bin structure. Similarly, let NB i be the x-position of the boundary for bin i in the uneven bin structure. The position of NB i is calculated via the equation NB i = OB i−1 [U(i + 1) +δ]+OB i+1 [U(i) +δ] U(i) +U(i + 1) +2δ (18.13) The ideais that the binshifting shouldaverage outtheutilization of adjacent bins. Hence,theintuition behind Equation 18.13 is that it averages the utilization of bins i and i+1. The parameter δ is required for the following reasons. Let δ = 0andU(i + 1) = 0. From Equation18.13, it can be seen that NB i = OB i+1 and NB i+1 = OB i and is a crossover of adjacent bin boundaries that results in an improper mapping of cell positions from the regular to the uneven grid structure. The inclusion of δ = 1.5 prevents this crossover from occurring. The bin shifting yields a target position f or each cell, but it is possible that the displacement of each cell is too large—the cell should not be positioned exactly at its target position, although it should move toward its target position. FastPlace attempts to pull each cell H(f ) in the direction of d = −−−−−−−−−−−−−−−−−→  x new H(f ) − x old H(f ) , y new H(f ) − y old H(f )  , which is similar to mFAR.However,inFastPlace, m ovement in this dir ection is controlled separately in the x-andy-directions using movementcontrolparameters α x and α y (<1), respectively. To control the actual distance movedby any cell, α x and α y are increasing functions that are inversely proportional to the maximum bin utilization. Consequently, during early placement iterations where there is a large amount of cell overlap (and the maximum bin utilization is large), the movementcontrolp arameters are small and cells areshifted very small distances toward their target positions. In later iterations, as cells are well distributed throughout the placement area, α x and α y take on larger values to accelerate convergence. In Refs. [8,9], the values for the movement control parameters are given by α y = 0.02 + 0.5 max b U(b) α x = 0.02 + 0.5 max b U(b)  Average cell width Cell height  (18.14) which, once again, represent a trade-off in the spreading of cells and the wirelength as measured by the qua dratic objective. Finally, the target position for a cell H(f ) is taken to be a displacement of α x |x new H(f ) −x old H(f ) | and α y |y new H(f ) −y old H(f ) | in the x-andy-directions from its original position, respectively. The bin shifting, linear mapping, and scaling according to the movement control p arameters yields a target position for each cell H(f ). It is necessary to calculate a position for each fixed point f and weight the pseudonet c(f , H(f )) such that cell H(f ) is pulled toward its target position. Th e approach taken by FastPlace is illustrated in Figure 18.6. Each fixed point f is placed on the boundary of the placement area with its position calculated as follows. Each cell H(f ) is moved to its target position as calculated above, while other movable cells are considered fixed. Spring forces will be exerted on cell H(f ) because of connections to other cells and will result in a nonzero spring force, because cell H(f ) is out of force equilibrium. The constant force that would put cell H(f ) back into force equilibrium is calculated, and its ray is intersected with the boundary of the p lacement area. Fixed point f for cell H(f ) is then placed at the intersection of the ray and the boundary of the placement area. By combining bin shifting and force calculations, FastPlace uses a single fixed point per cell p laced on the boundary of the placement area to both stabilize and perturb the current placement. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 359 23-9-2008 #14 Force-Directed and Other Continuous Placement Methods 359 Pseudonet Fixed point position Spreading force Placement area boundary Resultant spring force Target cell position pF y pF x FIGURE 18.6 Illustration of fixed points in FastPlace. Given a target location for each cell after the bin stretching, the spring force because of other cells (which are assumed to be fixed) is computed. The perturbing force is in the opposite direction and serves to pull the celltoward its target location. The fixed point ispositioned on the boundary of the chip and the weight of the pseudonet is computed according to Equation 18.15. Finally, the weight of the pseudonet connecting the fixed point f to cell H(f ) must be computed. The weight of the pseudonet is computed from the following equation: w f ,H(f ) =  pF 2 x + pF 2 y  pD 2 x + pD 2 y (18.15) where pF x (pF y ) is the x-component (y-component) of the stabilizing constant force pD x (pd y ) is the x-component (y-component) of the distance between the fixed point f and the target position for cell H(f ) 18.3.2 FREQUENCY-BASED METHODS An alternative frequency-basedapproach to spreading cells was described in Ref. [21] and employed in UPlace [13]. In this method, the spreading forces are computed by minimizing the uneven density distribution of cells in the placement area. A regular N ×N grid structure is imposed on the placement area.The density of each bin b i,j in the grid is associated with a matrix element d ij = D(i, j) computed as d ij = U(b i,j ) = A(b i,j ) C(b i,j ) (18.16) where A(b i,j ) is the cell area in the bin b i,j C(b i,j ) is the capacity of bin b i,j Thus, matrix D represents the density distribution of cell area. The frequency domain represen- tation of this matrix allows the cell distribution to be viewed as the rate at which the magnitudes of the densities cha nge. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 360 23-9-2008 #15 360 Handbook of Algorithms for Physical Design Automation The matrix D can be converted into its frequency-domain representation F for all elements i, j using a discrete cosine transform, DCT [22], whose formula is given by f ij = 2 N e(i)e(j) N−1  x=0 N−1  y=0 d xy cos  (2x + 1)iπ 2N  cos  (2y +1)jπ 2N  (18.17) where x and y are coordinates in the spatial domain i and j are coordinates in the frequency domain and e(i) =  1 √ 2 , i = 0 1, 1 ≤ i ≤ N −1 (18.18) The distribution of all frequencies can then be defined as Dist =  i,j u ij · f 2 ij (18.19) where u ij is the weight of the distribution at the frequency (i, j). ∗ When the placement of cells is totally even, all frequencies f ij become 0, and Dist is minimized. In UPlace, the quadratic objective (x) is used to minimize wirelength during placement. Because Dist is complicated and difficult to minimize directly,it is approximated b y aquadratic form taken as a function of the cell positions such that Dist =  i Dist i , where for each cell i,wehave Dist i = 1 2 a i x 2 i + b i x i + const (18.20) To determine the coefficients a i and b i , the current solution of the placement is disturbed one cell at a time, and the changesin the values of Dist are observed. For a given cell i (consideringthe x-direction only), the value of Dist is computed for the current placement. The cell i is then shifted lef t by a distance δ,andDist i−δ is recomputed. The cell i is then shifted right by δ,andDist i+δ is computed. This testing yields three sampled tuple values {(i,Dist i ), (i −δ,Dist i−δ ), (i +δ,Dist i+δ } for each cell, which allows the values of a i , b i in Equation18.20 to be interpolated for each i. The coefficients from the quadratic approximation to Dist can be reexpressed in matrix form, added together with the quadratic wirelength (x), differentiated and set to zero to yield the system of equations given by (Q x + A x )x =−c x − b x (18.21) Here, A x is a diagonal matrix defined as A x = diag(a 1 , a 2 , , a n ),andb x =[b 1 , b 2 , , b n ] T .Note that the constant term in Equation18.20 disap pears as a result o f the differentiation. Neither Q x nor c x are affected by changes to the distribution function Dist; only matrix A x and vector b x are modified. A similar equation is established for the y-direction. Equation 18.21 can be likened toth e force equationused in Kraftwerk inthe following manner. By determining the distribution function Dist, the technique finds an additional force formulation f x = A x x + b x , which equals the first-order derivative of the quadratic approximation to the cell distribution, Dist. Thus, the equilibrium state of the system corresponds to the optimum solution to the combined objective function of both wirelength and cell distribution components [13]. ∗ In Ref. [13], u ij = 1 i+j+1 so that lower-frequency distributions are given higher weights because they are more expensive to eliminate. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 361 23-9-2008 #16 Force-Directed and Other Continuous Placement Methods 361 18.4 ENHANCEMENTS Quadratic force-directed placers are generally not as competitive with methods based on simulated annealing or minimum-cut partitio ning. This is a consequen ce of the use of a quadratic wirelength objective. In particular, quadratic wirelength does a poor job of approximating routed wirelength, which is better approximated by a linear objective such as HPWL. Consequently, it is common to interleave the placement iterations with other h euristic strategies to improve the overall qua lity of the placements. In this section, we review the strategies used in several tools, including FDP, mFAR, and FastPlace. 18.4.1 INTERLEAVED OPTIMIZATIONS In Ref. [23], Goto proposed an algorithm that can be used to move a cell at (or near) the position that minimizes the wirelength of its connected nets, while assuming other cells are fixed. The algorithm can be applied iteratively to each cell to obtain an improved placement. Central to Goto’s idea is the concept of the median of a cell. Goto defines the median of a cell as the position of the cell at which the HPWL of its connected nets is minimum. The median of cell C is computed as follows. Let E C denote the set of nets connected to cell C. For each e ∈ E C , compute the enclosing rectangle of all pins on e, while excluding those connections to cell C; the dimensions of this rectangle can be denoted by coordinates (x min e , y min e ) and (x max e , y max e ), where x min e and x max e are the minimum and maximum values in the x-direction, respectively. The same definitions hold for y min e and y max e in the y-direction. Given these definitions, the total wirelength for all nets connected to cell C at position (x, y) is given by f C =  e∈E C [f e (x) +f e (y)] (18.22) where f e (x) = ⎧ ⎨ ⎩ x min e − x, x < x min e 0, x min e ≤ x ≤ x max e x −x max e , x > x min e (18.23) f e (y) = ⎧ ⎨ ⎩ y min e − y, y < y min e 0, y min e ≤ y ≤ y max e y − y max e , y > y min e (18.24) The optimal position (x, y) for cell C can be calculated separately in both the x-andy-directions. Goto showed that Equation 18.22 can be written (x-direction only) as f C =  e∈E C  |x − x min e |+|x − x max e |  (18.25) with the optimal solution given by a median computation. In practice, medians are computed simply by inserting x min e and x max e for all e ∈ E C into a vector and sorting the entries of the vector. For a vector of length n indexed 1 to n, a suitable minimizing value for x is any value within the range of values stored at the indices n/2 and n/2+1 of the sorted vector. Figure 18.7 shows the computation of the median rectangle for a cell connected to three nets. Goto observed that the total cost of placing cell C in any position outside of the median is piecewise strictly convex. This fact helps to identify alternative positions for cell C that are perhaps outside of the optimal positions. Goto encapsulates these alternative positions through the use of the -neighborhood, which is defined as the set of  positions for the cell where the wirelength is one of the  smallest values. . Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 352 23-9-2008 #7 352 Handbook of Algorithms for Physical Design Automation Given that forces tend to. the Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 356 23-9-2008 #11 356 Handbook of Algorithms for Physical Design Automation placement area if the position of. magnitudes of the densities cha nge. Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 360 23-9-2008 #15 360 Handbook of Algorithms for Physical Design Automation The

Ngày đăng: 03/07/2014, 20:20

TỪ KHÓA LIÊN QUAN