1 / 27

Quadratic VLSI Placement

Quadratic VLSI Placement. Manolis Pantelias. General. Various types of VLSI placement Simulated-Annealing Quadratic or Force-Directed Min-Cut Nonlinear Programming Mix of the above Quadratic placers Try to minimize a quadratic wirelength objective function

Download Presentation

Quadratic VLSI Placement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quadratic VLSI Placement Manolis Pantelias

  2. General • Various types of VLSI placement • Simulated-Annealing • Quadratic or Force-Directed • Min-Cut • Nonlinear Programming • Mix of the above • Quadratic placers • Try to minimize a quadratic wirelength objective function • Indirect measure of the wirelength but can be minimized quite efficiently • Results in a large amount of overlap among cells • Additional techniques needed

  3. Proud R. S. Tsay, E. Kuh and C. P. Hsu, “Proud: A Sea-of-Gates Placement Algorithm”

  4. Objective function • Don’t minimize the wirelength but the squared wirelength: • cij between module i and module j could be the number of nets connecting the two modules • Connectivity matrix C = [cij] • B = D – C • D is a diagonal matrix with: • Only the one-dimensional problem needs to be considered because of the symmetry between x and y

  5. Electric Network Analogy • Objective function xTBx can be interpreted as the power dissipation of an n-node linear resistive network • Vector x corresponds to the voltage vector • x = [x1x2]T, x1 is of dimension m and is to be determined, x2 is due to the fixed I/O pads • B contains the conductance of the nodes • –bij is the conductance between node i and node j

  6. Electric Network Analogy (Cont’d) • Placement problem is equivalent to that of choosing voltage vector for which power is a minimum • B11x1 + B12x2 = 0 • B21x1 + B22x2 = i2 • Solve for Ax1 = b • Where A = B11, b = - B12x2 • Solved with iterating method (successive over-relaxation or SOR)

  7. Placement and Partitioning • How to avoid module overlap? • Solution: Iterative partitioning in a hierarchical way • Add module areas from left to right until roughly half of the total area, that defines partition-line • Make modules to the right of partition-line fixed, modules to the left of partition-line movable • Project fixed modules to center-line • Perform global placement in the left-plane (of center-line)

  8. Placement and Partitioning (Cont’d) • Make all modules in the left-plane fixed, project to thecenter line • Make modules to the right of cut-line movables • Perform global placement in the right-plane • Proceed with horizontal cuts on each half • Continue until each block contains one and onlymodule

  9. BGS Iteration • For a given hierarchy perform the previous partitioning more than once • Assume a vertical cut • y1 splits into y1a, y1b for each half • y1a* and y1b* are perturbed solution from y1a and y1b because of the partitioning process • 2-5 iterations give very good results at each hierarchy

  10. Problems • A bad decision at a higher level affects the placement results of lower levels • Difficult to overcome a bad partitioning of a higher level • Backtracking?

  11. KraftWerk Hans Eisenmann and F. Johannes, “Generic Global Placement and Floorplanning”

  12. Force Directed Approach • Transform the placement problem to the classical mechanics problem of a system of objects attached to springs. • Analogies: • Module (Block/Cell/Gate) = Object • Net = Spring • Net weight = Spring constant. • Optimal placement = Equilibrium configuration

  13. An Example Resultant Force

  14. Force Calculation • Hooke’s Law: • Force = Spring Constant x Distance • Can consider forces in x- and y-direction separately: (xj, yj) F Fx (xi, yi) Fy

  15. Problem Formulation • Equilibrium: Sj cij (xj - xi) = 0 for all module i. • However, trivial solution: xj = xi for all i, j. Everything placed on the same position! • Need to have some way to avoid overlapping. • Have connections to fixed I/O pins on the boundary of the placement region. • Push cells away from dense region to sparse region

  16. Kraftwerk Approach • Iteratively solve the quadratic formulation: • Spread cells by additional forces: • Density-based force proposed • Push cells away from dense region to sparse region • The force exerted on a cell by another cell is repelling and proportional to the inverse of their distance. • The force exerted on a cell by a place is attracting and proportional to the inverse of their distance // equivalent to spring force // equilibrium

  17. Some Details • Let fi be the additional force applied to cell i • The proportional constant k is chosen so that the maximum of all fiis the same as the force of a net with length K(W+H) • K is a user-defined parameter • K=0.2 for standard operation • K=1.0 for fast operation • Can be extended to handle timing, mixed block placement and floorplanning, congestion, heat-driven placement, incremental changes, etc.

  18. Some Potential Problems of Kraftwerk • Convergence is difficult to control • Large K  oscillation • Small K  slow convergence • Example: Layout of a multiplier • Density-based force is expensive • to compute

  19. FastPlace Natarajan Viswanathan and Chris Chu, “FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model”

  20. FastPlace Approach • Framework: repeat Solve the convex quadratic program  Reduce wirelength by iterative heuristic  Spread the cells  until the cells are evenly distributed  • Special features of FastPlace: • Cell Shifting • Easy-to-compute technique  • Enable fast convergence • Hybrid Net Model • Speed up solving of convex QP  • Iterative Local Refinement • Minimize wirelength based on linear objective

  21. Cell Shifting • Shifting of bin boundary • Apply to all rows and all columns independently Uniform Bin Structure Non-uniform Bin Structure • Shifting of cells linearly within each bin

  22. Bin i Bin i Bin i+1 Bin i+1 k Ui j Ui+1 l OBi-1 OBi OBi+1 OBi-1 OBi+1 OBi k j l NBi Cell Shifting – Animation … NBi

  23. Pseudo pin and Pseudo net Pseudo pin • Need to add forces to prevent cells from collapsing back • Done by adding pseudo pins and pseudo nets • Only diagonal and linear terms of the quadratic system need to be updated • Takes a single pass of O(n) time to regenerate matrix Q (which is common for both x and y problems) Pseudo net Pseudo pin Additional Force Pseudo net Target Position Original Position

  24. V H H V Iterative Local Refinement • Iteratively go through all the cells one by one • For each cell, consider moving it in four directions by a certain distance • Compute a score for each direction based on • Half-perimeter wirelength (HPWL) reduction • Cell density at the source and destination regions • Move in the direction with highest positive score (Do not move if no positive score) • Distance moved (H or V) is decreasing over iterations • Detailed placement is handled by the same heuristic

  25. Clique, Star and Hybrid Net Models • Runtime is proportional to # of non-zero entries in Q • Each non-zero entry in Q corresponds to one 2-pin net • Traditionally, placers model each multi-pin net by a clique • Hybrid Net Model is a mix of Clique and Star Models Star Node Hybrid Model Clique Model Star Model

  26. Equivalence of Clique and Star Models • Lemma: By setting the net weights appropriately, clique and star net models are equivalent. • Proof: When star node is at equilibrium position, total forces on each cell are the same for clique and star net models. Star Node Weight = γW Weight = γ kW for a k-pin net Clique Model Star Model

  27. Comparison • FastPlace is fast compared to Kraftwerk (based on published data) • 20-25x faster • With cell shifting technique can converge in around 20 iterations. • KraftWerk may need hundreds of iterations to converge. • 10% better in wirelength • hybrid net model

More Related