Chapter 3 Chip Planning

Similar documents
Routing ( Introduction to Computer-Aided Design) School of EECS Seoul National University

Very Large Scale Integration (VLSI)

Disseny físic. Disseny en Standard Cells. Enric Pastor Rosa M. Badia Ramon Canal DM Tardor DM, Tardor

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Lecture 9: Cell Design Issues

Ruixing Yang

Introduction to CMOS VLSI Design (E158) Lecture 9: Cell Design

A 0.9 V Low-power 16-bit DSP Based on a Top-down Design Methodology

Chapter 8: Timing Closure

Lecture #2 Solving the Interconnect Problems in VLSI

A Theoretical Upper Bound for IP-Based Floorplanning

Noise Constraint Driven Placement for Mixed Signal Designs. William Kao and Wenkung Chu October 20, 2003 CAS IEEE SCV Meeting

(Lec19) Geometric Data Structures for Layouts

Analog-aware Schematic Synthesis

CS 6135 VLSI Physical Design Automation Fall 2003

ALPS: An Automatic Layouter for Pass-Transistor Cell Synthesis

Blockage and Voltage Island-Aware Dual-VDD Buffered Tree Construction

Linear Constraint Graph for Floorplan Optimization with Soft Blocks

Lecture 1. Tinoosh Mohsenin

EECS 427 Lecture 21: Design for Test (DFT) Reminders

CMOS VLSI IC Design. A decent understanding of all tasks required to design and fabricate a chip takes years of experience

Low Power Design Methods: Design Flows and Kits

Low-Power Digital CMOS Design: A Survey

Studies of Timing Structural Properties for Early Evaluation of Circuit Design

VLSI System Testing. Outline

Jack Keil Wolf Lecture. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. Lecture Outline. MOSFET N-Type, P-Type.

EE 434 ASIC and Digital Systems. Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University.

PROGRAMMABLE ASIC INTERCONNECT

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Fast Placement Optimization of Power Supply Pads

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

A New Method for the Visualization Binary Trees using L-Systems

LSI Design Flow Development for Advanced Technology

An Efficient Multilayer MCM Router Based on Four-Via Routing

Placement and Routing of RF Embedded Passive Designs In LCP Substrate

Advanced In-Design Auto-Fixing Flow for Cell Abutment Pattern Matching Weakpoints

FLOORPLANNING AND PLACEMENT

Twin Binary Sequences: A Nonredundant Representation for General Nonslicing Floorplan

! Review: MOS IV Curves and Switch Model. ! MOS Device Layout. ! Inverter Layout. ! Gate Layout and Stick Diagrams. ! Design Rules. !

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Global and detailed routing

Nanowire-Based Programmable Architectures

Lecture 23 Encounter in Depth and Conclusion

Policy-Based RTL Design

Sticks Diagram & Layout. Part II

EE 434 ASIC & Digital Systems

Exploiting Regularity for Low-Power Design

ESE534: Computer Organization. Previously. Wires and VLSI. Today. Visually: Wires and VLSI. Preclass 1

! Review: MOS IV Curves and Switch Model. ! MOS Device Layout. ! Inverter Layout. ! Gate Layout and Stick Diagrams. ! Design Rules. !

Digital Integrated CircuitDesign

Electronic Design Automation at Transistor Level by Ricardo Reis. Preamble

EE-382M-8 VLSI II. Early Design Planning: Back End. Mark McDermott. The University of Texas at Austin. EE 382M-8 VLSI-2 Page Foil # 1 1

PROCESS-VOLTAGE-TEMPERATURE (PVT) VARIATIONS AND STATIC TIMING ANALYSIS

User2User The 2007 Mentor Graphics International User Conference

An Efficient PG Planning with Appropriate Utilization Factors Using Different Metal Layer

Dr. Leon Stok Vice President, Electronic Design Automation IBM Systems and Technology Group Hopewell Junction, NY

Scheduling. Radek Mařík. April 28, 2015 FEE CTU, K Radek Mařík Scheduling April 28, / 48

TFA: A Threshold-Based Filtering Algorithm for Propagation Delay and Output Slew Calculation of High-Speed VLSI Interconnects

Layout - Line of Diffusion. Where are we? Line of Diffusion in General. Line of Diffusion in General. Stick Diagrams. Line of Diffusion in General

