Rectlinear Block Packing Using the O-tree Representation Yingxin Pang Koen Lampaert Mindspeed Technologies Chung-Kuan Cheng University of California, San.

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
Solving problems by searching
Announcements Course TA: Danny Kumar
Octagonal Drawing Johan van Rooij. Overview What is an octagonal drawing Good slicing graphs Octagonal drawing algorithm for good slicing graphs Correctness.
Native-Conflict-Aware Wire Perturbation for Double Patterning Technology Szu-Yu Chen, Yao-Wen Chang ICCAD 2010.
AVL Trees1 Part-F2 AVL Trees v z. AVL Trees2 AVL Tree Definition (§ 9.2) AVL trees are balanced. An AVL Tree is a binary search tree such that.
Transform and Conquer Chapter 6. Transform and Conquer Solve problem by transforming into: a more convenient instance of the same problem (instance simplification)
Label Placement and graph drawing Imo Lieberwerth.
AA Trees another alternative to AVL trees. Balanced Binary Search Trees A Binary Search Tree (BST) of N nodes is balanced if height is in O(log N) A balanced.
Balanced Search Trees. 2-3 Trees Trees Red-Black Trees AVL Trees.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
I/O-Algorithms Lars Arge University of Aarhus March 1, 2005.
Design Bright-Field AAPSM Conflict Detection and Correction C. Chiang, Synopsys A. Kahng, UC San Diego S. Sinha, Synopsys X. Xu, UC San Diego A. Zelikovsky,
CSE 242A Integrated Circuit Layout Automation Lecture: Floorplanning Winter 2009 Chung-Kuan Cheng.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Solving problems by searching
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning © KLMH Lienig 1 Modern Floorplanning Based on B*-Tree and Fast.
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)
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.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
Simulated Annealing.
Global Routing.
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.
10/20/2015 2:03 PMRed-Black Trees v z. 10/20/2015 2:03 PMRed-Black Trees2 Outline and Reading From (2,4) trees to red-black trees (§9.5) Red-black.
Chapter 13 B Advanced Implementations of Tables – Balanced BSTs.
Balanced Search Trees Fundamental Data Structures and Algorithms Margaret Reid-Miller 3 February 2005.
Deferred Decision Making Enabled Fixed- Outline Floorplanner Jackey Z. Yan and Chris Chu DAC 2008.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
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.
A Memetic Algorithm for VLSI Floorplanning Maolin Tang, Member, IEEE, and Xin Yao, Fellow, IEEE IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART.
Lecture 11COMPSCI.220.FS.T Balancing an AVLTree Two mirror-symmetric pairs of cases to rebalance the tree if after the insertion of a new key to.
Yen-Ting Yu Iris Hui-Ru Jiang Yumin Zhang Charles Chiang DRC-Based Hotspot Detection Considering Edge Tolerance and Incomplete Specification ICCAD’14.
Week 10 - Friday.  What did we talk about last time?  Graph representations  Adjacency matrix  Adjacency lists  Depth first search.
Balanced Search Trees Chapter 19 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
State space representations and search strategies - 2 Spring 2007, Juris Vīksna.
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
1 Binary Search Trees   . 2 Ordered Dictionaries Keys are assumed to come from a total order. New operations: closestKeyBefore(k) closestElemBefore(k)
Solving problems by searching
Balanced Search Trees 2-3 Trees AVL Trees Red-Black Trees
Partial Reconfigurable Designs
Combinatorics of colouring 3-regular trees
AA Trees.
G64ADS Advanced Data Structures
Red-Black Trees v z Red-Black Trees Red-Black Trees
Red-Black Trees 5/17/2018 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and.
Red-Black Trees 5/22/2018 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and.
Binary search tree. Removing a node
Red Black Trees
Courtsey & Copyright: DESIGN AND ANALYSIS OF ALGORITHMS Courtsey & Copyright:
Red-Black Trees v z Red-Black Trees 1 Red-Black Trees
Review for Final Exam Non-cumulative, covers material since exam 2
Ch. 11 Trees 사실을 많이 아는 것 보다는 이론적 틀이 중요하고, 기억력보다는 생각하는 법이 더 중요하다.
VLSI Physical Design Automation
Red-Black Trees v z Red-Black Trees 1 Red-Black Trees
CS202 - Fundamental Structures of Computer Science II
Red-Black Trees v z /20/2018 7:59 AM Red-Black Trees
Red-Black Trees v z Red-Black Trees Red-Black Trees
Sequence Pair Representation
Sheqin Dong, Song Chen, Xianlong Hong EDA Lab., Tsinghua Univ. Beijing
Red-Black Trees v z /17/2019 4:20 PM Red-Black Trees
Analysis of Algorithms CS 477/677
Binary Search Trees < > = Dictionaries
Red-Black Trees v z /6/ :10 PM Red-Black Trees
Presentation transcript:

Rectlinear Block Packing Using the O-tree Representation Yingxin Pang Koen Lampaert Mindspeed Technologies Chung-Kuan Cheng University of California, San Diego Weize Xie Hewlett-Packard Research Laboratories

Motivation Recent advance of sub-micron technology makes it possible to realize a big system on a single chip. Designing such a huge VLSI layout is hard and design reuse has been attracting much interest The integrated circuit components are not limited to rectangular blocks Traditional algorithms designed primarily for placing rectangle blocks are no longer effective

