CSE 242A Integrated Circuit Layout Automation Lecture: Floorplanning Winter 2009 Chung-Kuan Cheng.

Slides:



Advertisements
Similar presentations
Floorplanning. Non-Slicing Floorplan Representation Rectangle-Packing-Based Module Placement, H. Murata, K. Fujiyoushi, S. Nakatake and Y. Kajitani, IEEE.
Advertisements

Analysis of Floorplanning Algorithm in EDA Tools
Tutorial on Floorplan Representations
A Graph-Partitioning-Based Approach for Multi-Layer Constrained Via Minimization Yih-Chih Chou and Youn-Long Lin Department of Computer Science, Tsing.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Linear Constraint Graph for Floorplan Optimization with Soft Blocks Jia Wang Electrical and Computer Engineering Illinois Institute of Technology Chicago,
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Gao Song 2010/04/27. Outline Concepts Problem definition Non-error Case Edge-error Case Disconnected Components Simulated Data Future Work.
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
1 Representing Graphs. 2 Adjacency Matrix Suppose we have a graph G with n nodes. The adjacency matrix is the n x n matrix A=[a ij ] with: a ij = 1 if.
Interconnect Estimation without Packing via ACG Floorplans Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern University U.S.A.
CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng Winter 2004 Lecture 4.
Floorplanning Professor Lei He
ICS 252 Introduction to Computer Design Lecture 14 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Andrew Kahng – October Layout Planning of Mixed- Signal Integrated Circuits Chung-Kuan Cheng / Andrew B. Kahng UC San Diego CSE Department.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
CSE 321 Discrete Structures Winter 2008 Lecture 25 Graph Theory.
CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng Lecture 4.
Floorplanning. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning © KLMH Lienig 1 Modern Floorplanning Based on B*-Tree and Fast.
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.
8/15/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 8. Floorplanning (2)
CSE 242A Integrated Circuit Layout Automation Lecture: Global Routing Winter 2009 Chung-Kuan Cheng.
CSE 242A Integrated Circuit Layout Automation Lecture 5: Placement Winter 2009 Chung-Kuan Cheng.
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.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Simulated Annealing.
Global Routing.
MA/CSSE 473 Day 12 Insertion Sort quick review DFS, BFS Topological Sort.
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
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.
Some Uses of Probability Randomized algorithms –for CS in general –for games and robotics in particular Testing Simulation Solving probabilistic problems.
Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.
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.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Non-Slicing Floorplanning Joanna Ho David Lee David Omoto.
Rectlinear Block Packing Using the O-tree Representation Yingxin Pang Koen Lampaert Mindspeed Technologies Chung-Kuan Cheng University of California, San.
A Stable Fixed-outline Floorplanning Method Song Chen and Takeshi Yoshimura Graduate School of IPS, Waseda University March, 2007.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Clase 3: Basic Concepts of Search. Problems: SAT, TSP. Tarea 1 Computación Evolutiva Gabriela Ochoa
1 Twin Binary Sequences: A Non-Redundant Representation for General Non-Slicing Floorplan Evan Young Department of Computer Science and Engineering The.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
Simulated Annealing To minimize the wire length. Combinatorial Optimization The Process of searching the solution space for optimum possible solutions.
CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 5.
1 CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
The Early Days of Automatic Floorplan Design
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Partial Reconfigurable Designs
CSCI 4310 Lecture 10: Local Search Algorithms
Revisiting Floorplan Representations
Umans Complexity Theory Lectures
VLSI Physical Design Automation
Sequence Pair Representation
CSE 373 Data Structures and Algorithms
Optimal Non-Manhattan Bubble Sort Channel Router
Richard Anderson Autumn 2016 Lecture 5
Richard Anderson Winter 2009 Lecture 6
Richard Anderson Winter 2019 Lecture 6
Richard Anderson Lecture 5 Graph Theory
Richard Anderson Winter 2019 Lecture 5
A. Stammermann, D. Helms, M. Schulte OFFIS Research Institute
Floorplanning (Adapted from Prof. E. Young’s and Prof. Y
Presentation transcript:

CSE 242A Integrated Circuit Layout Automation Lecture: Floorplanning Winter 2009 Chung-Kuan Cheng

Outlines Introduction Representations and Approaches Constraint Graph Triangulation Tutte’s Duality Slicing Flooplanning Nonslicing... Block Handling Research Directions

Introduction Input A set of blocks with constraints on area, shapes, relative positions, Constraints on chip area and aspect ratio, Netlist. Output Shapes, Locations, Pin positions of the blocks Objective Functions Performance, chip area, and wire length

Representations Constraint Graph Theorem: A V or H constraint graph is planar and acyclic.

Constraint Graph Generation # Edges O(n 2 ), O(n)

Constraint Graph Generation Scan from left to right at cur_x; Update scaline: list of blocks crossing scanline. For blocks T strating at cur_x; Insert T into scanline list …R->T->S … Generate edges R->T and T->S End

Constraint Graph Generation 2 Scan from left to right at cur_x; Update scanline: list of blocks crossing scanline. For blocks T starting at cur_x; Insert T into scanline list: …R->T->S … Generate list:T.top=R, R.bot=T, T.bot=S, S.top=T End For block T ending at cur_x; if T.top is list in scanline, generate edge T.top->T; if T.bot is list in scanline, generate edge T->T.bot End

Floorplan Triangulation Floorplan with zero dead space Floorplan with dead space

Triangulation For floorplan with zero dead space, H & V constraint graphs are dual. H & V Every face is a triangle All internal nodes have a degree >= 4 All cycles that are not faces have length >= 4

Triangulation 2 Node oriented vs edge oriented constraint graph a b c e d f g

Tutte’s Duality s c d t b a a b t d c s

Slicing Floorplan & General Flow V H V H H Nonslicing

Routing Region Definition & Ordering Straight Channel L Shaped a 1 2 b 3 c a 2 1 b c Non-Feasible Order Feasible Order

Polish Expression v H H V V H H 5 7 V 4 3 H 6 V H V

Given n components, there are n-1 operators Polish Exp has 2n-1 length Polish Exp is legal iff # operators <= # comps – 1 For any prefix substring 2 1 H5 7 V 4 3 H 6 V H V H 7 V 4 3 H 6 V H V H V H V H V

Redundancy of Polish Exp 12 3 V V 1 23 V V V 3 V V V No consecutive operators of the same type

Neighborhood Structure OP. Chain: VHVHV… or HVHV… 2 3 V 1 4 H 5 V 6 H V V M1: Swap adjacent components M2: Complement a chain M3: Move an operator under the prefix constraint of “# operators <= # comps – 1”

V 3 H4 V 5 H 1 2 V 4 H 3 V 5 H 1 2 V 4 H 3 5 V H 1 2 V 4 3 H 5 V H 1 2 V H V H 1 2 H H V H 1 2 H V H V

The choices of macro cell H V H 2341 HiHj

Hierarchy Floorplan K=2 K=3 K=4

ab c d e a1 a2 a3 a4 a5 a6 a11 a12 a13 a14 b1b2 b3 b4b5

Sequence Pair a b b a a b ba Eg. c a e b d a b c d e e c abd #combinations

Grid System Interpretation c e a b d x ar lb

Perturbation: move a component to another room Bounded-Sliceline Grid

BSG Adjacency Graphs Theorem: n x n grid contains the complete solution space for n components

Twin Binary Trees Definition of Twin Binary Trees Transformations between Floorplan and Twin Binary Trees

Twin Binary Trees T T T T C + -neighbor: 0 0 T-junction, block on right T-junction, block on top C - -neighbor: 90 0 T-junction, block on top T-junction, block on left A B0 A B A B 90 0 A B 180 0

A B C D E F C B A E D F X X X X F A D B C E Twin Binary Trees  (  1 )=11001  (  2 )=00110 order(  1 )=order(  2 )=ABCDFE

Twin Binary Trees and Mosaic Floorplan Twin Binary Tree  Mosaic Floorplan  : one to one mapping Transformation between twin binary trees and mosaic floorplan takes linear complexity #twin binary trees = Baxter number

Corner Block List Corner Block List  Mosaic Floorplan A permutation and two 0-1 lists e.g. S=(fcegbad), L=(001100), T=( )

Corner Block List S=(fcegbad), L=(001100), T=( ) S is the reversed sequence of removed blocks L[i] is the removing direction of block i Number of ‘0’s before ith ‘1’ in T is the number of blocks covered by S[i] when it is removed

Corner Block List Redundancy (L and T are not independent) Solution space size O(n!2 3n-3 /n 1.5 ) Can be reduced to O(n!2 3n-3 /n 4 ), no redundancy

Floorplan Optimization Flow Simulated annealing (SA) in the representation solution space s := s0; e := E(s) // Initial state, energy. sb := s; eb := e // Initial "best" solution k := 0 // Energy evaluation count. while k emax // While time remains & not good enough: sn := neighbour(s) // Pick some neighbour. en := E(sn) // Compute its energy. if en < eb then // Is this a new best? sb := sn; eb := en // Yes, save it. if P(e, en, temp(k/kmax)) > random() then // Should we move to it? s := sn; e := en // Yes, change state. k := k + 1 // One more evaluation done return sb // Return the E() is the objective function neighbour(s) comes from perturbation on s