Optimization of Linear Placements for Wirelength Minimization with Free Sites A. B. Kahng, P. Tucker, A. Zelikovsky (UCLA & UCSD) Supported by grants from.

Slides:



Advertisements
Similar presentations
New Graph Bipartizations for Double-Exposure, Bright Field Alternating Phase-Shift Mask Layout Andrew B. Kahng (UCSD) Shailesh Vaya (UCLA) Alex Zelikovsky.
Advertisements

Optimization of Placement Solutions for Routability Wen-Hao Liu, Cheng-Kok Koh, and Yih-Lang Li DAC’13.
Native-Conflict-Aware Wire Perturbation for Double Patterning Technology Szu-Yu Chen, Yao-Wen Chang ICCAD 2010.
2/9/06CS 3343 Analysis of Algorithms1 Convex Hull  Given a set of pins on a pinboard  And a rubber band around them  How does the rubber band look when.
Lecture 3: Parallel Algorithm Design
Minimum Implant Area-Aware Gate Sizing and Placement
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.
1 Interconnect Layout Optimization by Simultaneous Steiner Tree Construction and Buffer Insertion Presented By Cesare Ferri Takumi Okamoto, Jason Kong.
F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (UCLA) S. Muddu (Sanera Systems) A. Zelikovsky (Georgia State) Provably Good Global Buffering by.
Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, Mixed Integer Programming Models.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and.
Linear Programming Fundamentals Convexity Definition: Line segment joining any 2 pts lies inside shape convex NOT convex.
FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model FastPlace: Efficient Analytical Placement.
Placer Suboptimality Evaluation Using Zero-Change Transformations Andrew B. Kahng Sherief Reda VLSI CAD lab UCSD ECE and CSE Departments.
Toward Better Wireload Models in the Presence of Obstacles* Chung-Kuan Cheng, Andrew B. Kahng, Bao Liu and Dirk Stroobandt† UC San Diego CSE Dept. †Ghent.
TPL-aware displacement-driven detailed placement refinement with coloring constraints Tao Lin and Chris Chu Iowa State University 1.
Automated Layout and Phase Assignment for Dark Field PSM Andrew B. Kahng, Huijuan Wang, Alex Zelikovsky UCLA Computer Science Department
Border Length Minimization in DNA Array Design A.B. Kahng, I.I. Mandoiu, P. Pevzner, S. Reda (all UCSD), A. Zelikovsky (GSU)
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
Power-Aware Placement
Prune-and-search Strategy
F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.
Provably Good Global Buffering Using an Available Buffer Block Plan F. F. Dragan (Kent) A. B. Kahng (UCLA) I. Mandoiu (Gatech) S. Muddu (Silicon graphics)
On Legalization of Row-Based Placements Andrew B. KahngSherief Reda CSE & ECE Departments University of CA, San Diego La Jolla, CA 92093
Yield- and Cost-Driven Fracturing for Variable Shaped-Beam Mask Writing Andrew B. Kahng CSE and ECE Departments, UCSD Xu Xu CSE Department, UCSD Alex Zelikovsky.
Practical Iterated Fill Synthesis for CMP Uniformity Supported by Cadence Design Systems, Inc. Y. Chen, A. B. Kahng, G. Robins, A. Zelikovsky (UCLA, UVA.
DPIMM-03 1 Performance-Impact Limited Area Fill Synthesis Yu Chen, Puneet Gupta, Andrew B. Kahng (UCLA, UCSD) Supported by Cadence.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Can Recursive Bisection Alone Produce Routable Placements? Andrew E. Caldwell Andrew B. Kahng Igor L. Markov Supported by Cadence.
1 -1 Chapter 1 Introduction Why to study algorithms? Sorting problem: To sort a set of elements into increasing or decreasing order. 11, 7, 14,
1 Area Fill Generation With Inherent Data Volume Reduction Yu Chen, Andrew B. Kahng, Gabriel Robins, Alexander Zelikovsky and Yuhong Zheng (UCLA, UCSD,
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
CSE 242A Integrated Circuit Layout Automation Lecture 5: Placement Winter 2009 Chung-Kuan Cheng.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 FLUTE: Fast Lookup Table Based RSMT Algorithm.
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
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.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
© The McGraw-Hill Companies, Inc., Chapter 6 Prune-and-Search Strategy.
A NEW ECO TECHNOLOGY FOR FUNCTIONAL CHANGES AND REMOVING TIMING VIOLATIONS Jui-Hung Hung, Yao-Kai Yeh,Yung-Sheng Tseng and Tsai-Ming Hsieh Dept. of Information.
Regularity-Constrained Floorplanning for Multi-Core Processors Xi Chen and Jiang Hu (Department of ECE Texas A&M University), Ning Xu (College of CST Wuhan.
Kwangsoo Han, Andrew B. Kahng, Hyein Lee and Lutong Wang
Kwangsoo Han‡, Andrew B. Kahng‡† and Hyein Lee‡
Closing the Smoothness and Uniformity Gap in Area Fill Synthesis Supported by Cadence Design Systems, Inc., NSF, the Packard Foundation, and State of Georgia’s.
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.
Tao Lin Chris Chu TPL-Aware Displacement- driven Detailed Placement Refinement with Coloring Constraints ISPD ‘15.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
1 Prune-and-Search Method 2012/10/30. A simple example: Binary search sorted sequence : (search 9) step 1  step 2  step 3  Binary search.
Pattern Sensitive Placement For Manufacturability Shiyan Hu, Jiang Hu Department of Electrical and Computer Engineering Texas A&M University College Station,
Pattern Sensitive Placement For Manufacturability Shiyan Hu, Jiang Hu Department of Electrical and Computer Engineering Texas A&M University College Station,
Lectures on Greedy Algorithms and Dynamic Programming
Simultaneous Analog Placement and Routing with Current Flow and Current Density Considerations H.C. Ou, H.C.C. Chien and Y.W. Chang Electronics Engineering,
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.
System in Package and Chip-Package-Board Co-Design
© The McGraw-Hill Companies, Inc., Chapter 1 Introduction.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Effective Linear Programming-Based Placement Techniques Sherief Reda UC San Diego Amit Chowdhary Intel Corporation.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
An O(bn 2 ) Time Algorithm for Optimal Buffer Insertion with b Buffer Types Authors: Zhuo Li and Weiping Shi Presenter: Sunil Khatri Department of Electrical.
An O(nm) Time Algorithm for Optimal Buffer Insertion of m Sink Nets Zhuo Li and Weiping Shi {zhuoli, Texas A&M University College Station,
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.
Partial Reconfigurable Designs
مفاهيم طراحي الگوريتم مرتضي صاحب الزماني.
Algorithms (2IL15) – Lecture 2
EE5780 Advanced VLSI Computer-Aided Design
Automated Layout and Phase Assignment for Dark Field PSM
Presentation transcript:

Optimization of Linear Placements for Wirelength Minimization with Free Sites A. B. Kahng, P. Tucker, A. Zelikovsky (UCLA & UCSD) Supported by grants from Cadence Design Systems, Inc.

Outline Single-Row Problem Cell Cost Function Exact Algorithms for Single-Row Problem –Dynamic Programming Algorithm –Prefix Algorithm –Clumping Algorithm Swapping Heuristic for Cell Ordering Experimental Results Conclusions and Future Directions

Single-Row Problem fixed cells movable cells C1C2C3C4C5C6C7

Single-Row Problem Given –single cell row with n movable cells C[i] with fixed left-to-right order (but variable positions) and integer lattice of k sites (k > n) –m signal nets N [j] containing fixed cells from other rows Find –non-overlapping placement of n movable cells at k sites minimizing the total bounding-box half- perimeter of all m nets.

Net with Movable and Fixed Cells single row with movable cells fixed cells net N span (N) fl(N) fr(N) ml(N) mr(N) fixed_span (N) minimize

Cell Cost Function Cell cost function of C[i] = sum over all nets N of contributions of C[i] to span(N) - fixed_span(N) Given position x of cell C[i], cell cost function = cost[i](x) =  max{mr(N) - fr(N),0} C[i] = rightmost movable on net N +  max{fl(N) - ml(N),0} C[i] = leftmost movable on net N Total # linear pieces  2  #pins = 2  #nets = 2m

Properties of Cell Cost Function Cost function of multi-pin cell is piecewise-linear and convex fr(1)fl(2)fl(3)fr(3)fr(2)fl(4)fr(4) minimum segment (point) If each cell is placed in its minimum segment, total bounding box half-perimeter is minimized

Exact Algorithms for Single-Row Problem Dynamic Programming Algorithm –based on pre-computed cell cost functions Prefix Algorithm –based on piecewise-linearity of cell cost function Clumping Algorithm –based on convexity of cell cost function

Dynamic Programming Algorithm Optimum constrained prefix placement P[i,j] of C[1],..., C[i] subject to C[i] being left of site s[j] P[i,j] is selected from P[i,j-1] and P[i-1,j-w [i-1] ] extended by C[i] at s[j] w [i-1] = width of C[i-1] Cost of prefix placement increased by cost[i](s[j]) Runtime = (i-range)  (j-range) = n  (k -  w[i])  O(n 2 )

Dynamic Programming Algorithm C[i-1] C[i] s[j] s[j-w[i-1]] C[i] s[j-1] P[i,j] has either: C[i] exactly at s[j] (extend P[i-1,j-w[i-1]]) or C[i] to left of s[j] (use already-computed P[i,j-1])

Prefix Algorithm Prefix cost function pcost[i](x) = optimal placement cost of first i cells subject to C[i] being left of x pcost[i](x) is piecewise-linear decreasing Each linear segment is tuple = [a,b, min,max] Computing pcost[i] from pcost[i-1] and cost[i]  merging sorted tuple sequences of sizes  j<i pin[j] and pin[i] (pin[i] = #pins on C[i]) Runtime = O(m 2 ) Note: error in proceedings (missing +cost[i] term)

Prefix Algorithm pcost[i-1] x cost cost[i] pcost[i]

Clumping Algorithm For each cell C[i], find –list of coordinates where cost[i] changes slope –C[i]’s minimum segment To each cell in order, apply PLACE(C[i]) Output positions of cells Procedure PLACE(C[i]) if C[i-1] and C[i] cannot be both in their minimum segments then COLLAPSE(C[i-1],C[i]) and PLACE(C[i-1]) else place C[i] at leftmost optimal available position

Clumping Algorithm Procedure COLLAPSE(C[i-1],C[i]) – shift positions from the list of C[i] by width(C[i-1]) – merge the list for C[i] with the list for C[i-1] – find minimum segment for merged list – width(C[i-1]) = width(C[i-1]) + width(C[i]) – delete cell C[i] Using red-black trees for representation of cell lists, achieve runtime = O(m log m), m = # nets

Clumping Algorithm clumped cell clumped cell optimal positions for cells directions to minimum segments of individual cells

Swapping Heuristic for Cell Ordering Cell-Ordering Problem = the Single-Row Problem where the left-to-right order of cells is not fixed Swapping Heuristic Repeatedly iterate down the row until no pairs swap: –for every adjacent pair of cells that overlap or change order when placed at respective min points, swap their order if placement cost improves

Experimental Results

Conclusions First optimal algorithms for single-row cell placement with free sites, fixed order of cells, and fixed positions of cells in all other rows New iterative algorithm to improve the cell ordering within a given row Iterative row-based placement algorithm that applies single-row cell placement to each row in turn, with optional cell ordering improvement in the given row Average of 6.5% improvement in total wirelength

Extensions Incorporate cell flipping into DP solution Linear programming formulation for Cell Ordering Problem Extend exact DP solution to k rows simultaneously Incorporate routability into objective function