Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi.

Slides:



Advertisements
Similar presentations
Analysis of Floorplanning Algorithm in EDA Tools
Advertisements

L30: Partitioning 성균관대학교 조 준 동 교수
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Paul Falkenstern and Yuan Xie Yao-Wen Chang Yu Wang Three-Dimensional Integrated Circuits (3D IC) Floorplan and Power/Ground Network Co-synthesis ASPDAC’10.
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.
Early Days of Circuit Placement Martin D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
Congestion Driven Placement for VLSI Standard Cell Design Shawki Areibi and Zhen Yang School of Engineering, University of Guelph, Ontario, Canada December.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 11 - Combinational.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 21 - Floorplanning.
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. Sait Habib Youssef Junaid A. KhanAimane El-Maleh Department of Computer.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
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.
Floorplanning Professor Lei He
ICS 252 Introduction to Computer Design Lecture 14 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
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.
Reconfigurable Computing (EN2911X, Fall07)
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. SaitHabib Youssef Junaid A. KhanAimane El-Maleh Department of Computer Engineering.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
Placement-Centered Research Directions and New Problems Xiaojian Yang Amir Farrahi Synplicity Inc.
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.
General Routing Overview and Channel Routing
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
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
Area-I/O Flip-Chip Routing for Chip-Package Co-Design Progress Report 方家偉、張耀文、何冠賢 The Electronic Design Automation Laboratory Graduate Institute of Electronics.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Global Routing.
Lecture 12 Review and Sample Exam Questions Professor Lei He EE 201A, Spring 2004
CAD for Physical Design of VLSI Circuits
Etron Project: Placement and Routing for Chip-Package-Board Co-Design
CSE 494: Electronic Design Automation Lecture 4 Partitioning.
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
ASIC Design Flow – An Overview Ing. Pullini Antonio
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
HDL-Based Layout Synthesis Methodologies Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
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.
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.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
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.
ECE 260B – CSE 241A /UCB EECS Kahng/Keutzer/Newton Physical Design Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
Detailed Routing مرتضي صاحب الزماني.
Simulated Annealing in 512 bytes EMICRO2004 Microelectronics School Marcelo Johann B R A Z I L.
Routability-driven Floorplanning With Buffer Planning Chiu Wing Sham Evangeline F. Y. Young Department of Computer Science & Engineering The Chinese University.
Subject : CAD For VLSI (7CS4) 1 Unit 5 Floor-planning, Placement & Routing.
ICS 252 Introduction to Computer Design
CprE566 / Fall 06 / Prepared by Chris ChuPartitioning1 CprE566 Partitioning.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
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.
VLSI Physical Design Automation
Partial Reconfigurable Designs
VLSI Quadratic Placement
EE5780 Advanced VLSI Computer-Aided Design
Topics Logic synthesis. Placement and routing..
Register-Transfer (RT) Synthesis
UNIT-III Logic Gates and other Complex gates, Switch logic, Alternate gate circuits Physical Design, Floor Planning, Placement – Routing, Power Delay.
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi

6.375 Spring 2007 L14 2 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 a b s q 0 1 d

6.375 Spring 2007 L14 3 Physical design – overall flow Placement Cost Estimation Routing Region Definition Global Routing Compaction/clean-up Detailed Routing Cost Estimation Write Layout Database Floorplanning Partitioning Improvement Cost Estimation Improvement

6.375 Spring 2007 L14 4 Partitioning  Decompose a large complex system into smaller subsystems  Decompose hierarchically until each subsystem is of manageable size  Design each subsystem separately to speed up the process  Minimize connection between two subsystems to reduce interdependency

6.375 Spring 2007 L14 5 Partitioning at different levels* * © Sherwani 92

6.375 Spring 2007 L14 6 Partitioning example* * © Sherwani 92

6.375 Spring 2007 L14 7 Partitioning problem  Objective: Minimize interconnections between partitions Minimize delay due to partitioning  Constraints Number of terminals in each subsystem (Count (V i ) < T i ) Area of each partition (A i min < Area(V i ) < A i max ) Number of partitions (K min < k < K max ) Critical path should not cut boundaries

6.375 Spring 2007 L14 8 Kernighan-Lin algorithm  Input: Graph representation of the circuit  Output: Two subsets of equal sizes  Bisecting algorithm : Initial bisection Vertex pairs which gives the largest decrease in cutsize are exchanged Exchanged vertices are locked If no improvement is possible and some vertices are still unlocked then vertices which give smallest increase are exchanged

6.375 Spring 2007 L14 9 K-L algorithm example* * © Sherwani 92

6.375 Spring 2007 L14 10 Partitioning methods  Top-down partitioning Iterative improvement Spectral based Clustering methods Network flow based Analytical based Multi-level  Bottom-up clustering Unit delay model General delay model Sequential circuits with retiming

6.375 Spring 2007 L14 11 Physical design – overall flow Placement Cost Estimation Routing Region Definition Global Routing Compaction/clean-up Detailed Routing Cost Estimation Write Layout Database Floorplanning Partitioning Improvement Cost Estimation Improvement

6.375 Spring 2007 L14 12 Floorplanning  Output from partitioning used for floorplanning  Inputs: Blocks with well-defined shapes and area Blocks with approximated area and no particular shape Netlist specifying block connections  Outputs: Locations for all blocks

