Quadratic VLSI Placement Manolis Pantelias. General Various types of VLSI placement  Simulated-Annealing  Quadratic or Force-Directed  Min-Cut  Nonlinear.

Slides:



Advertisements
Similar presentations
Caleb Serafy and Ankur Srivastava Dept. ECE, University of Maryland
Advertisements

Fast Algorithms For Hierarchical Range Histogram Constructions
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
SVM—Support Vector Machines
3D-STAF: Scalable Temperature and Leakage Aware Floorplanning for Three-Dimensional Integrated Circuits Pingqiang Zhou, Yuchun Ma, Zhouyuan Li, Robert.
Natarajan Viswanathan Min Pan Chris Chu Iowa State University International Symposium on Physical Design April 6, 2005 FastPlace: An Analytical Placer.
Meng-Kai Hsu, Sheng Chou, Tzu-Hen Lin, and Yao-Wen Chang Electronics Engineering, National Taiwan University Routability Driven Analytical Placement for.
A Size Scaling Approach for Mixed-size Placement Kalliopi Tsota, Cheng-Kok Koh, Venkataramanan Balakrishnan School of Electrical and Computer Engineering.
Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, Mixed Integer Programming Models.
Ripple: An Effective Routability-Driven Placer by Iterative Cell Movement Xu He, Tao Huang, Linfu Xiao, Haitong Tian, Guxin Cui and Evangeline F.Y. Young.
SimPL: An Effective Placement Algorithm Myung-Chul Kim, Dong-Jin Lee and Igor L. Markov Dept. of EECS, University of Michigan 1ICCAD 2010, Myung-Chul Kim,
FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model FastPlace: Efficient Analytical Placement.
Separating Hyperplanes
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
Early Days of Circuit Placement Martin D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
Easy Optimization Problems, Relaxation, Local Processing for a single variable.
© University of Minnesota Data Mining for the Discovery of Ocean Climate Indices 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance.
EDA (CS286.5b) Day 6 Partitioning: Spectral + MinCut.
On Legalization of Row-Based Placements Andrew B. KahngSherief Reda CSE & ECE Departments University of CA, San Diego La Jolla, CA 92093
Can Recursive Bisection Alone Produce Routable Placements? Andrew E. Caldwell Andrew B. Kahng Igor L. Markov Supported by Cadence.
Force Directed Algorithm Adel Alshayji 4/28/2005.
An Algebraic Multigrid Solver for Analytical Placement With Layout Based Clustering Hongyu Chen, Chung-Kuan Cheng, Andrew B. Kahng, Bo Yao, Zhengyong Zhu.
POLAR 2.0: An Effective Routability-Driven Placer Chris Chu Tao Lin.
7/15/ VLSI Placement Prof. Shiyan Hu Office: EERC 731.
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
CSCI 347 / CS 4206: Data Mining Module 04: Algorithms Topic 06: Regression.
Clustering Unsupervised learning Generating “classes”
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 FLUTE: Fast Lookup Table Based RSMT Algorithm.
PLACEMENT USING DON’T CARE WIRES Fan Mo Don’t Care Wire Group: P.Chong, Y-J.Jiang, S.Singha and R.K.Brayton.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
TSV-Aware Analytical Placement for 3D IC Designs Meng-Kai Hsu, Yao-Wen Chang, and Valerity Balabanov GIEE and EE department of NTU DAC 2011.
Scientific Computing Partial Differential Equations Poisson Equation.
10/11/ VLSI Physical Design Automation Prof. David Pan Office: ACES Placement (2)
Seeing the Forest and the Trees: Steiner Wirelength Optimization in Placement Jarrod A. Roy, James F. Lu and Igor L. Markov University of Michigan Ann.
Gordian Placement Tool: Quadratic and Linear Problem Formulation Ryan Speelman Jason Gordon Steven Butt EE 201A
Analytic Placement. Layout Project:  Sending the RTL file: −Thursday, 27 Farvardin  Final deadline: −Tuesday, 22 Ordibehesht  New Project: −Soon 2.
Quadratic and Linear WL Placement Using Quadratic Programming: Gordian & Gordian-L Shantanu Dutt ECE Dept., Univ. of Illinois at Chicago Acknowledgements:
Researchers: Preet Bola Mike Earnest Kevin Varela-O’Hara Han Zou Advisor: Walter Rusin Data Storage Networks.
Multilevel Generalized Force-directed Method for Circuit Placement Tony Chan 1, Jason Cong 2, Kenton Sze 1 1 UCLA Mathematics Department 2 UCLA Computer.
Force-Directed Placement Heuristics A Comparative Study.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Jason Cong‡†, Guojie Luo*†, Kalliopi Tsota‡, and Bingjun Xiao‡ ‡Computer Science Department, University of California, Los Angeles, USA *School of Electrical.
Deferred Decision Making Enabled Fixed- Outline Floorplanner Jackey Z. Yan and Chris Chu DAC 2008.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
Physical Synthesis Comes of Age Chuck Alpert, IBM Corp. Chris Chu, Iowa State University Paul Villarrubia, IBM Corp.
An Effective Congestion Driven Placement Framework André Rohe University of Bonn, Germany joint work with Ulrich Brenner.
METU Informatics Institute Min720 Pattern Classification with Bio-Medical Applications Part 7: Linear and Generalized Discriminant Functions.
1 NTUplace: A Partitioning Based Placement Algorithm for Large-Scale Designs Tung-Chieh Chen 1, Tien-Chang Hsu 1, Zhe-Wei Jiang 1, and Yao-Wen Chang 1,2.
Data Structures and Algorithms in Parallel Computing Lecture 7.
FPGA CAD 10-MAR-2003.
Unified Quadratic Programming Approach for Mixed Mode Placement Bo Yao, Hongyu Chen, Chung-Kuan Cheng, Nan-Chi Chou*, Lung-Tien Liu*, Peter Suaris* CSE.
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
Sporadic model building for efficiency enhancement of the hierarchical BOA Genetic Programming and Evolvable Machines (2008) 9: Martin Pelikan, Kumara.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
May Mike Drob Grant Furgiuele Ben Winters Advisor: Dr. Chris Chu Client: IBM IBM Contact – Karl Erickson.
Effective Linear Programming-Based Placement Techniques Sherief Reda UC San Diego Amit Chowdhary Intel Corporation.
6/19/ VLSI Physical Design Automation Prof. David Pan Office: ACES Placement (3)
RTL Design Flow RTL Synthesis HDL netlist logic optimization netlist Library/ module generators physical design layout manual design a b s q 0 1 d clk.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
HeAP: Heterogeneous Analytical Placement for FPGAs
VLSI Quadratic Placement
Finite Element Method To be added later 9/18/2018 ELEN 689.
GORDIAN Placement Perform GORDIAN placement
EE5780 Advanced VLSI Computer-Aided Design
FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design
Presentation transcript:

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 Indirect measure of the wirelength but can be minimized quite efficiently Results in a large amount of overlap among cells  Additional techniques needed

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

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

