Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Slides:



Advertisements
Similar presentations
OCV-Aware Top-Level Clock Tree Optimization
Advertisements

X-Architecture Placement Based on Effective Wire Models Tung-Chieh Chen, Yi-Lin Chuang, and Yao-Wen Chang Graduate Institute of Electronics Engineering.
Meng-Kai Hsu, Sheng Chou, Tzu-Hen Lin, and Yao-Wen Chang Electronics Engineering, National Taiwan University Routability Driven Analytical Placement for.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
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.
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.
Routability-Driven Blockage-Aware Macro Placement Yi-Fang Chen, Chau-Chin Huang, Chien-Hsiung Chiou, Yao-Wen Chang, Chang-Jen Wang.
ICS 252 Introduction to Computer Design Routing Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
Placement 1 Outline Goal What is Placement? Why Placement?
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
VLSI Routing. Routing Problem  Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect.
Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand.
Placement Feedback: A Concept and Method for Better Min-Cut Placements Andrew B. KahngSherief Reda CSE & ECE Departments University of CA, San Diego La.
ICS 252 Introduction to Computer Design Lecture 15 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
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 4: Global and Detailed Placement © KLMH Lienig 1 Chapter 4 – Global and Detailed.
Estimation of Wirelength Reduction for λ-Geometry vs. Manhattan Placement and Routing H. Chen, C.-K. Cheng, A.B. Kahng, I. Mandoiu, and Q. Wang UCSD CSE.
ECE Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
Fall 2003EE VLSI Design Automation I 149 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part V: Placement.
VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 18. Global Routing (II)
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 4: Global and Detailed Placement © KLMH Lienig 1 Chapter 4 – Global and Detailed.
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
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.
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
CSE 242A Integrated Circuit Layout Automation Lecture 5: Placement Winter 2009 Chung-Kuan Cheng.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
Global Routing.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 5 Placement Mustafa Ozdal Computer Engineering Department, Bilkent University Mustafa.
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.
ASIC Design Flow – An Overview Ing. Pullini Antonio
Modern VLSI Design 3e: Chapters 1-3 week12-1 Lecture 30 Scale and Yield Mar. 24, 2003.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010.
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.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Modern VLSI Design 2e: Chapter 7 Copyright  1998 Prentice Hall PTR Topics n Block placement. n Global routing. n Switchbox routing.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing © KLMH Lienig 1 What Makes a Design Difficult to Route Charles.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
Fishbone: A Block-Level Placement and Routing Scheme Fan Mo and Robert K. Brayton EECS, UC Berkeley.
Physical Synthesis Comes of Age Chuck Alpert, IBM Corp. Chris Chu, Iowa State University Paul Villarrubia, IBM Corp.
Chris Chu Iowa State University Yiu-Chung Wong Rio Design Automation
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.
Subject : CAD For VLSI (7CS4) 1 Unit 5 Floor-planning, Placement & Routing.
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
6/19/ VLSI Physical Design Automation Prof. David Pan Office: ACES Placement (3)
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
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.
Placement and Routing Algorithms. 2 FPGA Placement & Routing.
VLSI Physical Design Automation
Partial Reconfigurable Designs
Chapter 1 – Introduction
Chapter 7 – Specialized Routing
VLSI Physical Design Automation
Chapter 4 – Global and Detailed Placement
Topics Logic synthesis. Placement and routing..
VLSI Physical Design Automation
ICS 252 Introduction to Computer Design
Presentation transcript:

Placement

Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place the segments on the chip Layout the wire paths 2

Floorplanning and Placement Partitioning:  Circuit divided into smaller modules Floorplanning:  Block outlines are determined Pin Assignment:  Pin locations are determined  Placement  to determine the locations of standard cells or logic elements within each block Objectives:  Total wire length  Performance  … 3

Placement Steps Global placement:  Assigns general locations to movable objects Detailed placement:  Incrementally improves object locations −e.g., swapping cells Legalization:  Before or during detailed placement: −Align cells with rows and columns −Remove overlaps −Should minimize displacement from global placement locations −Minimize impacts on interconnect length and circuit delay 4

5 Placement Stages Global Placement Detailed Placement

Placement Stages Run time:  Of the same order Memory:  Global placement requires much more Parallelism:  Global placement is difficult to parallelize Performance-driven:  More accurate delay information in detailed placement 6

7 Optimization Objectives Total Wirelength Wire Congestion Signal Delay © 2011 Springer Verlag

Consequences of Placement 8

A bad placement A good placement 9

Placement Considerations  Module Shapes:  Rectangular (Possibly Rectilinear)  Aspect Ratio: H/W (constrained)  L-Shape (complex)  Routing Considerations:  Routability  Routing Area Estimation 10

Placement Considerations  High Performance Design:  Critical Nets.  Pre-placed Modules:  E.g. Clock buffer in the middle. 11

Routing Length Estimation Interconnects:  Unknown during placement  Estimate Two-terminal nets:  Euclidean distance  Manhattan distance (rectilinear distance)  Octilinear distance 12

