Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.

Slides:



Advertisements
Similar presentations
Analysis of Floorplanning Algorithm in EDA Tools
Advertisements

THERMAL-AWARE BUS-DRIVEN FLOORPLANNING PO-HSUN WU & TSUNG-YI HO Department of Computer Science and Information Engineering, National Cheng Kung University.
An Effective Floorplanning Algorithm in Mixed Mode Placement Integrated with Rectilinear- Shaped Optimization for Soft Blocks Changqi Yang, Xianlong Hong,
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.
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
Floorplanning Professor Lei He
ICS 252 Introduction to Computer Design Lecture 14 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Global Routing Prof. Shiyan Hu Office: EERC 731.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning © KLMH Lienig 1 Chapter 3 – Chip Planning 3.1 Introduction to.
Floorplanning and Signal Assignment for Silicon Interposer-based 3D ICs W. H. Liu, M. S. Chang and T. C. Wang Department of Computer Science, NTHU, Taiwan.
7/15/ VLSI Placement Prof. Shiyan Hu Office: EERC 731.
Floorplanning. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
LP formulation of Economic Dispatch
8/15/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 8. Floorplanning (2)
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
Mixed Non-Rectangular Block Packing for Non-Manhattan Layout Architectures M. Wu, H. Chen and J. Jou Department of EE, NCTU HsinChu, Taiwan ISQED 2011.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.
Simulated Annealing.
Global Routing.
Pattern Selection based co-design of Floorplan and Power/Ground Network with Wiring Resource Optimization L. Li, Y. Ma, N. Xu, Y. Wang and X. Hong WuHan.
CAD for Physical Design of VLSI Circuits
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
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.
VLSI Backend CAD Konstantin Moiseev – Intel Corp. & Technion Shmuel Wimer – Bar Ilan Univ. & Technion.
BSG-Route: A Length-Matching Router for General Topology T. Yan and M. D. F. Wong University of Illinois at Urbana-Champaign ICCAD 2008.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Analytic Placement. Layout Project:  Sending the RTL file: −Thursday, 27 Farvardin  Final deadline: −Tuesday, 22 Ordibehesht  New Project: −Soon 2.
Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Packing Rectangles into Bins Nikhil Bansal (CMU) Joint with Maxim Sviridenko (IBM)
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Approximation algorithms for TSP with neighborhoods in the plane R 郭秉鈞 R 林傳健.
Deferred Decision Making Enabled Fixed- Outline Floorplanner Jackey Z. Yan and Chris Chu DAC 2008.
A Memetic Algorithm for VLSI Floorplanning Maolin Tang, Member, IEEE, and Xin Yao, Fellow, IEEE IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
A Stable Fixed-outline Floorplanning Method Song Chen and Takeshi Yoshimura Graduate School of IPS, Waseda University March, 2007.
Floorplan Sizing 1. Floorplanning Algorithms Common Goals  To minimize the total length of interconnect, subject to an upper bound on the floorplan area.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Detailed Routing مرتضي صاحب الزماني.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 1 Course Overview Mustafa Ozdal Computer Engineering Department, Bilkent University.
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,
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
Routability-driven Floorplanning With Buffer Planning Chiu Wing Sham Evangeline F. Y. Young Department of Computer Science & Engineering The Chinese University.
LEMAR: A Novel Length Matching Routing Algorithm for Analog and Mixed Signal Circuits H. Yao, Y. Cai and Q. Gao EDA Lab, Department of CS, Tsinghua University,
Block Packing: From Puzzle-Solving to Chip Design
System in Package and Chip-Package-Board Co-Design
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
THREE DIMENSIONAL-PALLET LOADING PROBLEM BY ABDULRHMAN AL-OTAIBI.
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.
مرتضي صاحب الزماني 1 Hierarchical Tree Based Methods A floorplan is said to be hierarchical of order k if it can be obtained by recursively partitioning.
The Early Days of Automatic Floorplan Design
1 Chapter 5 Branch-and-bound Framework and Its Applications.
EE4271 VLSI Design VLSI Channel Routing.
A Snap-On Placement Tool Israel Waldman. Introduction.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Chapter 7 – Specialized Routing
VLSI Quadratic Placement
VLSI Physical Design Automation
Sheqin Dong, Song Chen, Xianlong Hong EDA Lab., Tsinghua Univ. Beijing
Integer Programming (정수계획법)
I. Floorplanning with Fixed Modules
EE5780 Advanced VLSI Computer-Aided Design
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
Integer Programming (정수계획법)
Floorplanning (Adapted from Prof. E. Young’s and Prof. Y
Presentation transcript:

Chip Planning 1

Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some modules)  If modules not defined clearly  physical hierarchy Examples:  IP Cores  Caches  Embedded Memories  … 2

