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.

Slides:



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

Buffer and FF Insertion Slides from Charles J. Alpert IBM Corp.
Improving Placement under the Constant Delay Model Kolja Sulimma 1, Ingmar Neumann 1, Lukas Van Ginneken 2, Wolfgang Kunz 1 1 EE and IT Department University.
Optimization of Linear Placements for Wirelength Minimization with Free Sites A. B. Kahng, P. Tucker, A. Zelikovsky (UCLA & UCSD) Supported by grants from.
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.
Early Days of Circuit Placement Martin D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
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.
Physical Design Outline –What is Physical Design –Design Methods –Design Styles –Analysis and Verification Goal –Understand physical design topics Reading.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Analytical Thermal Placement for VLSI Lifetime Improvement and Minimum Performance Variation Andrew B. Kahng †, Sung-Mo Kang ‡, Wei Li ‡, Bao Liu † † UC.
SLIP 2000April 9, Wiring Layer Assignments with Consistent Stage Delays Andrew B. Kahng (UCLA) Dirk Stroobandt (Ghent University) Supported.
7/15/ VLSI Placement Prof. Shiyan Hu Office: EERC 731.
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.
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
1 VLSI CAD Flow: Logic Synthesis, Lecture 13 by Ajay Joshi (Slides by S. Devadas)
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Graph partition in PCB and VLSI physical synthesis Lin Zhong ELEC424, Fall 2010.
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.
Authors: Jia-Wei Fang,Chin-Hsiung Hsu,and Yao-Wen Chang DAC 2007 speaker: sheng yi An Integer Linear Programming Based Routing Algorithm for Flip-Chip.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
Placement by Simulated Annealing. Simulated Annealing  Simulates annealing process for placement  Initial placement −Random positions  Perturb by block.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Global Routing.
CAD for Physical Design of VLSI Circuits
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
10/11/ VLSI Physical Design Automation Prof. David Pan Office: ACES Placement (2)
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
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.
Quadratic and Linear WL Placement Using Quadratic Programming: Gordian & Gordian-L Shantanu Dutt ECE Dept., Univ. of Illinois at Chicago Acknowledgements:
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.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
10/25/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 3. Circuit Partitioning.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
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.
Quadratic VLSI Placement Manolis Pantelias. General Various types of VLSI placement  Simulated-Annealing  Quadratic or Force-Directed  Min-Cut  Nonlinear.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2014 Partitioning 2 (spectral, network flow)
ECE 260B – CSE 241A /UCB EECS Kahng/Keutzer/Newton Physical Design Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Detailed Routing مرتضي صاحب الزماني.
Physical Synthesis Buffer Insertion, Gate Sizing, Wire Sizing,
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
FPGA CAD 10-MAR-2003.
CprE566 / Fall 06 / Prepared by Chris ChuPartitioning1 CprE566 Partitioning.
1 Floorplanning of Pipelined Array (FoPA) Modules using Sequence Pairs Matt Moe Herman Schmit.
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.
Introduction to ASICs ASIC - Application Specific Integrated Circuit
VLSI Physical Design Automation
ASIC Design Methodology
VLSI Quadratic Placement
Iterative Deletion Routing Algorithm
GORDIAN Placement Perform GORDIAN placement
EE5780 Advanced VLSI Computer-Aided Design
Topics Logic synthesis. Placement and routing..
ESE535: Electronic Design Automation
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
UNIT-III Logic Gates and other Complex gates, Switch logic, Alternate gate circuits Physical Design, Floor Planning, Placement – Routing, Power Delay.
Presentation transcript:

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

Physical Design: Overall Conceptual Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing Region Definition Global Routing Input Placement Routing Output Compaction/clean-up Routing Region Ordering Detailed Routing Cost Estimation Routing Improvement Write Layout Database Floorplanning

3 Kurt Keutzer Results of Placement A bad placement A good placement A. Kahng What’s good about a good placement? What’s bad about a bad placement?

4 Kurt Keutzer Results of Placement Bad placement causes routing congestion resulting in: Increases in circuit area (cost) and wiring Longer wires  more capacitance Longer delay Higher dynamic power dissipation Good placement Circuit area (cost) and wiring decreases Shorter wires  less capacitance Shorter delay Less dynamic power dissipation