6.375 Spring 2007 L14 13 Floorplanning problem*  Objectives Minimize area Reduce wirelength Maximize routability Determine shapes of flexible blocks  Constraints Shape of each block Area of each block Pin locations for each block Aspect ratio * Sung Kyu Lim

6.375 Spring 2007 L14 14 Slicing floorplan sizing*  General case: all modules are soft macros  Phase 1: bottom-up Input – floorplan tree, modules shapes Start with a sorted shapes list of modules Perform vertical_node_sizing and horizontal_node_sizing On reaching the root node, we have a list of shapes, select the one that is best in terms of area  Phase 2: top-down Traverse the floorplan tree and set module locations * Sung Kyu Lim

6.375 Spring 2007 L14 15 Sizing example* * Sung Kyu Lim

6.375 Spring 2007 L14 16 Floorplanning Algorithms  Stockmeyer algorithm  Simulated annealing  Linear programming  Sequence-pair based floorplanning

6.375 Spring 2007 L14 17 Floorplanning - Encounter

6.375 Spring 2007 L14 18 Physical design – overall flow Placement Cost Estimation Routing Region Definition Global Routing Compaction/clean-up Detailed Routing Cost Estimation Write Layout Database Floorplanning Partitioning Improvement Cost Estimation Improvement

6.375 Spring 2007 L14 19 Placement  The process of arranging circuit components on a layout surface  Inputs : Set of fixed modules, netlist  Output : Best position for each module based on various cost functions  Cost functions include wirelength, wire routability, hotspots, performance, I/O pads

6.375 Spring 2007 L14 20 Good placement vs Bad placement* * S. Devadas  Good placement No congestion Shorter wires Less metal levels Smaller delay Lower power dissipation  Bad placement Congestion Longer wire lengths More metal levels Longer delay Higher power dissipation

6.375 Spring 2007 L14 21 Simulated annealing algorithm  Global optimization technique  Cooling schedule is adopted  An action performed at each new temperature  Estimate the cost associated with an action  If new cost < old cost accept the action  If new cost > old cost then accept the action with probability p  Probability p depends on a temperature schedule – Higher p at higher temperature

6.375 Spring 2007 L14 22 Annealing curve * © Sherwani 92

6.375 Spring 2007 L14 23 Placement using simulated annealing  Use initial placement results – e.g. random placement  Two stage process* Stage 1 Modules moved between different rows and same row Module overlaps allowed Stage two begins when temperature falls below a certain value Stage 2 Module overlaps removed Annealing continued, but interchange adjacent modules in the same row * Sechen DAC86

6.375 Spring 2007 L14 24 Placement methods  Constructive methods Cluster growth algorithm Force-directed method Algorithm by Goto Min-cut based algorithm  Iterative improvement methods Pairwise exchange Simulated annealing – Timberwolf Genetic algorithm  Analytical methods Gordian, Gordian-L

6.375 Spring 2007 L14 25 Placement - Encounter

6.375 Spring 2007 L14 26 Optimized placement - Encounter

6.375 Spring 2007 L14 27 Physical design – overall flow Placement Cost Estimation Routing Region Definition Global Routing Compaction/clean-up Detailed Routing Cost Estimation Write Layout Database Floorplanning Partitioning Improvement Cost Estimation Improvement

6.375 Spring 2007 L14 28 Routing  Connect the various standard cells using wires  Input: Cell locations, netlist  Output: Geometric layout of each net connecting various standard cells  Two-step process Global routing Detailed routing

6.375 Spring 2007 L14 29 Global routing vs detailed routing* * Sung Kyu Lim

6.375 Spring 2007 L14 30 Routing problem formulation  Objective 100% connectivity of a system Minimize area Minimize wirelength  Constraints Number of routing layers Design rules Timing (delay) Crosstalk Process variations

6.375 Spring 2007 L14 31 Maze routing - example * Sung Kyu Lim

6.375 Spring 2007 L14 32 Maze routing  Mainly for single-layer routing  Strengths Finds a connection between two terminals if it exists  Weakness Large memory required as dense layout Slow  Application – global routing, detailed routing

6.375 Spring 2007 L14 33 Routing algorithms  Global routing Maze routing Cong/Prea’s algorithm Spanning tree algorithm Steiner tree algorithm  Detailed routing 2-L Channel routing: Basic left-edge algorithm Y-K algorithm

6.375 Spring 2007 L14 34 Detailed routing - Encounter

6.375 Spring 2007 L14 35 Critical path - Encounter

6.375 Spring 2007 L14 36 Specialized routing * © Sherwani 92

6.375 Spring 2007 L14 37 Clock distribution - Encounter

6.375 Spring 2007 L14 38 Power routing* *6.884 Spring 2005

6.375 Spring 2007 L14 39 Power distribution issues  Noise in power supply IR drop (static) L di/dt (transient)  Electromigration  Solution: decoupling capacitance, wire material Kaveh Shakeri

6.375 Spring 2007 L14 40 Summary  Looked at the physical design flow  Involved several steps Partitioning Floorplanning Placement Routing  Each step can be formulated as an optimization problem  Need to go through 2 or more iterations in each step to generate an optimized solution