Floorplanning Professor Lei He

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
Models of Computation Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms Week 1, Lecture 2.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
Text Chapters 1, 2. Sorting ä Sorting Problem: ä Input: A sequence of n numbers ä Output: A permutation (reordering) of the input sequence such that:
Fall 2003EE VLSI Design Automation I 118 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part IV: Floorplanning.
Curve Analogies Aaron Hertzmann Nuria Oliver Brain Curless Steven M. Seitz University of Washington Microsoft Research Thirteenth Eurographics.
ICS 252 Introduction to Computer Design Lecture 14 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
1 CSC 6001 VLSI CAD (Physical Design) January
CSE 242A Integrated Circuit Layout Automation Lecture: Floorplanning Winter 2009 Chung-Kuan Cheng.
The Complexity of Algorithms and the Lower Bounds of Problems
7/15/ VLSI Placement Prof. Shiyan Hu Office: EERC 731.
Floorplanning. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.
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.
Dynamic Programming Introduction to Algorithms Dynamic Programming CSE 680 Prof. Roger Crawfis.
Floorplanning Try the online demos at
8/15/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 8. Floorplanning (2)
CSE 242A Integrated Circuit Layout Automation Lecture 5: Placement Winter 2009 Chung-Kuan Cheng.
Simulated Annealing.
Lecture 12: Parallel Sorting Shantanu Dutt ECE Dept. UIC.
1 Modern Floorplanning Based on Fast Simulated Annealing Tung-Chieh Chen* and Yao-Wen Chang* # Graduate Institute of Electronics Engineering* Department.
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
Do you drive? Have you thought about how the route plan is created for you in the GPS system? How would you implement a cross-and- nought computer program?
Dynamic Programming. Well known algorithm design techniques:. –Divide-and-conquer algorithms Another strategy for designing algorithms is dynamic programming.
VLSI Backend CAD Konstantin Moiseev – Intel Corp. & Technion Shmuel Wimer – Bar Ilan Univ. & Technion.
Modern Floor-planning Based on B ∗ -Tree and Fast Simulated Annealing Paper by Chen T. C. and Cheng Y. W (2006) Presented by Gal Itzhak
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
CSC401: Analysis of Algorithms CSC401 – Analysis of Algorithms Chapter Dynamic Programming Objectives: Present the Dynamic Programming paradigm.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Deferred Decision Making Enabled Fixed- Outline Floorplanner Jackey Z. Yan and Chris Chu DAC 2008.
Christopher Moh 2005 Competition Programming Analyzing and Solving problems.
1. Placement of Digital Microfluidic Biochips Using the T-tree Formulation Ping-Hung Yuh 1, Chia-Lin Yang 1, and Yao-Wen Chang 2 1 Dept. of Computer Science.
Non-Slicing Floorplanning Joanna Ho David Lee David Omoto.
Memory Allocation of Multi programming using Permutation Graph By Bhavani Duggineni.
Rectlinear Block Packing Using the O-tree Representation Yingxin Pang Koen Lampaert Mindspeed Technologies Chung-Kuan Cheng University of California, San.
Floorplan Sizing 1. Floorplanning Algorithms Common Goals  To minimize the total length of interconnect, subject to an upper bound on the floorplan area.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
1 Twin Binary Sequences: A Non-Redundant Representation for General Non-Slicing Floorplan Evan Young Department of Computer Science and Engineering The.
COSC 3101NJ. Elder Announcements Midterm Exam: Fri Feb 27 CSE C –Two Blocks: 16:00-17:30 17:30-19:00 –The exam will be 1.5 hours in length. –You can attend.
Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way.
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
Heaps © 2010 Goodrich, Tamassia. Heaps2 Priority Queue ADT  A priority queue (PQ) stores a collection of entries  Typically, an entry is a.
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
Unit-8 Sorting Algorithms Prepared By:-H.M.PATEL.
G5AIAI Introduction to AI
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
مرتضي صاحب الزماني 1 Hierarchical Tree Based Methods A floorplan is said to be hierarchical of order k if it can be obtained by recursively partitioning.
The Early Days of Automatic Floorplan Design
Energy minimization Another global approach to improve quality of correspondences Assumption: disparities vary (mostly) smoothly Minimize energy function:
The NP class. NP-completeness
Partial Reconfigurable Designs
DATA STRUCTURES AND OBJECT ORIENTED PROGRAMMING IN C++
CSE 2331/5331 Topic 9: Basic Graph Alg.
VLSI Quadratic Placement
Normalized Polish Expression
VLSI Physical Design Automation
Sequence Pair Representation
Sheqin Dong, Song Chen, Xianlong Hong EDA Lab., Tsinghua Univ. Beijing
Topics Logic synthesis. Placement and routing..
Sungho Kang Yonsei University
ICS 252 Introduction to Computer Design
Solving problems by searching
ICS 252 Introduction to Computer Design
Solving problems by searching
Constraint Satisfaction Problems
Floorplanning (Adapted from Prof. E. Young’s and Prof. Y
Presentation transcript:

Floorplanning Professor Lei He

Problem Formulation Given, for each block B i  Area of B i w i h i =A i  Aspect ratio of B i (continuous or discrete)  Connectivity Determine: for each block location (x i,y i ), and dimension (w i, h i ) min total area interconnections i i i i r h s  w

Slicing Floorplan and General Floorplan non-slicing floorplan Slicing Tree 1 2 h v h 74 v v 3h 65 Slicing floorplan

Overview of This Chapter  Module orientation problem  Slicing floorplan design  Non-slicing floorplan design  student presentation

Area Utilization  Area utilization  Depends on how nicely the rigid modules’ shapes are matched  Soft modules can take different shapes to “fill in” empty slots  Floorplan sizing m1 m7 m6 m5 m2 m4 m3 m1 m7 m6 m5 m2 m4 m3 m7 m1 m7 Area = 20x22 = 440Area = 20x19 = 380

Slicing Floorplan Sizing  Bottom-up process  Has to be done per floorplan perturbation  Requires O(n) time (N is the # of shapes of all modules) V LR H TB bibi aiai yjyj xjxj b i + y j max(a i, x j ) bibi aiai max(b i, y j ) a i + x j yjyj xjxj

Slicing Floorplan Sizing  Simple case: all modules are hard macros  No rotation allowed, one shape only 17x16 m1 9x15 m7 m6 9x7 m5 8x16 8x11 m2 m4 m3 4x x75x4 8x8 4x8 3x6 4x5 7x

Slicing Floorplan Sizing  General case: all modules are soft macros  Stockmeyer’s work (1983) for optimal module orientation  Non-slicing = NP complete  Slicing = polynomial time solvable with dynamic programming  Phase 1: bottom-up  Input: floorplan tree, modules shapes  Start with sorted shapes lists of modules  Perform Vertical_Node_Sizing & Horizontal_Node_Sizing  When get to 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

Sizing Example A A B B a1 a2 a3 4x6 5x56x4 b1 b2 b3 3x4 2x7 4x2 6x77x78x7 b1 a1 b1 a2 b1 a3 7x68x59x4 b2 a1 b2 a2 b2 a3 8x69x5 10x4 b3 a1 b3 a2 b3 a3

Stockmeyer Algorithm Procedure Vertical_Node_Sizing Input: Sorted lists L = {(a 1, b 1 ),..., (a s,b s )}, R = {(x 1, y 1 ),..., (x t, y t )}, where a i b j, x i y j (for all i < j) Output: A sorted list H = {(c 1, d 1 ),..., (c u,d u )}, where u ≤ s + t - 1, c i d j (for all i < j) Begin H := Ø i := 1, j := 1, k = 1 while (i ≤ s) and (j ≤ t) do (c k, d k ) := (a i + x j, max(b i, y j )) H := H U {(c k, d k )} k := k + 1 if max(b i, y j ) = b i then i := i + 1 if max(b i, y j ) = y j then j := j + 1

Complexity of the Algorithm n= # of leaves = 2 * # of modules d=depth of the tree Running time= O(nd) Storage = O(n) because, at depth k,  sum of the lengths of the lists =O(n)  time to construct these lists =O(n)  configurations stored at this node can be release as soon as the node is processed Extension Each module has k possible shapes Running time and storage O(nkd) depth k

Floorplan using Simulated Annealing References 1. D.F. Wong and C.L. Liu A New Algorithm for Floorplan Design 23rd IEEE/ACM Design Automation Conference 1986, P D.F. Wong and C.L. Liu Floorplan Design for Rectangular and L-shaped modules ICCAD-87 P D.F. Wong, H.W. Lceng, C.L. Liu Simulated Annealing for VLSI Design Kluwer Academic Publishers 1988 P31-71

Basic Ingredients for S.A.  Solution space  Neighborhood Structure  Cost Function  Annealing Schedule

Representation of Solutions      

Corresponding Slicing Tree May Not Unique      132+  4        Normalization: do not allow following slicing trees

Normalized Polish Expressions  2+  74+  # of operands = 4 # of operators = 2 …….. = 7 …….. = 5  Total length =2n-1  Permutation of { 1, 2, …, n} and # of operators =n-1  # of operators < # of operands at every position  No consecutive operators of the same type (due to normalization)

Neighborhood Structure The moves: M1: swap adjacent operands M2: Complement some chain of operators M3: swap 2 adjacent operand and operator Chain: +  +  +….. or  +  +  …  2+  74+  chains

Examples of Neighboring Solutions 1 2          +  1 2    M1 M3 M2

Cost Function  3   A ),(),( ),(    jicjidAA Eji ww  A=minimum area ij dc   w : W Wirelength:

Computing cost function  + +  7 4   ++  byax ii , b yax ii , a ybx ii , b yax ii , or b, yax ii ,Ayx ii  Ayx ii  a, ybx ii , Ayx ii  or

Computing Cost Function (Cont’d)  +  4  ++   108 9

Summary  Floorplan is a very important step for design planning  Floorplan may be performed before synthesis of each block (at RTL level)  Slicing floorplan allows efficient representation and optimization  Module orientation and sizing problem can be solved easily  Good results using SA on Polish expression representation  Recent progress  non-slicing floorplanning via Sequence pair representation  Floorplanning and system design co-optimization