13 Wirelength estimation for a net Objectives: Total Wirelength Half- perimeter wirelength (HPWL) HPWL = Complete graph (clique) Clique Length = (2/p)  e  clique d M (e) = 14.5 Monotone chain Chain Length = Star model Star Length = Sait, S. M., Youssef, H.: VLSI Physical Design Automation, World Scientific

Objectives: Total Worelength Star:  One pin as the source  Useful for timing optimization  Uses only p-1 edges −  advantageous for high pin count nets  Overestimates wirelength 14

Objectives: Total Wirelength Complete graph (clique):  p pins −  No. of edges: 15  Spanning tree: −  No. of edges: p – 1  Normalization factor: p/2

16 Sait, S. M., Youssef, H.: VLSI Physical Design Automation, World Scientific Objectives: Total Wirelength Rectilinear minimum spanning tree (RMST) RMST Length = Rectilinear Steiner minimum tree (RSMT) RSMT Length = Rectilinear Steiner arborescence model (RSA) RSA Length = Single- trunk Steiner tree (STST) STST Length = Wirelength estimation for a net (cont’d)

Objectives: Total Wirelength RSA:  One pin as the source: s 0  Path length from s 0 to any s i must be equal to s 0 ~ s i Manhattan distance  Minimum length RSA: NP-hard STST:  Easy to construct  Commonly used for estimation 17

18 Preferred method: Half-perimeter wirelength (HPWL)  Fast (order of magnitude faster than RSMT)  RSMT: NP-hard  = RSMT for 2- and 3-pin nets (70%-80% of nets in most modern designs)  Margin of error for real circuits approx. 8% [Chu, ICCAD 04] Objectives: Total Wirelength RSMT Length = HPWL = w h

19 Objectives: Total Wirelength Total wirelength with net weights (weighted wirelength) For a placement P  estimated total weighted wirelength: a b d c f e b1b1 e1e1 c1c1 a1a1 d1d1 d2d2 f2f2 f1f1 NetsWeights N 1 = (a 1, b 1, d 2 )w(N 1 ) = 2 N 2 = (c 1, d 1, f 1 )w(N 2 ) = 4 N 3 = (e 1, f 2 )w(N 3 ) = 1 w(net): weight of net L(net): estimated wirelength of net Example:

Objectives: Congestion Two choices:  Channel-based  Channel segment-based Channel Segment 20

Cost Function Using Channel For each channel i w i : total number of nets whose bounding rectangles intersect with channel i: w 1 =0 w 2 =2 w 3 =1 w 4 =1 w 5 =1 w 6 =0 Net-Crossing Histogram 21

 Assign a threshold value t i on the wiring capacity for each channel i. −Cost function = Total wire length +   i (max{w i -t i, 0}) 2 Cost Function Using Channel 22

Cost Function Using Channel Segment For each net j,  R j : bounding rectangle  p j : half perimeter of R j  l j : number of channel segments that intersected or enclosed by R j. Expected occupancy of net j in each segments  p j / l j w i of a segment i =  sum of all the expected occupancy in i 23

Cost Function Using Channel Segment Cost function = Total wirelength +   i (max{w i -t i, 0}) 2 Expected Occupancy = 2/4 Expected Occupancy = 3/7 w i = 2/4+3/7 24

Objectives: Delay Delay:  Static timing analysis: −For each path p, if delay(p) > timing budget (p)  Timing is violated - details: later 25

Placement Problem Formulation Blocks: B 1, …, B n B i :(w i, h i ) Nets: N 1, …, N m Net Length Estimation for N i : L i Rectangular Spaces for Routing: Q 1, …, Q k 26

Placement Problem Formulation NP-Complete Problem Find the position and orientation of all B i ’s such that: 27

Macrocell Placement Different Block Sizes and Shapes. Primary Objective Function: Area.  The main cause of area waste: non-regularity. Opposite to Connection Length Objective? 28

Standard-Cell Placement Equal Height Cells  Easier Placement in Rows. Area Minimization:  Minimize Total Height  Minimize Widest Width  (Balance in Row Widths) 29

Gate Array Placement Mapping Components to Gates.  Inputs: −A set of blocks: {B 1, …, B n }, −A set of slots: {S 1, …, S r } (r >= n)  Objective: −Map B i ’s to S j ’s such that no two blocks map onto one slot −And the result is routable. e.g. FPGA. Customized WiringPrefabricated gates 30

Placement Algorithms Classification Constructive Iterative Improvement Global Placement Algorithms 31

Placement Algorithms Classification Deterministic Stochastic Global Placement Algorithms 32

Placement Algorithms Classification Simulation- Based Analytical Global Placement Algorithms Partitioning -Based …. 33

Placement Algorithms Classification Simulation- Based 34 Simulated annealing Simulated evolution Force-directed Neural networks ….

Placement Algorithms Classification Partitioning -Based 35 Breuer Min-cut Terminal propagation Dragon (UCLA) Capo (Michigan) ….

Placement Algorithms Classification Analytical 36 Quadratic placement ILP-based ….