PHYSICAL STRUCTURE OF CMOS INTEGRATED CIRCUITS. Dr. Mohammed M. Farag

Machine Learning for Next Generation EDA. Paul Franzon, NCSU (Site Director) Cirrus Logic Distinguished Professor Director of Graduate Programs

Automated Place and Route Methodologies. For Multi-project Test Chips. Christopher Lieb

EDA Challenges for Low Power Design. Anand Iyer, Cadence Design Systems

Design Rules, Technology File, DRC / LVS

! MOS Device Layout. ! Inverter Layout. ! Gate Layout and Stick Diagrams. ! Design Rules. ! Standard Cells. ! CMOS Process Enhancements

Design and Analysis of Row Bypass Multiplier using various logic Full Adders

Low Power VLSI Circuit Synthesis: Introduction and Course Outline

Period and Glitch Reduction Via Clock Skew Scheduling, Delay Padding and GlitchLess

Fixing Antenna Problem by Dynamic Diode Dropping and Jumper Insertion

The backend duplication method

AN EFFICIENT APPROACH TO MINIMIZE POWER AND AREA IN CARRY SELECT ADDER USING BINARY TO EXCESS ONE CONVERTER

An Interconnect-Centric Approach to Cyclic Shifter Design

Timing Issues in FPGA Synchronous Circuit Design

Design and Implementation of Complex Multiplier Using Compressors

Learning Outcomes. Spiral 2 8. Digital Design Overview LAYOUT

Decoupling Capacitance

ASICs Concept to Product

SUBSTRATE NOISE FULL-CHIP LEVEL ANALYSIS FLOW FROM EARLY DESIGN STAGES TILL TAPEOUT. Hagay Guterman, CSR Jerome Toublanc, Ansys

Technology Timeline. Transistors ICs (General) SRAMs & DRAMs Microprocessors SPLDs CPLDs ASICs. FPGAs. The Design Warrior s Guide to.

Interconnect-Power Dissipation in a Microprocessor

PRFloor: An Automatic Floorplanner for Partially Reconfigurable FPGA Systems

Using a Voltage Domain Programmable Technique for Low-Power Management Cell-Based Design

UNIT-III POWER ESTIMATION AND ANALYSIS

9.5 symmetry 2017 ink.notebook. October 25, Page Symmetry Page 134. Standards. Page Symmetry. Lesson Objectives.

BASIC PHYSICAL DESIGN AN OVERVIEW The VLSI design flow for any IC design is as follows

The Physical Design of Long Time Delay-chip

CHAPTER 1 INTRODUCTION

ICCAD 2014 Contest Incremental Timing-driven Placement: Timing Modeling and File Formats v1.1 April 14 th, 2014

A New network multiplier using modified high order encoder and optimized hybrid adder in CMOS technology

Zhan Chen and Israel Koren. University of Massachusetts, Amherst, MA 01003, USA. Abstract

10/5/2015. Constraint Satisfaction Problems. Example: Cryptarithmetic. Example: Map-coloring. Example: Map-coloring. Constraint Satisfaction Problems

Dual-K K Versus Dual-T T Technique for Gate Leakage Reduction : A Comparative Perspective

Propagation Delay, Circuit Timing & Adder Design. ECE 152A Winter 2012

Propagation Delay, Circuit Timing & Adder Design

Chapter 4 Number Theory

Dummy Fill as a Reduction to Chip-Firing

Wire Layer Geometry Optimization using Stochastic Wire Sampling

Design of Parallel Algorithms. Communication Algorithms

A comparative study of different feature sets for recognition of handwritten Arabic numerals using a Multi Layer Perceptron

AMCHIP5 characterization tests

Transcription:

Chapter 3 Chip Planning 3.1 Introduction to Floorplanning 3. Optimization Goals in Floorplanning 3.3 Terminology 3.4 Floorplan Representations 3.4.1 Floorplan to a Constraint-Graph Pair 3.4. Floorplan to a Sequence Pair 3.4.3 Sequence Pair to a Floorplan 3.5 Floorplanning Algorithms 3.5.1 Floorplan Sizing 3.5. Cluster Growth 3.5.3 Simulated Annealing 3.5.4 Integrated Floorplanning Algorithms 3.6 Pin Assignment 3.7 Power and Ground Routing 3.7.1 Design of a Power-Ground Distribution Network 3.7. Planar Routing 3.7.3 Mesh Routing VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 1

