Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.

Slides:



Advertisements
Similar presentations
1 Multi-Bend Bus-Driven Floorplanning Jill H.Y.Law & Evangeline F.Y.Young The Chinese University of Hong Kong.
Advertisements

THERMAL-AWARE BUS-DRIVEN FLOORPLANNING PO-HSUN WU & TSUNG-YI HO Department of Computer Science and Information Engineering, National Cheng Kung University.
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
A Graph-Partitioning-Based Approach for Multi-Layer Constrained Via Minimization Yih-Chih Chou and Youn-Long Lin Department of Computer Science, Tsing.
Native-Conflict-Aware Wire Perturbation for Double Patterning Technology Szu-Yu Chen, Yao-Wen Chang ICCAD 2010.
Greedy Algorithms Greed is good. (Some of the time)
Linear Constraint Graph for Floorplan Optimization with Soft Blocks Jia Wang Electrical and Computer Engineering Illinois Institute of Technology Chicago,
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
Paul Falkenstern and Yuan Xie Yao-Wen Chang Yu Wang Three-Dimensional Integrated Circuits (3D IC) Floorplan and Power/Ground Network Co-synthesis ASPDAC’10.
Multi-Project Reticle Floorplanning and Wafer Dicing Andrew B. Kahng 1 Ion I. Mandoiu 2 Qinke Wang 1 Xu Xu 1 Alex Zelikovsky 3 (1) CSE Department, University.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
Routability-Driven Blockage-Aware Macro Placement Yi-Fang Chen, Chau-Chin Huang, Chien-Hsiung Chiou, Yao-Wen Chang, Chang-Jen Wang.
Automated Layout and Phase Assignment for Dark Field PSM Andrew B. Kahng, Huijuan Wang, Alex Zelikovsky UCLA Computer Science Department
Interconnect Estimation without Packing via ACG Floorplans Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern University U.S.A.
Fixed-outline Floorplanning Through Better Local Search
NuCAD ACG - Adjacent Constraint Graph for General Floorplans Hai Zhou and Jia Wang ICCD 2004, San Jose October 11-13, 2004.
©Brooks/Cole, 2003 Chapter 12 Abstract Data Type.
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
CSE 242A Integrated Circuit Layout Automation Lecture: Floorplanning Winter 2009 Chung-Kuan Cheng.
Two Discrete Optimization Problems Problem #2: The Minimum Cost Spanning Tree Problem.
Triple Patterning Aware Detailed Placement With Constrained Pattern Assignment Haitong Tian, Yuelin Du, Hongbo Zhang, Zigang Xiao, Martin D.F. Wong.
2D Rectangular Packing with LFF and LFF/T Presented by Y. T. Wu.
Saman Amarasinghe ©MIT Fall 1998 Simple Machine Model Instructions are executed in sequence –Fetch, decode, execute, store results –One instruction.
Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has.
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.
Graphics Pipeline Clipping CMSC 435/634. Graphics Pipeline Object-order approach to rendering Sequence of operations – Vertex processing – Transforms.
8/15/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 8. Floorplanning (2)
Dynamic Programming – Part 2 Introduction to Algorithms Dynamic Programming – Part 2 CSE 680 Prof. Roger Crawfis.
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.
 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.
Fall 2002 Lecture 14: Instruction Scheduling. Saman Amarasinghe ©MIT Fall 1998 Outline Modern architectures Branch delay slots Introduction to.
Hungarian Algorithm Vida Movahedi Elderlab, York University June 2007.
Simulated Annealing.
Pattern Selection based co-design of Floorplan and Power/Ground Network with Wiring Resource Optimization L. Li, Y. Ma, N. Xu, Y. Wang and X. Hong WuHan.
1 Modern Floorplanning Based on Fast Simulated Annealing Tung-Chieh Chen* and Yao-Wen Chang* # Graduate Institute of Electronics Engineering* Department.
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.
UNC Chapel Hill M. C. Lin Linear Programming Reading: Chapter 4 of the Textbook Driving Applications –Casting/Metal Molding –Collision Detection Randomized.
Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010.
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.
AUTOMATIC BUS PLANNER FOR DENSE PCBS Hui Kong, Tan Yan and Martin D.F. Wong Department of Electrical and Computer Engineering, University of Illinois at.
ANALYSIS AND IMPLEMENTATION OF GRAPH COLORING ALGORITHMS FOR REGISTER ALLOCATION By, Sumeeth K. C Vasanth K.
Dept. of Electrical and Computer Engineering The University of Texas at Austin E-Beam Lothography Stencil Planning and Optimization wit Overlapped Characters.
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.
Rectlinear Block Packing Using the O-tree Representation Yingxin Pang Koen Lampaert Mindspeed Technologies Chung-Kuan Cheng University of California, San.
Data Structures & Algorithms Graphs
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.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
1 Twin Binary Sequences: A Non-Redundant Representation for General Non-Slicing Floorplan Evan Young Department of Computer Science and Engineering The.
Homework - hints Problem 1. Node weights  Edge weights
2/27/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (II)
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
The Early Days of Automatic Floorplan Design
Partial Reconfigurable Designs
All-pairs Shortest paths Transitive Closure
Technology Migration Technique for Designs with Strong RET-driven Layout Restrictions Xin Yuan, Kevin McCullen, Fook-Luen Heng, Robert Walker, Jason Hibbeler,
CS120 Graphs.
Finding Heuristics Using Abstraction
Sequence Pair Representation
Algorithms for Budget-Constrained Survivable Topology Design
Automated Layout and Phase Assignment for Dark Field PSM
Fast Min-Register Retiming Through Binary Max-Flow
Presentation transcript:

Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.