Chip Planning Steps Steps: 1.Floorplanning: −Determines location and shapes −Based on area, aspect ratio −Optimizes −Area −Interconnects −Timing 2.Pin assignment 3.Power planning 3

Chip Planning Steps Steps: 1.Floorplanning: 2.Pin assignment: −Assigns signal nets to block pins −Finds locations of IO pads 3.Power planning 4

Chip Planning Steps Steps: 1.Floorplanning: 2.Pin assignment: 3.Power planning: −Builds power supply network −Should supply P&G to all circuits 5

6 Chip Planning GND VDD Module e I/O Pads Block Pins Block a Block b Block d Block e Floorplan Module d Module c Module b Module a Chip Planning Block c Supply Network © 2011 Springer Verlag Connections between blocks: through internal pins (not shown)

Pentium-4 Floorplan 7

Floorplanning Module  becomes a rectangular block after it is assigned dimensions or a shape −Can be rectilinear Blocks:  Hard: −Dimensions: fixed  Soft: −Area: fixed −Aspect ratio: changeable (discrete or continuous) 8

Floorplan Floorplan with soft blocks: :  Determines positions and shapes for blocks Floorplanning with hard blocks:  Pre-existing IP blocks: special case −but requires special computational techniques Hierarchical:  Usually recursive top-down  Focus on one level at a time 9

10 Hierarchical Floorplan A D E B C

Floorplan Area Optimization: Example Given: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2 Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1 Task: Floorplan with minimum total area enclosed A A A B B C C

12 Example Given: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2 Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1 Task: Floorplan with minimum total area enclosed

13 Example Solution: Aspect ratios Block A with w = 2, h = 2; Block B with w = 2, h = 1; Block C with w = 1, h = 3 This floorplan has a global bounding box with minimum possible area (9 square units). Given: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2 Block B: w = 1, h = 2 or w = 2, h = 1 Block C: w = 1, h = 3 or w = 3, h = 1 Task: Floorplan with minimum total area enclosed

14 Floorplanning Problem Inputs:  n Blocks with areas A 1,..., A n  Bounds r i and s i on the aspect ratio of block B i Outputs:  Coordinates (x i, y i ),  width w i and height h i for each block such that: h i.w i = A i and r i  h i /w i  s i Objectives:  Area  ….

Objective Functions Objectives:  Area of global bounding box: −Area of chip (at top level) −  higher performance −  better manufacturing cost  Shape of global bounding box: −Aspect ratio: Close to target shape −E.g., Closer to square (AR = 1) 15

Objective Functions Objectives:  Total wirelength: −Short wires −  faster −  less power consumption −  better routability −  less area (  less cost) 16

17 Wirelength Estimation In floorplanning:  Exact wirelength of each net: not known −Routing not done −Even pin locations may not be known Estimations:  Center-to-center Euclidean estimation (MST for multi-term’l)  Half-perimeter estimation −Relatively accurate for medium-sized and small blocks −Rapid evaluation

18 Deadspace Minimizing area = minimizing deadspace. Deadspace percentage:  ((A -  i A i ) / A)  100% Deadspace

19 Bounds on Aspect Ratios If no bound on the aspect ratios  No deadspace In practice: r i  h i /w i  s i for each i

