Non-Slicing Floorplanning Joanna Ho David Lee David Omoto.

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
Octagonal Drawing Johan van Rooij. Overview What is an octagonal drawing Good slicing graphs Octagonal drawing algorithm for good slicing graphs Correctness.
ECE 667 Synthesis and Verification of Digital Circuits
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
Greedy Algorithms Greed is good. (Some of the time)
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Approximation Algorithms
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Rectangle Visibility Graphs: Characterization, Construction, Compaction Ileana Streinu (Smith) Sue Whitesides (McGill U.)
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
NuCAD ACG - Adjacent Constraint Graph for General Floorplans Hai Zhou and Jia Wang ICCD 2004, San Jose October 11-13, 2004.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
Floorplanning Professor Lei He
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
1 CSC 6001 VLSI CAD (Physical Design) January
CSE 242A Integrated Circuit Layout Automation Lecture: Floorplanning Winter 2009 Chung-Kuan Cheng.
2D Rectangular Packing with LFF and LFF/T Presented by Y. T. Wu.
Backtracking.
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.
Important Problem Types and Fundamental Data Structures
8/15/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 8. Floorplanning (2)
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Physical Mapping of DNA Shanna Terry March 2, 2004.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Simulated Annealing.
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
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
Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.
1 Chapter Elementary Notions and Notations.
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.
Logic Circuits Chapter 2. Overview  Many important functions computed with straight-line programs No loops nor branches Conveniently described with circuits.
Lars Arge Presented by Or Ozery. I/O Model Previously defined: N = # of elements in input M = # of elements that fit into memory B = # of elements per.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
A Memetic Algorithm for VLSI Floorplanning Maolin Tang, Member, IEEE, and Xin Yao, Fellow, IEEE IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART.
Rectlinear Block Packing Using the O-tree Representation Yingxin Pang Koen Lampaert Mindspeed Technologies Chung-Kuan Cheng University of California, San.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
A Stable Fixed-outline Floorplanning Method Song Chen and Takeshi Yoshimura Graduate School of IPS, Waseda University March, 2007.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
ISPD 2001, Sonoma County, April 3rd, Consistent Floorplanning with Super Hierarchical Constraints Yukiko KUBO, Shigetoshi NAKATAKE, and Yoji KAJITANI.
LIMITATIONS OF ALGORITHM POWER
Block Packing: From Puzzle-Solving to Chip Design
Chapter 10: Trees A tree is a connected simple undirected graph with no simple circuits. Properties: There is a unique simple path between any 2 of its.
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
1 Schematization of Networks Rida Sadek. 2 This talk discusses: An algorithm that is studied in the following papers:  S. Cabello, M. de Berg, and M.
1 Floorplanning of Pipelined Array (FoPA) Modules using Sequence Pairs Matt Moe Herman Schmit.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
VLSI Physical Design Automation
Partial Reconfigurable Designs
Computational Geometry
Greedy Technique.
B+ Tree.
VLSI Physical Design Automation
Enumerating Distances Using Spanners of Bounded Degree
Sequence Pair Representation
Sheqin Dong, Song Chen, Xianlong Hong EDA Lab., Tsinghua Univ. Beijing
Backtracking and Branch-and-Bound
Major Design Strategies
Floorplanning (Adapted from Prof. E. Young’s and Prof. Y
Presentation transcript:

Non-Slicing Floorplanning Joanna Ho David Lee David Omoto

Overview Introduction Sequence-Pair Representation O-Tree Representation Generalized Polish Expression (GPE) Summary

Introduction Problem: Given a set of rectangular modules of arbitrary sizes, place them without overlap on a plane within a rectangle of minimum area Motivation  Slicing floorplan may not produce optimal solutions, i.e., minimum area  Reduce interconnect delay  Cost (chip area) savings Difficulties  NP-complete  Need good representation of non-slicing floorplan  Larger solution space and encoding cost

Floorplanning with Sequence-Pairs Definitions: packing = non-overlapping placement of the modules chip = minimum bounding rectangle of a packing with height (H) and width (W) solution space: a set of codes, each representing a construction of a placement A code is feasible if the construction is consistent, i.e., there exists a packing corresponding to the code

RP is a combinatorial search using simulated annealing to find the best code (minimum area) in the solution space Minimum requirements of the solution space 1. Solution space is finite 2. Every solution is feasible (allows the use of heuristics such as SA) 3. Realization of a code is possible in polynomial time 4. There exists a code which corresponds to one of the optimal solutions P-admissible solution space if all four requirements are met Floorplanning with Sequence-Pairs

From a Packing to a Sequence-Pair Positive step-linesNegative step-lines A sequence-pair is an ordered pair of module name sequences (codes) Gridding encodes a packing into a sequence-pair  The following rules must be satisfied: Step-lines cannot cross: 1. Boundaries of other modules 2. Previously drawn lines 3. Boundary of the chip up-right down-left right-down left-up

Gridding Since no two positive step-lines cross each other, they can be linearly ordered  Therefore, the corresponding modules can be linearly ordered  Let Γ + be the module name sequence ordering from the left Ex.) Γ + = ecadfb Likewise, negative step-lines and modules can be linearly ordered  Let Γ - be the module name sequence ordering from the left Ex.) Γ - = fcbead Modules x and x’ are related in exactly one of four ways: 1. M aa (x) = { x’ | x’ is after x in both Γ + and Γ - } Ex.) M aa (c) = { a, b, d } 2. M ab (x) = { x’ | x’ is after x in Γ + and before x in Γ - } Ex.) M ab (c) = { f } 3. M ba (x) = { x’ | x’ is before x in Γ + and after x in Γ - } Ex.) M ba (c) = { e } 4. M bb (x) = { x’ | x’ is before x in both Γ + and Γ - } Ex.) M bb (c) = { } x’ ε M aa (x)  x ε M bb (x’) and x’ ε M ba (x)  x ε M ab (x’)