Basic Strategy Partition each rectilinear block into sub-rectangle blocks Treat each sub-rectangle blocks as a unit block The relationship of the sub-blocks of a rectilinear module are represented in a encoding or in additional constraints

Properties of Our Solution Compactness:  for each feasible compact placement, there is a feasible O-tree corresponding to it Efficiency:  the transformation form a feasible O-tree to a feasible placement takes a linear time

is a 2n-bit string which identifies the structure of the tree is a permutation of n nodes An O-tree is an ordered tree, which can be encoded by An Example: , abcdefg O-tree Representation

O-tree to Placement d c a e g f b

Configurations  Binary tree  Sequence pair  O-tree Storage needed for individual configuration  Binary tree  Sequence pair  O-tree Transformation to a placement  Binary tree  Sequence pair  O-tree O-tree’s Advantages

L-shaped blocks Type I L-shaped blocks Type II L-shaped blocks

L-admissible O-tree If L(B i,B j ) is type I L-shaped block, B i and B j are adjacent siblings  Type I L-shaped blocks:L(B 1, B 2 ), L(B 3,B 4 ), L(B 7, B 8 ) B8B8 B2B2 B3B3 B7B7 B6B6 B5B5 B4B4 B1B1 B9B9 B 10 B 11

L-admissible O-tree If L(B i,B j ) is a type II L-shaped block  If B i has no child No block between them in has horizontal spanning interval overlapping with B8B8 B2B2 B3B3 B7B7 B6B6 B5B5 B4B4 B1B1 B9B9 B 10 B 11 Type II L-shaped blocks: L(B 5, B 6 )

L-admissible O-tree  If B j has no child No block between them in has horizontal spanning interval overlapping with  If No block between them in has horizontal spanning interval overlapping with

L-admissible O-tree Theorem  If an O-tree is L-admissible, a minimum area placement satisfying both horizontal positioning constraints and L-shaped constraints can be built in O(n) time

L-admissible O-tree to Placement X-coordinate For every type II L-shaped block L(B i,B j ) Place the blocks by the depth first search order, place blocks as down as possible with x- coordinates fixed For every L-shaped block L(B i,B j )

L-admissible O-tree to Placement  B8B8 B2B2 B3B3 B7B7 B6B6 B5B5 B4B4 B1B1 B9B9 B 10 B 11 B8B8 B2B2 B3B3 B7B7 B6B6 B5B5 B4B4 B1B1 B9B9 B 10 B 11

Sufficiency of the L-admissible O-tree Theorem  Any compact placement containing L-shaped blocks can be encoded with an L-admissible O- tree.

Placement to L-admissible O-tree Partition all L-shaped blocks Construct a horizontal constraint graph B8B8 B2B2 B3B3 B7B7 B6B6 B5B5 B4B4 B1B1 B9B9 B 10 B 11

Placement to L-admissible O-tree Generate the shortest path tree B8B8 B2B2 B3B3 B7B7 B6B6 B5B5 B4B4 B1B1 B9B9 B 10 B 11

Placement to L-admissible O-tree For each type I L-shaped block L(B i,B j )  Delete the tree edge to B i  Add an edge to B i from parent of B j B8B8 B2B2 B3B3 B7B7 B6B6 B5B5 B4B4 B1B1 B9B9 B 10 B 11

Placement to L-admissible O-tree For each type II L-shaped block L(B i,B j )  if B i is compact to the left  move B j ’s children to be B i ’s children  else move B i ’s children to be B j ’s children B8B8 B2B2 B3B3 B7B7 B6B6 B5B5 B4B4 B1B1 B9B9 B 10 B 11

Properties of the L-admissible O-tree The width of the placement has not be changed after the alignment operation The height of the placement has not be changed after the abutment operation The non L-admissible O-tree is redundant No extra post process is needed

Rectilinear Block Packing L-partition the rectilinear blocks  A rectilinear block can be represented by a set of adjacent sub-L-shaped blocks Admissible O-tree  O-tree is admissible if it is L-admissible for all sub-L- shaped blocks Extend our approach to handle rectilinear blocks

L-partition Two adjacent sub-rectangle form L-shaped -rectangle insertion B1B1 B2B2 B3B3 B1B1 B2B2 B3B3 B3B3 B2B2 B1B1 B 12

Expandable Rectilinear Block

Rectilinear Block Packing Transitivity property for alignment  If a O-tree is L-admissible to two adjacent sub-L- shaped blocks {B i-1, B i } and {B i, B i+1 }, the alignment property for {B i-1, B i, B i+1 } can be restored by applying the moving and expanding operation Transitivity property for abutment  If a O-tree is L-admissible to two adjacent sub-L- shaped blocks {B i-1, B i } and {B i, B i+1 }, the abutment property for {B i-1, B i, B i+1 } can be restored by applying the lifting and expanding operation

The Heuristic Optimization Algorithm Delete a block from the O-tree  if it is a sub-block of an L-shaped block, delete the other sub-block Operate the tree rotation and insert the deleted blocks at the best insertion position in each O-tree Choose the best one according to the cost function

O-tree Rotation a b c d e f g a b c d e f g a b c d e f g a b c d e f g

An O-tree to Its Orthogonal O-tree

L-shaped Block Packing

Rectilinear Block Packing

Conclusions Develop a simple technique to handle rectilinear block packing problem Transforming an admissible O-tree to a placement can be realized in linear time No post-process needed to recover the original rectilinear shape