3.1 Introduction System Specification ENTITY test is port a: in bit; end ENTITY test; Architectural Design Functional Design and Logic Design Partitioning Chip Planning Circuit Design Placement Physical Design Clock Tree Synthesis DRC LVS ERC Physical Verification and Signoff Fabrication Packaging and Testing Signal Routing Timing Closure Chip VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning

3.1 Introduction Module a I/O Pads Floorplan Module c Module d Module b Chip Planning GND Block a Block b Block Pins Block e Block c Block d VDD Module e Supply Network 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 3

3.1 Introduction Example Given: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w =, h = Block B: w = 1, h = or w =, h = 1 Block C: w = 1, h = 3 or w =, h = or w = 4, h = 1 Task: Floorplan with minimum total area enclosed A B C A B C A C VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 4

3.1 Introduction Example Given: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w =, h = Block B: w = 1, h = or w =, h = 1 Block C: w = 1, h = 3 or w =, h = or w = 4, h = 1 Task: Floorplan with minimum total area enclosed VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 5

3.1 Introduction Example Given: Three blocks with the following potential widths and heights Block A: w = 1, h = 4 or w = 4, h = 1 or w =, h = Block B: w = 1, h = or w =, h = 1 Block C: w = 1, h = 3 or w =, h = or w = 4, h = 1 Task: Floorplan with minimum total area enclosed Solution: Aspect ratios Block A with w =, h = ; Block B with w =, h = 1; Block C with w = 1, h = 3 This floorplan has a global bounding box with minimum possible area (9 square units). VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 6

3. Optimization Goals in Floorplanning Area and shape of the global bounding box Global bounding box of a floorplan is the minimum axis-aligned rectangle that contains all floorplan blocks. Area of the global bounding box represents the area of the top-level floorplan Minimizing the area involves finding (x,y) locations, as well as shapes, of the individual blocks. Total wirelength Long connections between blocks may increase signal propagation delays in the design. Combination of area area(f) and total wirelength L(F) of floorplan F Minimize α area(f) + (1 α) L(F) where the parameter 0 α 1 gives the relative importance between area(f) and L(F) Signal delays Static timing analysis is used to identify the interconnects that lie on critical paths. VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 7

3.3 Terminology A rectangular dissection is a division of the chip area into a set of blocks or non-overlapping rectangles. A slicing floorplan is a rectangular dissection Obtained by repeatedly dividing each rectangle, starting with the entire chip area, into two smaller rectangles Horizontal or vertical cut line. A slicing tree or slicing floorplan tree is a binary tree with k leaves and k 1 internal nodes Each leaf represents a block Each internal node represents a horizontal or vertical cut line. VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 8

3.3 Terminology Slicing floorplan and two possible corresponding slicing trees V V b c H H H H a e d f a b c d H V a b d c H V 011 Springer Verlag e f e f VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 9

3.3 Terminology Polish expression V b c H H e f a b c H AB+CDEF ++ a d d V e f Bottom up: V and H + Length n-1 (n = Number of leaves of the slicing tree) VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 10

3.3 Terminology Non-slicing floorplans (wheels) a b e d c a d e b c 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 11

3.3 Terminology Floorplan tree: Tree that represents a hierarchical floorplan b a c d g f e H V H H W h i h i a b c d e f g 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 1

3.3 Terminology A constraint-graph pair is a floorplan representation that consists of two directed graphs vertical constraint graph and horizontal constraint graph which capture the relations between block positions. In a vertical constraint graph (VCG), node weights represent the heights of the corresponding blocks. Two nodes v i and v j, with corresponding blocks m i and m j, are connected with a directed edge from v i to v j if m i is below m j. In a horizontal constraint graph (HCG), node weights represent the widths of the corresponding blocks. Two nodes v i and v j, with corresponding blocks m i and m j, are connected with a directed edge from v i to v j if m i is to the left of m j. The longest path(s) in the VCG / HCG correspond(s) to the minimum vertical / horizontal floorplan span required to pack the blocks (floorplan height / width). VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 13

3.3 Terminology Constraint graphs b a c d g f e b t d g e s b a h i d c h g e f t a c h i s f Vertical Constraint Graph Horizontal Constraint Graph i 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 14