Electric Network Analogy Objective function x T Bx can be interpreted as the power dissipation of an n-node linear resistive network Vector x corresponds to the voltage vector x = [x 1 x 2 ] T, x 1 is of dimension m and is to be determined, x 2 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

Electric Network Analogy (Cont’d) Placement problem is equivalent to that of choosing voltage vector for which power is a minimum  B 11 x 1 + B 12 x 2 = 0  B 21 x 1 + B 22 x 2 = i 2 Solve for Ax 1 = b  Where A = B 11, b = - B 12 x 2 Solved with iterating method (successive over-relaxation or SOR)

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)

Placement and Partitioning (Cont’d) 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

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

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?

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

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

An Example Resultant Force

Force Calculation Hooke’s Law:  Force = Spring Constant x Distance Can consider forces in x- and y-direction separately: (x i, y i ) (x j, y j ) F FxFx FyFy

Problem Formulation Equilibrium:  j c ij (x j - x i ) = 0 for all module i. However, trivial solution: x j = x i 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

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

Some Details Let f i be the additional force applied to cell i The proportional constant k is chosen so that the maximum of all f i is 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.

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

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

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 

Cell Shifting 1.Shifting of bin boundary Uniform Bin StructureNon-uniform Bin Structure 2.Shifting of cells linearly within each bin Apply to all rows and all columns independently

Cell Shifting – Animation … NB i Bin i Bin i+1 OB i OB i-1 OB i+1 UiUi U i+1 j k l Bin i Bin i+1 OB i OB i-1 OB i+1 j k l NB i

Pseudo pin and Pseudo net 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 Additional Force Pseudo pin Target Position Original Position Pseudo net Pseudo pin

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 HH V V

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 Clique ModelStar Model Hybrid Model # pinsNet Model 2Clique 3 4Star 5 6 ……

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 Weight = γ kW for a k-pin net Clique ModelStar Model

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