Information of the Sequence-Pair Let (Γ +,Γ - ) be the sequence-pair produced by Gridding for a packing II If x’ ε M aa (x), then x’ is right of x in II If x’ ε M ab (x), then x’ is below x in II If x’ ε M ba (x), then x’ is above x in II If x’ ε M bb (x), then x’ is left of x in II  Proof: Let x and x’ be two arbitrary modules in II. Then the step-lines of x divide the chip up into four regions, called the right-cone, left- cone, above-cone, and below-cone.

Let (Γ +,Γ - ) be the sequence-pair produced by Gridding for a packing II If x’ ε M aa (x), then x’ is right of x in II If x’ ε M ab (x), then x’ is below x in II If x’ ε M ba (x), then x’ is above x in II If x’ ε M bb (x), then x’ is left of x in II  Proof: Suppose x’ is in M aa (x). Then the positive step-line of x’ is in the union of the right-cone and the below-cone of x. Also, the negative step-line of x’ is in the union of the right-cone and the above-cone of x. The crossing point of the positive and negative step-lines of x’ is in their intersection, i.e. the right-cone of x. Therefore, module x’ is in the right-cone of x. Thus, every modules in the right-cone of x is right of module x by definition of the up-right step-line and the right-down step-line of x. The same proof can be applied to the other cases. Information of the Sequence-Pair

From a Sequence-Pair to a Packing Gridding produced a sequence-pair from a specific packing. A packing is now produced from an arbitrary sequence-pair. The constraint imposed on the packing by a sequence-pair is unique. A packing on an oblique grid for (Γ +, Γ - ) = (ecadfb, fcbead) Γ+Γ+ Γ-Γ- f c b e a d e c a d f b Expand grid lines so no overlapping occurs

Horizontal-Constraint Graph Vertex Weight: 0 for s and t, width of module x for the other vertices horizontal-constraint graph, G H

Vertical-Constraint Graph Vertex Weight: 0 for s and t, height of module x for the other vertices vertical-constraint graph, G H

Longest Path Algorithm for vertex- weighted DAGs no directed cycles means no two modules overlap each other any pair of modules are either in horizontal or vertical relation The width and height of the chip is determined by the longest path length between the source and the sink in G H and G V, respectively. Use the longest path algorithm for vertex weighted DAGs (O(m 2 ) time for each constraint graph).

Optimal Packing Optimal packing under the constraint implied by (Γ+,Γ-) = (ecadfb, fcbead)

P-admissible Solution Space The set of all sequence-pairs is a P-admissible solution space of RP.  (m!) 2 sequence-pairs  each mapped to a packing in O(m 2 ) time  one is an optimal solution of RP Any evaluating function that is independently non-decreasing with respect to the width and the height of the chip can be used.  Area of the chip  Perimeter of the chip  Area of the chip of a pre-specified aspect ratio  Height of chip with its width fixed Fixed-module-orientation has been assumed. We can extend the described technique to “soft modules” by preparing candidates of (w,h) pairs per module. Furthermore, rotations and reflections can also be included. The size of the solution space increases by (m!) 2 X m, where X is the number of possible pairs per module.

Rectangle Packing Standard Simulated Annealing Method  3 kinds of pair-interchange operations 1. Two module names in Γ + 2. Two module names in both Γ + and Γ - 3. The width and the height of a module (orientation optimization)  Initial sequence-pair is Γ + = Γ -  Temperature decreased exponentially Operation 1 selected with higher probability in higher temperature Operation 3 selected with higher probability in lower temperature In an example of 146 modules  606,192 of the possible (146!) = 1.23x sequence-pairs were searched  Sun SparcStationII reached terminating temperature in less than 30 minutes