3.3 Terminology Sequence pair Two permutations represent geometric relations between every pair of blocks Example: (ABDCE, CBAED) A B C D E Horizontal and vertical relations between blocks A and B: ( A B, A B ) A is left of B ( A B, B A ) A is above B ( B A, A B ) A is below B ( B A, B A ) A is right of B VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 15

3.5 Floorplanning Algorithms 3.1 Introduction to Floorplanning 3. Optimization Goals in Floorplanning 3.3 Terminology 3.4 Floorplan Representations 3.4.1 Floorplan to a Constraint-Graph Pair 3.4. Floorplan to a Sequence Pair 3.4.3 Sequence Pair to a Floorplan 3.5 Floorplanning Algorithms 3.5.1 Floorplan Sizing 3.5. Cluster Growth 3.5.3 Simulated Annealing 3.5.4 Integrated Floorplanning Algorithms 3.6 Pin Assignment 3.7 Power and Ground Routing 3.7.1 Design of a Power-Ground Distribution Network 3.7. Planar Routing 3.7.3 Mesh Routing VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 16

3.5.1 Floorplan Sizing Shape functions h Legal shapes h a * a w A w h Legal shapes w Block with minimum width and height restrictions Otten, R.: Efficient Floorplan Optimization. Int. Conf. on Computer Design, 499-50, 1983 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 17

3.5.1 Floorplan Sizing Otten, R.: Efficient Floorplan Optimization. Int. Conf. on Computer Design, 499-50, 1983 Shape functions h h w w Discrete (h,w) values Hard library block VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 18

3.5.1 Floorplan Sizing Corner points h 5 5 5 5 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 19

3.5.1 Floorplan Sizing Algorithm Construct the shape functions of all individual blocks Bottom up: Determine the shape function of the top-level floorplan from the shape functions of the individual blocks Top down: From the corner point that corresponds to the minimum top-level floorplan area, trace back to each block s shape function to find that block s dimensions and location. VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 0

3.5.1 Floorplan Sizing Example Step 1: Construct the shape functions of the blocks Block A: 5 3 3 5 Block B: 4 4 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 1

3.5.1 Floorplan Sizing Example Step 1: Construct the shape functions of the blocks Block A: 3 5 h Block B: 5 3 6 5 4 4 4 3 4 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning

3.5.1 Floorplan Sizing Example Step 1: Construct the shape functions of the blocks Block A: 3 5 h 5 3 6 Block B: 4 4 3 4 4 5 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 3

3.5.1 Floorplan Sizing Example Step 1: Construct the shape functions of the blocks Block A: 3 5 h 5 3 6 Block B: 4 h A (w) 4 4 4 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 4

3.5.1 Floorplan Sizing Example Step 1: Construct the shape functions of the blocks Block A: 3 5 h 5 3 6 Block B: 4 h A (w) 4 h B (w) 4 4 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 5

3.5.1 Floorplan Sizing Example Step : Determine the shape function of the top-level floorplan (vertical) h 8 6 4 h A (w) h B (w) 4 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 6

3.5.1 Floorplan Sizing Example Step : Determine the shape function of the top-level floorplan (vertical) h 8 6 4 h A (w) h B (w) 4 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 7

3.5.1 Floorplan Sizing Example Step : Determine the shape function of the top-level floorplan (vertical) h h 8 8 6 4 h A (w) h B (w) 6 4 h C (w) h A (w) h B (w) 4 6 w 4 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 8

3.5.1 Floorplan Sizing Example Step : Determine the shape function of the top-level floorplan (vertical) h h 8 8 6 4 h A (w) h B (w) 6 4 h C (w) h A (w) h B (w) 5 x 5 4 6 w 4 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 9

3.5.1 Floorplan Sizing Example Step : Determine the shape function of the top-level floorplan (vertical) h h 3 x 9 8 8 6 4 h A (w) h B (w) 6 4 h C (w) h A (w) h B (w) 4 x 7 5 x 5 4 6 w 4 6 w VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 30

3.5.1 Floorplan Sizing Example Step : Determine the shape function of the top-level floorplan (vertical) h h 3 x 9 8 8 6 4 h A (w) h B (w) 6 4 h C (w) h A (w) h B (w) 4 x 7 5 x 5 4 6 w 4 6 w Minimimum top-level floorplan with vertical composition VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 31