Floorplanning & Bus Planning Bus planning An important issue for floorplanning in DSM Buses: Different widths Go through several module blocks The positions of module blocks heavily affect bus planning.

An Example (a) A floorplan with 2 buses. (b) Neither bus can be assigned.

Bus-Driven Floorplanning (BDF) Given: A set of rectangular macro blocks A set of buses Objective: Decide positions of blocks and buses Constraints: No overlap between any two blocks No overlap between any two horizontal (vertical) buses Buses go through all of the related blocks Minimize chip area as well as the total bus area

Preliminary Sequence Pair A pair of sequences of n elements representing a list of n blocks. Block position relationship ( … b i … b j …, … b i … b j … ) ( … b i … b j …, … b j … b i … ) Bus representation

Feasible Buses Feasible Horizontal Bus Bus is feasible  y max – y min ≥ w, where y max = min {y i + h i | i =1, …, k} y min = max {y i | i =1, …, k}

Necessary Condition for One Bus (a) A horizontal bus ( … A … D … B … C …, … A … D … B … C … ) (b) A vertical bus ( … A … C … B …, … B … C … A … )

Necessary Condition for One Bus Theorem 1 (Block Ordering) Given: A sequence pair (X, Y) A bus u = {b 1, b 2, …, b k } If u is feasible The ordering of the k blocks should be either the same or reverse in X and Y. Same order  Horizontal bus Reverse order  Vertical bus

Bus Ordering between Two Buses Given two horizontal buses: u = {a 1, …, a m } and v = {b 1, …, b n } Let S u = {a 1, …, a m }, S v = {b 1, …, b n }. S = S u ∪ S v and L = |S| ( L ≤ m + n ) Given a sequence pair (X, Y) = ( … c 1 … c 2 … … c L …, … d 1 … d 2 … … d L … ) where c i ∈ S and d i ∈ S Subsequence pair: (X ’, Y ’) = ( c 1 c 2 … c L, d 1 d 2 … d L ) Let p[c i ] = i and q[d i ] = i (i = 1, …, L)

Bus Ordering between Two Buses Case 1 ;  bus u is above bus v  Bus Constraint Two buses: {A, B, C} {D, E, F} SubSequence pair (D A E B F C, A D B E C F)

Bus Ordering between Two Buses Case 2 ;  bus u is below bus v  Bus Constraint Two buses: {A, B, C} {B, D, E} SubSequence pair (A D B C E, D A B E C)

Bus Ordering between Two Buses Case 3 (Bus Crossing) ;  u and v can’t be assigned at the same time Two buses: {A, B} {C, D} SubSequence pair (A C D B, C A B D)

Bus Ordering between Two Buses Case 4  No Bus Constraint Two buses: {A, B, C} {D, E} SubSequence pair (A D B E C, A D B E C)

Multiple Bus Ordering The ordering of buses in a BDF solution cannot be a cycle For example: Bus u is above bus v Bus v is above bus w Bus w is above bus u

Bus Ordering Constraint Graph Each bus is represented by a node. If one bus u is above bus v (Case 1 or 2), then add one edge (u, v). If two buses u and v are crossing (Case 3), then two edges (u, v) and (v, u) are added. If two buses have no bus constraint (Case 4), then no edges are added.

Cycles in Constraint Graph A cycle in a bus ordering constraint graph  At least one bus cannot be assigned Two kinds of cycles A cycle caused by bus crossing (Case 3) A cycle caused by multiple buses

Cycles in Constraint Graph (cont) A cycle caused by bus crossing Two buses: {A, B} {C, D} SubSequence pair (A C D B, C A B D)

Cycles in Constraint Graph (cont) A cycle caused by multiple buses Three buses: {A 1, A 2 } {B 1, B 2 } {C 1, C 2 } Sequence pair ( A 1 B 1 B 2 C 1 C 2 A 2, B 1 A 1 C 1 B 2 A 2 C 2 )