O-Tree Representation Method Motivation  Simple representation of geometric relationship for non- slicing floorplan  Satisfy cost function that includes area and amount of interconnect Benefits of O-tree Representation  Transformation between O-tree and constraint graph is O(n)  Compaction included in structure (ie. one instance of O- tree maps to one placement)  Can easily incorporate interconnect and area costs  Fast deterministic algorithm for operation on O-Tree

Admissible Placement L-Compact: no block can shift left from its original position with other components fixed B-Compact: no block can shift down from its original position with other components fixed LB-Compact: placement that is both L-Compact and B-Compact A placement is admissible if it is LB-Compact

What is an O-tree? A rooted directed tree in which the order of the subtrees T 1, T 2, …,T m is important Order of T 1, T 2, …,T m determines order in DFS To encode tree of n-nodes need:  2(n-1)-bit string T to identify branching structure  Permutation π of labels of n- nodes Example: (T, π) ( , adbcegf)

Horizontal O-tree The root represents the left-boundary of the chip Placement is always B-compact, but not necessary L- compact Vertical O-tree is similar, but root is bottom of chip ( , adbcegf)

Admissible O-tree O-tree is admissible if its corresponding placement is admissible Lemma: Given an admissible O-tree, it is equal to the shortest path spanning tree embedded in the constraint graph of its corresponding placement Corollary: Given an admissible placement, we can construct a horizontal constraint graph. The shortest path spanning tree is the horizontal O-tree of the placement (Also applies to vertical placement)

O-Tree to Constraint Graph Use DFS and maintain contour structure to build orthogonal constraint graph from O-tree Contour structure is double linked list which describes the contour line in current direction

Algorithm OT2OCG

Algorithm CG2OT

Admissible O-tree Transformation (AOT) Construct admissible O-tree by iteratively invoking OT2OCG and CG2OT  Given a horizontal O-tree, construct vertical constraint graph G y by OT2OCG  Because is G y B-Compact, use CG2OT to get vertical O-Tree  Repeat steps above to vertical O-tree  All moves are monotone (either move down or left)  Converge to admissible O-tree

Floorplanning Using O-tree Starting with a tree,  Select block B i in the tree  Delete B i from O-tree  Insert B i in the position with the best cost function  Get admissible O-tree from AOT algorithm  If cost function of the new tree is better than that of the old tree function, set tree to the new tree  Repeat above steps

GPE: A New Representation for VLSI Floorplan Problem Generalized polish notation utilization of dead area B A * B A * C +

GPE Tree and GPE Corresponding to Packing Exact position of corner determined by corner constraint, (R,T), where R is the right boundary left to the packed module and T is the top boundary below the packed module Corner module may have many corner constraints, choose the one based on  1. The associated module can be completely filled into the corner  2. Putting the module into the corner does not enlarge floorplan

Valid GPE’s Definition: A binary sequence b 1 b 2 …b m is a balloting sequence if and only if, for any k, 1 ≤ k ≤ m, the number of 0’s in b 1 b 2 …b k is less than the number of 1’s in b 1 b 2 …b k. Let σ be a function σ: -> {0,1} defined by σ(i) = 1, where 1 ≤ i ≤ n, and σ(+) = σ(*) = = 0. A sequence Ψ = {λ 1, λ 2, …, λ 2n-1 } of elements from is a GPE of length 2n-1 if and only if,  1. Each i appears exactly once in the sequence, where 1 ≤ i ≤ 2n-1.  2. σ(λ 1 ) σ(λ 2 )… σ(λ 2n-1 ) is a balloting sequence

Valid GPE Moves 1. Complement  Given chain d1d2…dq of length q, complement operation changes chain of original relational operators of nonzero length to the others. Ex. {*-*} -> 2. Rotate  Exchanges width and height of ith leaf on GPE-tree 3. Swap  Randomly swap two leaves n i an n j  Swap one leaf n i and one sub-tree s j  Swap two sub-trees s i and s j

Valid GPE Moves Ex.  Initial GPE Configuration  Complement *+* ->

Valid GPE Moves Ex. (cont.)  Rotate module f  Swap subtree ghi+ and module d

Final Circuit Layout Results  ami33  ami49

Results  GPE achieves promising area utilization compared to previous FAST-SP and Enhance O-Tree

Summary Non-slicing floorplanning provides a more optimal layout than floorplanning with slicing. However, it requires more complex representations for the layout  Sequence-Pair  O-tree  GPE Other representations include:  enhanced o-tree, FAST-SP

References H. Murata, K. Fujiyoshi, S. Nakatake, Y. Kajitani, “VLSI Module Placement Based on Rectangle-Packing by the Sequence-Pair,” In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 15, No. 12, December P.N. Guo, C.K. Cheng, and T. Yoshimura, " An O-Tree Representation of Nonslicing Floorplan and Its Applications,” ACM/IEE Design Automation Conf. pp , June C.T. Lin, D.S. Chen, and Y.W. Wang, “GPE: A New Representation for VLSI Floorplan Problem,” Proc. ICCD, pp42-44, 2002.