Gordian Placement Flow Complexity space: O(m) time: Q( m 1.5 log 2 m) Final placement standard cell macro-cell &SOG Global Optimization minimization of wire length Partitioning of the module set and dissection of the placement region Final Placement adoption of style dependent constraints module coordinates position constraints module coordinates Regions with  k modules Data flow in the placement procedure GORDIAN

Gordian: A Quadratic Placement Approach Global optimization: solves a sequence of quadratic programming problems Partitioning: enforces the non-overlap constraints

Intuitive formulation Given a series of points x1, x2, x3, … xn and a connectivity matrix C describing the connections between them (If cij = 1 there is a connection between xi and xj) Find a location for each xj that minimizes the total sum of all spring tensions between each pair xj xi Problem has an obvious (trivial) solution – what is it?

Improving the intuitive formulation To avoid the trivial solution add constraints: Hx=b These may be very natural - e.g. endpoints (pads) To integrate the notion of ``critical nets’’ Add weights wij to nets xj xi wij - some springs have more tension should pull associated vertices closer x1xn wij

Modeling the Net’s Wire Length     yyxx L M u vuvv v v   22 module u (x v ,y v  (x u ,y u   ),( vu  pin vu l v net node x y connection to other modules ( x uv  x u  uv ;  y uv  y u  y ) vu The length Lv of a net v is measured by the squared distances from its points to the net’s center

10 Kurt Keutzer x2 x1 x=100 x=200 Toy Example: D. Pan

 Quadratic Optimization Problem D E F A B C ), ( ' '  vu                          * 0 * 0 *000 0*** ' )(   l A GFEDCBA  Linearly constrained quadratic programming problem )({min T T Rx x }dxCxx m    ), (  vu s.t. )()( ll uxA  Wire-length for movable modules Accounts for fixed modules Center-of-gravity constraints Problem is computationally tractable, and well behaved Commercial solvers available: mostek

Global Optimization Using Quadratic Placement Quadratic placement clumps cells in center Partitioning divides cells into two regions Placement region is also divided into two regions New center-of-gravity constraints are added to the constraint matrix to be used on the next level of global optimization Global connectivity is still conserved

Setting up Global Optimization

Layout After Global Optimization A. Kahng

Partitioning

16 Kurt Keutzer Partitioning In GORDIAN, partitioning is used to constrain the movement of modules rather than reduce problem size By performing partitioning, we can iteratively impose a new set of constraints on the global optimization problem Assign modules to a particular block Partitioning is determined by Results of global placement – initial starting point Spatial (x,y) distribution of modules Partitioning cost Want a min-cut partition

Layout after Min-cut Now global placement problem will be solved again with two additional center_of_gravity constraints

Adding Positioning Constraints Partitioning gives us two new “center of gravity” constraints Simply update constraint matrix Still a single global optimization problem Partitioning is not “absolute” modules can migrate back during optimization may need to re-partition

Continue to Iterate

20 Kurt Keutzer First Iteration A. Kahng

21 Kurt Keutzer Second Iteration A. Kahng

22 Kurt Keutzer Third Iteration A. Kahng

23 Kurt Keutzer Fourth Iteration A. Kahng

Final Placement

25 Kurt Keutzer Final Placement - 1 Earlier steps have broken down the problem into a manageable number of objects Two approaches: Final placement for standard cells/gate array – row assignment Final placement for large, irregularly sized macro-blocks – slicing – won’t talk about this

Final Placement – Standard Cell Designs This process continues until there are only a few cells in each group(  6 ) each group has  6 cells group: smallest partition Assign cells in each group close together in the same row or nearly in adjacent rows A. E. Dunlop, B. W. Kernighan, A procedure for placement of standard-cell VLSI circuits, IEEE Trans. on CAD, Vol. CAD-4, Jan, 1985, pp

27 Kurt Keutzer Final Placement – Creating Rows , , , ,5 Row-based standard cell design Partitioning of circuit into 32 groups. Each group is either assigned to a single row or divided into 2 rows

28 Kurt Keutzer Standard Cell Layout

29 Kurt Keutzer Another Series of Gordian (a) Global placement with 1 region(b) Global placement with 4 region(c) Final placements D. Pan – U of Texas