Cycles in Constraint Graph (cont) Remove fewest nodes from a constraint graph  The graph contains no cycles It is proved to be an NP-Complete problem. A heuristic approach If a node whose in-degree or out-degree is zero, then the node should not be removed. If all nodes whose in-degree and out-degree are non-zero, remove the node with the max degree.

Node Removal in Constraint Graph (a) A constraint graph with cycles.(b) Nodes a, e and d are good nodes and they are not considered.

Node Removal in Constraint Graph (b) Nodes a, e and d are good nodes and they are not considered. (c) Node c has the max degree and it is removed from the graph.

Node Removal in Constraint Graph (a) A constraint graph with cycles. (d) Nodes c and i are removed to break cycles.

BDF Algorithm Simulated Annealing Perturbation (Move) Cost Function Evaluation Algorithm

Perturbation (Move) Swap Exchange two blocks in the first sequence Exchange two blocks in the second sequence Take constant time Rotation Exchange the width and height of a block No change to the sequence pair Take constant time

Cost Function Objective Fit in all buses Minimize the chip area Minimize the total bus area Cost Function C : the chip area B : the total bus area M : the number of unassigned buses

Evaluation Algorithm Transform a sequence pair to a BDF solution How to detect infeasible buses ? Violate block ordering  Discard the bus Bus nodes form cycles in a constraint graph  Node Removal How to decide block positions ? Longest Common Subsequence Computation (LCS) How to assign buses ? Assign a bus if its related blocks have been processed Related blocks may have to move up/left to meet bus alignment requirement

Bus Assignment Buses are processed from bottom to top one by one Buses are ordered according to bus constraint graph Bus u ={A, B, C} is above v ={E, B, G}. v should be assigned before u.

Bus Assignment (cont) Block alignment for one bus y max = max {y i | i = 1, …, k} y i = max (y i, y max + w – h i ) Bus_Overlap (a) Two buses overlap(b) No overlap between two buses

(b) Blocks appear interlaced. (A D B E C, A D B E C) Bus Assignment (cont) Cases for Bus_Overlap Two buses have ordering constraint (Case 1 or 2), no Bus_Overlap Two buses have no ordering constraint (Case 4), there are 3 cases (a) Two buses share at least one block. (c) Blocks appear non-interlaced. (A B C D E, A B C D E) Bus_Overlap may happen for (a) and (b)

Evaluation Algorithm Evaluation_BDF (seq_pair, buses){ 1. Feasible_Bus_Checking_Orientation // Remove buses which cannot be assigned due to block ordering or // cycles in constraint graphs. At the same time, decide bus orientation 2. Bus_Ordering //Sort buses according to below-above/left-right relationship 3. Modified_lcs_computation //Calculate the positions of blocks and buses 4. Cost_Calculation 5. Return cost }

Soft Block Adjustment Blocks on longest common subsequence paths decide the chip size. Each time, one soft block on a longest common subsequence path is selected, and its width and height are adjusted. Simulated Annealing is applied again to find a compact floorplan.

Soft Block Adjustment (cont) An example Blocks B, D, E are on a critical path. E is selected and adjusted. The chip size is reduced.

Experimental Results Hardware: workstation (2.4GHz) with 1G memory Software: C++ Test files MCNC benchmarks Industry designs Bus grid test files

Experimental Results (cont) (a) MCNC benchmarks FileBlocksBuses Packing ResultsSoft Block Adjustment Time(s)DeadspaceTime(s)Deadspace apte %12 (+1)0.72% xeorx %13 (+1)0.95% hp %28 (+0)0.62% ami %62 (+1)0.94% ami %86 (+5)1.27% ami %101 (+3)0.85% ami %281 (+3)0.84% ami %268 (+3)1.09%

Experimental Results (cont) Ami49-2 (after soft-adjustment) 49 blocks, 12 buses Buses {0, 5, 9, 12, 18} {1, 10, 21, 25} {2, 28, 33} {3, 19, 22, 26, 29, 34} {4, 23, 27} {5, 35, 30, 6} {32, 31, 17} {11, 14, 15, 32, 33} {12, 8, 14} {44, 43, 7} {0, 3} {2, 47}

Experimental Results (cont) (b) Industry designs Filecad1cad2 Blocks4057 Buses1316 Time (s) Deadspace4.40%5.16% cad2 BDF Solution

Experimental Results (cont) (c) Bus grid test files Filegrid4grid5grid6grid7 Blocks Buses Time (s) Deadspace0% Optimal BDF Solution for grid7

Conclusion Analyze the relationship between bus ordering and sequence pair representation Propose an algorithm for simultaneous floorplanning and bus planning using simulated annealing Experimental results demonstrate its effectiveness and efficiency