3.5.1 Floorplan Sizing Example Step : Determine the shape function of the top-level floorplan (horizontal) h B (w) h A (w) h B (w) h A (w) h C (w) h h 5 x 5 6 4 6 4 7 x 4 4 6 8 w 4 6 8 w 9 x 3 Minimimum top-level floorplan with horizontal composition VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 3

3.5.1 Floorplan Sizing Example Step 3: Find the individual blocks dimensions and locations h 6 4 (1) Minimum area floorplan: 5 x 5 4 6 8 w Horizontal composition VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 33

3.5.1 Floorplan Sizing Example Step 3: Find the individual blocks dimensions and locations h 6 4 (1) Minimum area floorplan: 5 x 5 () Derived block dimensions : x 4 und 3 x 5 4 6 8 w Horizontal composition VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 34

3.5.1 Floorplan Sizing Example Step 3: Find the individual blocks dimensions and locations h 6 4 (1) Minimum area floorplan: 5 x 5 5 x 5 () Derived block dimensions : x 4 und 3 x 5 4 6 8 Horizontal composition w x 4 3 x 5 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 35

3.5.1 Floorplan Sizing Example 5 x 5 V B A Resulting slicing tree B A x 4 3 x 5 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 36

3.5. Cluster Growth h h h Growth direction 6 b 6 b c a a a w w w 4 4 4 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 37

3.5. Cluster Growth Linear Ordering New nets have no pins on any block from the partially-constructed ordering Terminating nets have no other incident blocks that are unplaced Continuing nets have at least one pin on a block from the partially-constructed ordering and at least one pin on an unordered block Terminating nets New nets Continuing nets VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 38

3.5. Cluster Growth Linear Ordering Gain of each block m is calculated: Gain m = (Number of terminating nets of m) (New nets of m) N 1 Gain B = 1 1 = 0 A B N 4 The block with the maximum gain is selected to be placed next VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 39

3.5. Cluster Growth Linear Ordering (Example) Given: Netlist with five blocks A, B, C, D, E and six nets N 1 = {A, B} N = {A, D} N 3 = {A, C, E} N 4 = {B, D} N 5 = {C, D, E} N 6 = {D, E} Initial block: A N 3 N 1 N 5 A B C D E N N 6 N 4 Task: Linear ordering with minimum netlength VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 40

N 3 N 1 N 5 A B C D E N N 6 N 4 Iteration # 0 1 3 4 B C Initial block D E N 3 N 1 Block A C D E C E C New Nets N 1,N,N 3-3 N 4 N 1 0 N 5-1 N 3 N 4 Gain,N 5,N A 6 = (Number Nof terminating -nets of A) (New nets of A) N 5,N 6 - N 3 N,N 4-1 0 - N 3 N 3 N 5 N 5,N 6 N 5,N 6 N 4 N 5 Terminating Nets N 6 N 3,N 5 Gain 0 1 Continuing Nets N 3,N 5 N 3,N 5 A B D E C N N 6 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 41

N 3 N 1 N 5 A B C D E N N 6 N 4 Iteration # Block New Nets Terminating Nets Gain Continuing Nets 0 A N 1,N,N 3-3 1 B C D E C D E N 4 N 5 N 4,N 5,N 6 N 5,N 6 N 5 N 5,N 6 N 5,N 6 N 1 N N,N 4 0-1 - - -1 0 - N 3 N 3 N 3 N 3 3 4 N 3 N 1 C E C N 4 N 5 N 6 N 3,N 5 0 1 N 3,N 5 N 3,N 5 A B D E C N N 6 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 4

N 3 N 1 N 5 A B C D E N N 6 N 4 Iteration # Block New Nets Terminating Nets Gain Continuing Nets 0 A N 1,N,N 3-3 1 B C D E C D E N 4 N 5 N 4,N 5,N 6 N 5,N 6 N 5 N 5,N 6 N 5,N 6 N 1 N N,N 4 0-1 - - -1 0 - N 3 N 3 N 3 N 3 3 4 N 3 N 1 C E C N 4 N 5 N 6 N 3,N 5 0 1 N 3,N 5 N 3,N 5 A B D E C N N 6 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 43

N 3 N 1 N 5 A B C D E N N 6 N 4 Iteration # Block New Nets Terminating Nets Gain Continuing Nets 0 A N 1,N,N 3-3 1 B C D E C D E N 4 N 5 N 4,N 5,N 6 N 5,N 6 N 5 N 5,N 6 N 5,N 6 N 1 N N,N 4 0-1 - - -1 0 - N 3 N 3 N 3 N 3 3 4 C E C N 6 N 3,N 5 0 1 N 3,N 5 N 3,N 5 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 44

