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

Handbook of algorithms for physical design automation part 39 pps

10 163 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 191,42 KB

Nội dung

Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 362 23-9-2008 #17 362 Handbook of Algorithms for Physical Design Automation (a) 2 3 4, 5 6 1 1 2 3 4 5, 6 (b) FIGURE 18.7 Illustration of median calculation for a cell C connected to three nets. In (a), the original placement of cells is shown. In (b), the median or optimal range of (x, y) values for cell C is shown. Six x-andy-positions are used for the median computation b ecause three n ets are involved. Note that two-pin nets degenerate to a single point. A larger set of position for cell C can be computed and is best done by expanding the median rectangle outward accor ding to the points used in the median computation and corresponds to the concept of -neighborhoods described by Goto in Ref. [23]. Median improvement was implemented within the force-directed placer, FDP. Specifically, mul- tiple passes of median improvement are performed as cell overlap is reduced. Because median improvementattempts to reposition each cell within its median rectangle, th e use of median impr ove- ment can reintroduce cell overlap into the placement. To alleviate the cell overlap, FDP attempts to carefully monitor the distribution of cell area when placing a cell inside its median rectangle, it is positioned such that a minimum of overlap is reintroduced. Further, if at any point during the algorithm too much cell overlap is reintroduced, the algorithm is terminated. In Ref.[16],itwasempiricallyobserved thattheuse ofmedianimprovementismosteffectivenear the beginning of placement when a large amount of cell overlap is prevalent and less effective toward the end of placement. To this end, the median rectangle used in FDP is enlarged when it is discovered Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 363 23-9-2008 #18 Force-Directed and Other Continuous Placement Methods 363 Median rectangle 5, 64321 4, 5 3 2 1 6 (a) Extended rectangle for HPWL and overlap minimization Median rectangle 5, 64321 1 2 3 4, 5 6 (b) FIGURE 18.8 Rectangles used in FDP based on Goto’s idea to improve wirelength. In (a) the median or optimal range for replacing a cell. In (b) the extended range for replacing the cell that improves wirelength while providing more placement flexibility in order to avoid the reintroduction of overlap. that the algorithm is reintroducing too much cell overlap—this extension of the search rectangle for repositioning a cell is similar to the notion of an -neighborhood described by Goto. The rectangles considered by the median improvement algorithm used in FDP are illustrated in Figure 18.8. Finally, the median improvement heuristic is used in yet another way in FDP. Specifically, at each iteration, median impr ovement is applied to determine a new position for each cell. However, the cell positions are not updated. Rather, the cell positions obtained by calling median improvement are used to compute an additional force on each cell. It was found, in FDP, that this additional force can be used to deflect the constant forces and lead to an improved overall quality of placement. In Ref. [16], the use of interleaved median improvement during quadratic force-directed placement was shown to improve wirelength by 10–15 percent when measured in terms of HPWL. Another interleaved optimization is the iterative local refinement used in FastPlace.Inthis approach, a regular bin structure is imposed overthe placemen t area to estimate the current utilization of a placement region. The netlist is traversed and the source bin for each cell is determined. Cells are then moved from source to target bins based on both the amount of wirelength improvement and the target bin’s utilization. For every cell p resent in a bin, four scores are computed corresponding to Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 364 23-9-2008 #19 364 Handbook of Algorithms for Physical Design Automation Score Score Score Score N EW S 321 1 2 3 FIGURE 18.9 Illustrationof iterative local refinement used in FastPlace.A regular bin structure is imposed over the placement area. Cells in source bins are tentatively moved from source bins in the north, east, south, and west directions into adjacent tar get bins. Scores for each of the four moves are calculated based on reduction in wirelength and change in bin utilization. The best movement is chosen unless all scores are negative, in which case the cell is left in its source bin. (From Viswanathan, N. and Chu, C.C N., IEEE Trans. CAD 24, 5, 722, 2005. Copy right IEEE 2005. With permission.) the four possible movements of a cell. For computing scores, it is assumed that a cell moves from its current position in the source bin to the same position in each target bin that is adjacent to the source bin. That is, cells are tentatively moved by one bin width (or bin height). Each score is a weighted summation of two components, namely the resulting wirelength reduction and resulting utilization of the source and target bins. Because this refinement scheme is used primarily to reduce wirelength, the first term of the scoring function is more heavily weighted. If, for any cell, the four computed scores are all negative, the cell is kept in its source bin. This refinement strategy is illustrated in Figure18.9. Several iterations of iterative local refinement are performed until there is n o significant improvement in wirelength. By not using iterative local refinement in Ref. [24], a reduction of 32.2 percent in total runtime was observed, but final wirelengths were 15.1 percent worse. Further, the wirelengthincrease was more prominent as circuit size increased. Thus, the iterative local refinement is significant in improving the final quality of result. 18.4.2 MULTILEVEL OPTIMIZATION Netlist clustering is an a ttractive means of improving the runtime and quality of placements pro- duced by force-directed methods. Clustering coarsens a netlist by merging cells together to form larger groups of cells, or clusters, with the hyperedges adjusted to reflect the possible absorption of circuit connections into clusters. Placement is performed o n th e coarsened netlist and, as the algorithm progresses, netlists are repeatedly uncoarsened and placed. Unclustering and reclustering is sometimes performed at intermediate steps during placement to allow the placer to escape from earlier b ad clustering decisions [16,25]. After placement, detailed improvementis usually performed on the flat netlist to improve final results. Clustering methods have been used successfully in a number of force-based methods [20,24, 26–29], including many of those methods described in this chapter. Clustering has been shown to significantly improve the runtime and quality of placement results. Much of this improvement stems from the fact that clustering helps to keep tightly connected cells together and prevents placement algorithms from being trapped in local minima. For additional information on clustering, we refer the reader to the cited works and Chapter 7. For additional information on the use of clustering to improve placement, we refer the reader to Chapter 19. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 365 23-9-2008 #20 Force-Directed and Other Continuous Placement Methods 365 18.5 NONQUADRATIC, CONTINUOUS METHODS As previously mentioned, force-directed placers tend to rely on quadratic optimization and inter- leaved improvement heuristics that directly minimize an approximation of wirelength. Although the quadratic wirelength can be linearized using, for example, reweighting [30] and function regular- ization [31], these schemes require more computational effort when compared to simple quadratic optimization with interleaved impr ovement. Further, the linearization of quadratic wirelength still requires the conversion of the circuit hypergraph to its weighted graph representation, which serves to further abstract the wirelength model. Rather than using a quadratic wirelength objective and a hypergraph-to-graph transformation, several placers including APlace [32], mPL [28], and LSD [24] work directly with the circuit hypergraph and attempt to simultaneously minimize a linear wirelength estimate and distribute cells throughout the placement area. These methods implement an objective function that consists, in part, of minimizing a metric of quality such as wirelength and a measure of infeasibility such as overlap. This can be encapsulated in the generic form given by  = β ×f quality + (1 − β) × f overlap (18.26) where β is an adjustable param eter that represents a trade-off between the quality of result and the amount of cell overlap during any point of the placement method. Typically, the trade-off con- stant, β, is set close to 1 early in placement (where the focus is on placement quality), and is reduced throughout the placement method to encour age the distribution of cells throughout the placement area. Placement methods that work directly with the circuit hypergraph, upon first glance, do not appear to be force-directed methods. At a minimum, however, they are similar in that these methods reduce cell overlap without partitioning. We shall see that there are additional similarities. 18.5.1 PLACEMENT VIA LINE SEARCH LSD [24] performs placement with an objective function similar to Equation 18.26 and works with the circuit netlist directly to minimize HPWL. However, it still relies on force-directed methods that use constant additional forces such as Kraftwerk and FDP. Specifically, each placement iteration of LSD works as follows: Given a placement, additional constant forces are computed to b oth stabilize and pertu r b the given placement that is identical to Kraftwerk and FDP. The particular weights for the perturbing forces are less significant in LSD and the forces are normalized to unity. Subsequently, a QP identical to Equation18.5 is solved and yields a new placement of cells. However, unlike Kraftwerk and FDP—which consider this to be the new placement—LSD considers this placement as only a suggested placement of cells. Cells are not actually moved to these new positions. Rather, the new cell positions are subtracted from their original positions to yield a suggested search direction. Movement in this suggested direction reduces cell overlap while accounting for quadratic wirelength. Within a placement iteration, LSD employs a median improvement heuristic. The initial place- ment provided to the heuristic is the original placement and not that obtained from the QP. Similar to the QP, the median improvement heuristic returns a new placement of cells. However, this new placement is aimed at reducing the HPWL of the circuit netlist directly,and does not take into account quadratic wirelength or cell overlap. This new placement, however, is not used as a placement— similar to the placement from the QP, the new cell positions from m ed ian improvementare sub tracted from their original positions to yield another suggested search direction. This search direction aims to minimize HPWL. Finally, in each placement iteration, LSD performs a two-dimensional line search within the cone produced by the two search directions computed from the QP and application of median improvement. This search cone is illustrated in Figure 18.10. For each position sampled by the Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 366 23-9-2008 #21 366 Handbook of Algorithms for Physical Design Automation Suggested position from a median improvement iteration Cell i Suggested position from a Kraftwerk iteration Search region to trade off overlap and wirelength reductions for cell i FIGURE 18.10 Illustration of the search cone used in LSD. For each cell, a new placement is computed along the lines of Kraftwerk, which yields a search direction that tends to reduce cell overlap. Similarly, for each cell, a call to median improvement yields a ne w placement that tends to reduce HPWL directly. LSD uses a line search to explore the re gion between these t wo search directions to find the placement of cel ls that best serves to trade off HPWL and cell overlap according to Equation 18.26. two-dimensional search, the placement qu a lity and placement overlap are assessed according to the normalized function given by score = β × New_HPWL Orig_HPWL + (1 − β) × New_Overlap Orig_Overlap (18.27) where β controls the preference between HPWL and cell overlap. The values New_HPWL and Old_HPWL represent the HPWL of the current placement being considered by the line search and the original placement, respectively. Similarly, New_Overlap and Old_Overlap represent a measure of the amount of cell overlap for the current placement being considered by the line search and the original placement, respectively. Once all placements have been tested by the line search, the placement with the best normalized score is selected and cell positions are updated. The value of β is a control parameter, which is initially set close to unity to encourage wirelength improvement and is slowly lowered as cells are spread to accelerate convergence. Placement terminates once there exists relatively little cell overlap, as in Ref. [16]. The line search offersa significantadvantage over Kraftwerk-likemethods [4,16,24],b ecause it implements an easily tunable objective function that can be geared toward speed (by encouraging faster spreading) or toward quality (by preferring lower HPWL). The line search can be also be extended to account for additional objectives simply by computing new forces and modifying the objective function and line search accordingly. Nevertheless, the similarities between LSD and more traditional force-directed placers are clear. 18.5.2 APLACE AND THE LOG-SUM-EXP APPROXIMATION In the patent by Naylor et al. [33], the HPWL of a hyperedge is approximated u sing a log-sum-exp formula, given by HPWL λ (e) = α ⎡ ⎣ ln ⎛ ⎝  v j ∈e i e x j α ⎞ ⎠ + ln ⎛ ⎝  v j ∈e i e −x j α ⎞ ⎠ + ln ⎛ ⎝  v j ∈e i e y j α ⎞ ⎠ + ln ⎛ ⎝  v j ∈e i e −y j α ⎞ ⎠ ⎤ ⎦ (18.28) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 367 23-9-2008 #22 Force-Directed and Other Continuous Placement Methods 367 where α is defined as a smoothing parameter. The smaller the value of α, the more accurate the approximation to Equation18.1. However, α cannot be chosen to be too small because of machine precision and numerical stability. In effect, the use of the log-sum-exp formula picks the do minant cell positions to approximate the exact HPWL for each edge as specified in Equation 18.1. Despite its use of transcendental functions, the approximation in Equation18.28 is both differentiable and strictly convex, which makes it fairly simple to minimize. To spread cells, it is desirable to augment the log-sum-exp form with a penalty function that penalizes the uneven distribution of cells. To this end, based on the patent in Ref. [33], APlace [32,34,35] imposes a grid on the placement area and attempts to equalize the total cell area in every grid bin. The straightforward penalty for an uneven cell distribution is given by ρ =  b [A(b) − Average cell area] 2 (18.29) where A(b) is the cell area in bin b. This penalty is neither smooth nor differentiable and is difficult to optimize. APlace approximates the total cell area in each grid bin by area potentials for each cell. The area potential uses a bell-shaped function, as shown in Figure 18.11, to model the effect of a cell’s area on nearby grid bins. It is described by the equation given by Potential(c, b) = α(c) ·f (|c x − b x |) ·f (|c y − b y |) (18.30) for grid bin b with center (x b , y b ), cell c with cen ter (x c , y c ),andf (·) representing the bell-shaped function. Here, α(c) is a proportionality factor used to ensure that the sum of the potentials for a cell equals the cell’s area. That is,  b Potential(c, b) = Area(c) ∀ c ∈ V In Equation 18.30 and illustrated in Figure 18.11, the bell-shaped function is given by p(d) =  1 − 2d 2 r 2 ,0≤ d ≤ r 2 2(d−r) 2 r 2 , r 2 ≤ d ≤ r (18.31) p(d ) 1−2d 2 /r 2 2(r−d ) 2 /r 2 rrr/2r/2 FIGURE 18.11 Bell-shaped penalty function that is used to remove overlap between cells. r controls the range of interaction (the radius) of any given cell’s potential. In standard cell placement, the value of r can be set constant, but in mixed-size placement, it is typically adjusted on a per-cell basis (with larger values of r employed for larger cells). (From Kaling, A.B. and Wang, Q., IEEE Trans. CAD 24, 5, 734, 2005. Copyright 2005. With permission.) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 368 23-9-2008 #23 368 Handbook of Algorithms for Physical Design Automation where r represents the radius of the cells’ potentials. The use of piecewise quadratic functions makes the potential function simple to differentiate. Given the notion of cell potential, the expected potential of a grid bin b is one in which the total cell area is evenly distributed over all grid bins. That is, Expected potential(b) = To tal cell area Num g rid bins (18.32) Thus, to minimize cell overlap, it suffices to minimize the difference of the potential of cells within each bin and the corresponding expected potential of each bin using a penalty function given by Penalty =  b   cell c Potential(c, b) −Expected potential(b)  2 (18.33) which is smooth and differentiable b ecause of the selection of the bell-shaped potential function. In APlace, the penaltyterm in Equation18.33is combined with the log-sum-expapproximation to wirelength in Equation18.28 to arrive at a linearly weighted objective function that represents a trade-off in linear wirelength minimization and the quadratic overlap penalty. This objective function is given by min  sc = ζ ·HPWL λ + ω · Penalty (18.34) In Equation 18.34, the constant ζ controls the weight associated with wirelength minimization, while ω is used to weight the overlap removal. Too large a value of ω can cause cells to spread hastily and lead to poor wirelength; too large a value of ζ can contract cells together and prevent them from spreading out. To counteract these effects, APlace keeps the value of ω fixed, and sets ζ to be large in the beginning; as the solver slows down (or as a solution appears), ζ is divided by two. The equation is solved repeatedly (and the balance of the weight tipped toward the penalty objective) until cells are spread evenly across the placement area. Because of its smooth and differentiable nature, this objective function can be solved efficiently using the Polak–Ribierre method [10]. To address runtime performance, the placement grid is initially made very coarse, which leads to cells spreading more quickly early on. A progressively finer grid is used as cells spread to ensure a more even distribution of area. The bell-shaped function previously described is most applicable to standard cells, which are roughly the same size. A modification to the bell-shaped penalty term is described in Ref. [34] to allow for the placement of larger macrocells like those found in mixed-size circuits. In this modification, the scope of the area potential is extended according to the block size so that a larger block has a nonzero potential with respect to nearby grid bins. Given a module v with width w v , located in bin b, the scope of the module’s x-potential is given by w v 2 + 2w b .Thatistosay,every grid bin within a horizontal distance of w v 2 +2w b from the module’s center h as a nonzero x-potential contribution from the module. Consequently, the bell-shaped potential of a cell v and grid bin b become (x-direction only) p v x (d) = ⎧ ⎨ ⎩ 1 −α · d 2 ,0≤ d ≤ w v 2 + w b β(d − w v 2 − 2w b ), w v 2 + w b ≤ d ≤ w v 2 + 2w b (18.35) where α = 4(w v +4w b ) w v +2w b and β = 2(w v +4w b ) w b . The function is formulated in this fashion so that it is smooth when d x = w v 2 + w b . (A similar formula is employed in th e y-direction.) One of the ben efits of the formulation employed in APlace is its extensibility. In Ref. [32], geometric constraints are considered as additional penalty terms. For example, to handle alignment constraints (in the x -dimension), a penalty function such as  i∈|V H | (x i −¯x) 2 can be added. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 369 23-9-2008 #24 Force-Directed and Other Continuous Placement Methods 369 Numerous additional details are presented in Ref. [29] to improve the overall quality and per- formance of APlace. One improvement to quality stems from the use of multilevel clustering. An adaptive grid size is also described in which the coarseness of the grid is modified based on average cluster size, as this was found to lead to better wirelengths with reduced runtime. Several o ther implementation-specific details are mentioned therein, and we refer interested readers to Ref. [29] for more information. APlace does not share a direct analogy with the concept of a force—its relationship to other force-directed methods is limited to the removal of cell overlap without the need to partition the placement area and, perhaps, its use of the conjugate gradient method for minimization. It is rea- sonable to interpret the gradient of the objective function used in APlace as a force that specifies a direction for cell movements. 18.5.3 MPL AND ITS GENERALIZATION OF FORCE-DIRECTED PLACEMENT Like APlace, mPL [28] works directly with the circuit hypergraph and m inimizes wirelength through the use of the log-sum-exp form in Equation 18.28. The log-sum-exp form was chosen from among two other objective function candidates: the first was the quadratic approximation to wirelength given in Equation18.2 and the second was the L p -norm approximation [15] given by HPWL L p =  e∈E H ⎡ ⎢ ⎣ ⎛ ⎝  v k ∈e x p k ⎞ ⎠ 1 p − ⎛ ⎝  v k ∈e x −p k ⎞ ⎠ − 1 p + ⎛ ⎝  v k ∈e y p k ⎞ ⎠ 1 p − ⎛ ⎝  v k ∈e y −p k ⎞ ⎠ − 1 p ⎤ ⎥ ⎦ (18.36) In the L p -norm, the first and second terms tend to max x k and min x k as p tends to infinity [28], which resultsin a tightapproximation ofthe HPWL similar to thelog-sum-exp form. However,experimental evidence presented in Ref. [28] suggests that the log-sum-expform offers HPWL results, which are 3 and 61 percent better than the L p (p = 32) and quadratic approximations, respectively. Moreover, the log-sum-exp approximation was solvable 67 percent faster than the L p -norm but 23 percent slower than the quadratic model, and was therefore deemed to offer the best balance of runtime and quality. Unlike APlace, which uses the bell-shaped function to spread cells evenly in localized regions, mPL spreads cells globally via the Helmoltz equation (which is similar to the Poisson equation used in Kraftwerk and other placers). mPL imposes a grid structure over top of the placement region. For e very bin b i,j in the grid, its density d i,j is computed at each placement iteration. New positions for cells are determined by solving the optimization problem given by min ⎧ ⎨ ⎩ W =  e∈E H HPWL λ (e)|d i,j = K ∀bins b i,j ⎫ ⎬ ⎭ (18.37) where K is a target density. (K can be specified differently foreachb i,j in situations whenanonuniform distribution of cells is desired [28].) This optimization problem is difficult to solve because of the nondifferentiability of the constraints. Thus, mPL uses the Helmholtz equation to arrive at a continuous density representation of D = (d i,j ). The solution to the Helmholtz equation (with boundary conditions) canbeused to model diffusion processes, and thus makes an ideal candidate for modeling the spreading of cells in a two-dimensional grid. (The Poisson equation can be considered a special case of the Helmholtz equation.) Applied to the density distribution, the Helmholtz equation can be rewritten as ∂ 2 φ(x,y) ∂x 2 + ∂ 2 φ(x,y) ∂y 2 − φ(x, y) = d(x, y), (x, y) ∈ R ∂φ ∂v = 0, (x, y) on the boundary of R (18.38) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 370 23-9-2008 #25 370 Handbook of Algorithms for Physical Design Automation where >0 v is an outer unit normal R represents the placement region, and d(x, y) represents the continuous density function The boundary conditions, encapsulated in the term ∂φ ∂v = 0, specify that forces pointing outside of the placement r egion be set to zero (i.e., Neumann boundary conditions)—this is a key difference with the Poisson method used in Kraftwerk, which assumes that forces become zero at infinity. Because the solution of Equation18.38 gains two more derivatives than d(x, y), φ is a smoothed version of the de nsity function [28]. To solve this problem using the densities d i,j , the problem is first discretized using the finite difference method [36] (while employing the Neumann boundary conditions). If φ i,j represents the value of φ at the center of bin b i,j ,andh x , h y represent the width and height of a bin, the discrete approximation to Equation18.38 can be expressed as φ i+1,j − 2φ i,j + φ i−1,j h 2 y + φ i,j+1 − 2φ i,j + φ i,j−1 h 2 x − φ i,j = d i,j (18.39) for all 1 ≤ i ≤ m and 1 ≤ j ≤ n, subject to φ 0,j = φ 1,j , ∀1 ≤ j ≤ n φ m+1,j = φ m,j , ∀1 ≤ j ≤ n φ i,0 = φ i,1 , ∀1 ≤ i ≤ m φ i,n+1 = φ i,n , ∀1 ≤ i ≤ m (18.40) Once th is linear system of equations is solved for φ, the optimization problem Equation 18.37 can be reexpressed in terms of φ yielding the problem given by min ⎧ ⎨ ⎩ W =  e∈E H HPWL λ (e) | φ i,j = ˆ K ∀ bins b i,j ⎫ ⎬ ⎭ (18.41) where ˆ K is a scaled constant representation of K. This optimization problem is solved using Uzawa’s algorithm [37]. One iteration of Uzawa’s algorithm is given by W k+1 +  i,j λ k i,j φ i,j = 0 λ k+1 i,j = λ k i,j + α(φ i,j − ˆ K) (18.42) where λ k is the Lagrange multiplier at the kth iteration α is a p arameter to control convergence Recall that the wirelength portion of the objective W is a function of the cell positions in each iteration. Thus, the term W k+1 is a function of the positions of cells in x and y in iteration k +1. The gradient of φ i,j can be approximated using the difference scheme  x k φ i,j = φ i,j+1 − φ i,j h x (18.43)  yk φ i,j = φ i+1,j − φ i,j h y (18.44) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 371 23-9-2008 #26 Force-Directed and Other Continuous Placement Methods 371 In Ref. [23], one iteration of a Kraftwerk placement iteration is shown to be related to an iteration of Uzawa’s algorithm. Given the force equation used by Kraftwerk in Equation18.5, a change of variable names shows that the incremental change in cell positions for a quadratic system can be reexpressed as  C 0 0 C  x k+1 y k+1  +  p x p y  + τ k  f k x f k y  = 0 (18.45) In this equation, the quadratic wirelength approximation is used in place of the log-sum-exp model for W in Equations18.37 and 18.41. The values of C, p x ,andp y are derived from W. The scalar τ k controls the weighting in each iteration, while the forces f x and f y are computed based on the placement in the kth iteration. I n Kraftwerk, this equation is iteratively solved until cells are well spread across the placement area. This equation is a special case of the Uzawa iteration in Equation 18.42, achieved by fixing λ k ij = τ k .Theλ k values are known to be the Lagrange multipliers of Equation 18.41, and must be large enough to spread cells but small enough to achieve convergence. Whereas force weighting is an issue in Kraftwerk, mPL offers the possibility of dynamically adjusting the weights for all forces individually at each iteration by updating the Lagrangian multipliers. Consequently, mPL does not require the ad hoc force scaling typically employed in methods based on Ref. [4] and represents a generalization of Kraftwerk. 18.6 OTHER ISSUES Several important issues have not been addressed in the previous description of force-directed place- ment methods and we touch uponsome of these issues here, including I/O placement, fixed obstacles, and heterogeneous resource placement. Force-directed methods, including Kraftwerk, FDP, mFAR,andFastPlace, require I/Os to be preplaced before force-directed placement because of the need for (x) to be positive definite. However, in some circumstances, the placement of I/Os can be another degree of freedom, as their placement can impact overall q u ality. Despite some efforts in the literature (c.f., [24,38]), it is possible that placeable I/Os can be handled more effectively within the context of force-directed and continuous placement methods. Another difficulty for force-directed methods potentially lies in the handling of fixed obstacles within the placement area. Figure 18.12ashows the adaptec2 circuitfromthe ISPD05 benchmark suite [39]. This circuit contains a large number o f preplaced macrocells. In particular, there is a very large preplaced macrocell in the middle of the placement area. Several heuristic strategies (c.f., [19]) have been presented for positioning fixed points on the boundaries of fixed obstacles to encourage cells to be pulled through fixed obstacles and to prevent other cells from remaining inside of fixed obstacles. Figure 18.12b shows the positions of movable cells immediately after the solution to an unperturbed quadratic objective—the cells are highly overlapping, and many are located to the right of the large macro. In practice, it may be difficult for the movable cells in this example to push through or “move around” the obstacles. If one considers the various incarnations of force-directed methods, there is nothing explicit, which indicates that the methods would fail to properly handle fixed obstacles. In fact, placers including APlace, mPL, mFAR, FastPlace,andKraftwerk successfully placed the circuits in the ISPD05 benchmark suite, all of which contain a number of fixed obstacles. However, it is possible that the handling of fixed obstacles can be improved. Another issue for force-directed methods pertains to the proper handling of heterogeneous resources that commonly appear in the context structured ASIC placement. Such resources cor- respond to specialized macroblocks (like RAM blocks, multiplier blocks, and IP cores) [40], which are g enerally much fewer in number than the remain ing core (standard) cells. Such blocks require placement at discrete positio ns inside of the structured ASIC and their placemen t imposes discrete . 18.10. For each position sampled by the Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 366 23-9-2008 #21 366 Handbook of Algorithms for Physical Design Automation Suggested. on the boundary of R (18.38) Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 370 23-9-2008 #25 370 Handbook of Algorithms for Physical Design Automation where >0 v. Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C018 Finals Page 362 23-9-2008 #17 362 Handbook of Algorithms for Physical Design Automation (a) 2 3 4, 5 6 1 1

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