Quadratic VLSI Placement - PowerPoint PPT Presentation

About This Presentation
Title:

Quadratic VLSI Placement

Description:

Title: PowerPoint Presentation Last modified by: Manolis Created Date: 1/1/1601 12:00:00 AM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 28
Provided by: uoc52
Category:

less

Transcript and Presenter's Notes

Title: Quadratic VLSI Placement


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
  • Dont 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 x1 x2T, 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 (Contd)
  • 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 (Contd)
  • Make all modules in the left-plane fixed, project
    to the center 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 only
    module

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
  • Hookes 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 fi is the same as the force of a
    net with length K(WH)
  • K is a user-defined parameter
  • K0.2 for standard operation
  • K1.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
  1. Shifting of bin boundary

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

22
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
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

pins Net Model
2 Clique
3 Clique
4 Star
5 Star
6 Star

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
Write a Comment
User Comments (0)
About PowerShow.com