3.5. Cluster Growth Linear Ordering (Example) N 3 N 1 N 5 A B C D E N N 6 N 4 N 1 N 4 N 5 N 3 A B D E C N N 6 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 45

3.5. Cluster Growth Algorithm Input: set of all blocks M, cost function C Output: optimized floorplan F based on C F = Ø order = LINEAR_ORDERING(M) for (i = 1 to order ) curr_block = order[i] ADD_TO_FLOORPLAN(F,curr_block,C) // generate linear ordering // find location and orientation // of curr_block that causes // smallest increase based on // C while obeying constraints VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 46

3.5.3 Simulated Annealing Algorithm Cost Initial solution Local optimum Global optimum Solution states VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 47

3.5.3 Simulated Annealing Algorithm VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 48

3.5.3 Simulated Annealing Algorithm Input: initial solution init_sol Output: optimized new solution curr_sol T = T 0 // initialization i = 0 curr_sol = init_sol curr_cost = COST(curr_sol) while (T > T min ) while (stopping criterion is not met) i = i + 1 (a i,b i ) = SELECT_PAIR(curr_sol) // select two objects to perturb trial_sol = TRY_MOVE(a i,b i ) // try small local change trial_cost = COST(trial_sol) cost = trial_cost curr_cost if ( cost < 0) // if there is improvement, curr_cost = trial_cost // update the cost and curr_sol = MOVE(a i,b i ) // execute the move else r = RANDOM(0,1) // random number [0,1] if (r < e Δcost/T ) // if it meets threshold, curr_cost = trial_cost // update the cost and curr_sol = MOVE(a i,b i ) // execute the move T = α T // 0 < α < 1, T reduction 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 49

3.6 Pin Assignment 3.1 Introduction to Floorplanning 3. Optimization Goals in Floorplanning 3.3 Terminology 3.4 Floorplan Representations 3.4.1 Floorplan to a Constraint-Graph Pair 3.4. Floorplan to a Sequence Pair 3.4.3 Sequence Pair to a Floorplan 3.5 Floorplanning Algorithms 3.5.1 Floorplan Sizing 3.5. Cluster Growth 3.5.3 Simulated Annealing 3.5.4 Integrated Floorplanning Algorithms 3.6 Pin Assignment 3.7 Power and Ground Routing 3.7.1 Design of a Power-Ground Distribution Network 3.7. Planar Routing 3.7.3 Mesh Routing VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 50

3.6 Pin Assignment During pin assignment, all nets (signals) are assigned to unique pin locations such that the overall design performance is optimized. Pin Assignment 90 Pins 90 Pins 90 Connections 90 Pins 90 Pins 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 51

3.6 Pin Assignment Example Given: Two sets of pins (1) Determine the circles Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 5

3.6 Pin Assignment Example () Determine the points Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 53

3.6 Pin Assignment Example () Determine the points Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 54

3.6 Pin Assignment Example (3) Determine initial mapping Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 55

3.6 Pin Assignment Example (3) Determine initial mapping and (4) optimize the mapping (complete rotation) Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 56

3.6 Pin Assignment Example (3) Determine initial mapping and (4) optimize the mapping (complete rotation) Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 57

3.6 Pin Assignment Example (4) Best mapping (shortest Euclidean distance) Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 58

3.6 Pin Assignment Example (4) Best mapping Final pin assignment Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 59

3.6 Pin Assignment H. N. Brady, An Approach to Topological Pin Assignment, IEEE Trans. on CAD 3(3) (1984), pp. 50-55 Pin assignment to an external block B m B B B m m l VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 60

3.6 Pin Assignment Pin assignment to two external blocks A and B H. N. Brady, An Approach to Topological Pin Assignment, IEEE Trans. on CAD 3(3) (1984), pp. 50-55 l m~a a 8 a 7 a 6 a 5 d 1 a l m~b d d 3 b a m a 1 a 3 b 1 b b 3 b 4 b 5 b 6 b 7 b 8 a 4 a 5 a 6 a 7 m a 8 d1 ~d d3 ~d 3 d ~d 1 a a a 4 1 a a 3 b 8 b 7 b 6 b 5 b b 1 b 4 b b 3 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 61