Objectives Fixed outline floorplan:  Size and dimensions are known (constraint rather than objective) 20

21 Hierarchical Floorplan Hierarchical floorplan of order k:  If it can be obtained by recursively partitioning a rectangle into at most k parts.

22 A Floorplan with Slicing Tree FGHIDEA 8 BC A B C DE FG HI

23 Slicing Floorplans Two possible corresponding slicing trees b d a e c f a cb d e f H V H H V H V H d c e f H V ba © 2011 Springer Verlag Slicing floorplan

24 Slicing Floorplans Polish expression b d a e c f a cb d e f H V H H V B+C  ADEF  ++  Bottom up: V   and H  +  Length 2n-1 (n = Number of leaves of the slicing tree)

25 Non-Slicing Floorplans Non-slicing floorplans (wheels) b d a e c a b c d e © 2011 Springer Verlag

26 Hierarchical Floorplans Floorplan tree: Tree that represents a hierarchical floorplan a b c d e f g h i H H H H V W h i c d e f g a b H H Horizontal division (objects to the top and bottom) H V Vertical division (objects to the left and right) H W Wheel (4 objects cycled around a center object)

27 Linear Programming Approach “An Analytical Approach to Floorplan Design and Optimization”, Sutanthavibul, Shragowitz and Rosen, IEEE Transaction on CAD, 10: , June “An Analytical Approach to Floorplan Design and Optimization”, Sutanthavibul, Shragowitz and Rosen, IEEE Transaction on CAD, 10: , June 1991.

28 Mixed Integer Linear Program A mathematical program such that:  The objective is a linear function.  All constraints are linear functions.  Some variables are real numbers and some are integers, i.e., “mixed integer”. It is almost like a linear program, except that some variables are integers.

29 Problem Formulation Minimize the packing area:  Area is non-linear   Assume that one dimension W is fixed.  Minimize the other dimension Y. Need to have constraints - so that blocks do not overlap. Associate each block B i with 4 variables:  x i and y i : coordinates of its lower left corner.  w i and h i : width and height. W Y

30 Non-overlapping Constraints For two non-overlapping blocks B i and B j, at least one of the following four linear constraints must be satisfied: BiBi BjBj (x i, y i ) (x j, y j ) hihi hjhj wiwi wjwj

31 Integer Variables Use integer (0 or 1) variables x ij and y ij : x ij =0 and y ij =0 if (1) is true. x ij =0 and y ij =1 if (2) is true. x ij =1 and y ij =0 if (3) is true. x ij =1 and y ij =1 if (4) is true. Let W and H be upper bounds on the total width and height. Non-overlapping constraints:

32 Formulation Let W is known.

33 Solving Linear Program Linear Programming (LP) can be solved by classical optimization techniques in polynomial time. Mixed Integer LP (MILP) is NP-Complete.  The run time of the best known algorithm is exponential to the no. of variables and equations.  Groups the modules and processes each group successively. FSF, Free Software Foundation (2006). GLPK (GNU Linear Programming Kit).

34 Example  Desired aspect ratio: 1.  Four fixed modules: m1(4, 5), m2(3, 7), m3(6, 4), and m4(7, 7). −(w, h) −Rotation allowed.  coordinate variables (x1, x2, x3, x4, y1, y2, y3, y4)  upper bound of chip boundary: W =  w i = = 20 H =  h i = = 23

35 non-overlap constraints: x1 + w1 ≤ x2 + 20(x12 + y12) x1 - w2 ≥ x2 - 20(1 - x12 + y12) y1 + h1 ≤ y2 + 23(1 + x12 - y12) y1 - h2 ≥ y2 - 23(2 - x12 - y12) x1 + w1 ≤ x3 + 20(x13 + y13) x1 - w3 ≥ x3 - 20(1 - x13 + y13) y1 + h1 ≤ y3 + 23(1 + x13 - y13) y1 - h3 ≥ y3 - 23(2 - x13 - y13) ….