3.7 Power and Ground Routing 3.1 Introduction to Floorplanning 3. Optimization Goals in Floorplanning 3.3 Terminology 3.4 Floorplan Representations 3.4.1 Floorplan to a Constraint-Graph Pair 3.4. Floorplan to a Sequence Pair 3.4.3 Sequence Pair to a Floorplan 3.5 Floorplanning Algorithms 3.5.1 Floorplan Sizing 3.5. Cluster Growth 3.5.3 Simulated Annealing 3.5.4 Integrated Floorplanning Algorithms 3.6 Pin Assignment 3.7 Power and Ground Routing 3.7.1 Design of a Power-Ground Distribution Network 3.7. Planar Routing 3.7.3 Mesh Routing VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 6

3.7 Power and Ground Routing Power-ground distribution for a chip floorplan G V G V Power and ground rings per block or abutted blocks V G V G V G V G V G V G V G V Trunks connect rings to each other or to top-level power ring 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 63

3.7 Power and Ground Routing Planar routing GND VDD Hamiltonian path 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 64

3.7 Power and Ground Routing Planar routing Step 1: Planarize the topology of the nets As both power and ground nets must be routed on one layer, the design should be split using the Hamiltonian path Step : Layer assignment Net segments are assigned to appropriate routing layers Step 3: Determining the widths of the net segments A segment s width is determined from the sum of the currents from all the cells to which it connects VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 65

3.7 Power and Ground Routing Planar routing GND VDD Generating topology of the two supply nets Adjusting widths of the segments with regard to their current loads 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 66

3.7 Power and Ground Routing Mesh routing Step 1: Creating a ring A ring is constructed to surround the entire core area of the chip, and possibly individual blocks. Step : Connecting I/O pads to the ring Step 3: Creating a mesh A power mesh consists of a set of stripes at defined pitches on two or more layers Step 4: Creating Metal1 rails Power mesh consists of a set of stripes at defined pitches on two or more layers Step 5: Connecting the Metal1 rails to the mesh VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 67

3.7 Power and Ground Routing Mesh routing Power rail Connector Ring Pad Mesh 011 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 68

3.7 Power and Ground Routing Mesh routing 1µ Metal4 mesh µ Metal6 mesh 4µ Metal8 mesh 16µ 1µ Metal5 mesh 16µ 4µ Metal7 mesh 16µ Metal4 Via3 Metal3 Via Metal Via1 Metal1 VDD Metal4 mesh Metal1 rail GND rail VDD rail M1-to-M4 connection GND Metal4 mesh Metal6 Via5 Metal5 Via4 Metal4 M4-to-M6 connection Metal8 Via7 Metal7 Via6 Metal6 M6-to-M8 connection VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 69 011 Springer Verlag

Summary of Chapter 3 Objectives and Terminology Traditional floorplanning Assumes area estimates for top-level circuit modules Determines shapes and locations of circuit modules Minimizes chip area and length of global interconnect Additional aspects Assigning/placing I/O pads Defining channels between blocks for routing and buffering Design of power and ground networks Estimation and optimization of chip timing and routing congestion Fixed-outline floorplanning Chip size is fixed, focus on interconnect optimization Can be applied to individual chip partitions (hierarchically) Structure and types of floorplans Slicing versus non-slicing, the wheels Hierarchical Packed Zero-deadspace VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 70

Summary of Chapter 3 Data Structures for Floorplanning Slicing trees and Polish expressions Evaluating a floorplan represented by a Polish expression Horizontal and vertical constraint graphs A data structure to capture (non-slicing) floorplans Longest paths determine floorplan dimensions Sequence pair An array-based data structure that captures the information contained in H+V constraint graphs Makes constraint graphs unnecessary in practice Floorplan sizing Shape-function arithmetic An algorithm for slicing floorplans VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 71

Summary of Chapter 3 Algorithms for Floorplanning Cluster growth Simple, fast and intuitive Not competitive in practice Simulated annealing Stochastic optimization with hill-climbing Many details required for high-quality implementation (e.g., temperature schedule) Difficult to debug, fairly slow Competitive in practice Pin assignment Peripheral I/Os versus area-array I/Os Given "ideal locations", project them onto perimeter and shift around, while preserving initial ordering Power and ground routing Planar routing in channels between blocks Can form rings around blocks to increase current supplied and to improve reliability Mesh routing VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 7