8/15/2015 1 VLSI Physical Design Automation Prof. David Pan Office: ACES 5.434 Lecture 8. Floorplanning (2)

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
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
Fast Algorithms For Hierarchical Range Histogram Constructions
Approximations of points and polygonal chains
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Linear Constraint Graph for Floorplan Optimization with Soft Blocks Jia Wang Electrical and Computer Engineering Illinois Institute of Technology Chicago,
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
Global Flow Optimization (GFO) in Automatic Logic Design “ TCAD91 ” by C. Leonard Berman & Louise H. Trevillyan CAD Group Meeting Prepared by Ray Cheung.
Computational problems, algorithms, runtime, hardness
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Interconnect Estimation without Packing via ACG Floorplans Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern University U.S.A.
Rectangle Visibility Graphs: Characterization, Construction, Compaction Ileana Streinu (Smith) Sue Whitesides (McGill U.)
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.
Approximation Algorithms
Floorplanning Professor Lei He
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
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.
1 CSC 6001 VLSI CAD (Physical Design) January
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Floorplanning. Obtained by subdividing a given rectangle into smaller rectangles. Each smaller rectangle corresponds to a module.
EDA (CS286.5b) Day 18 Retiming. Today Retiming –cycle time (clock period) –C-slow –initial states –register minimization.
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.
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.
Simulated Annealing.
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)
UNC Chapel Hill M. C. Lin Linear Programming Reading: Chapter 4 of the Textbook Driving Applications –Casting/Metal Molding –Collision Detection Randomized.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
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.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Deferred Decision Making Enabled Fixed- Outline Floorplanner Jackey Z. Yan and Chris Chu DAC 2008.
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.
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.
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
ISPD 2001, Sonoma County, April 3rd, Consistent Floorplanning with Super Hierarchical Constraints Yukiko KUBO, Shigetoshi NAKATAKE, and Yoji KAJITANI.
1 Twin Binary Sequences: A Non-Redundant Representation for General Non-Slicing Floorplan Evan Young Department of Computer Science and Engineering The.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
Block Packing: From Puzzle-Solving to Chip Design
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
THREE DIMENSIONAL-PALLET LOADING PROBLEM BY ABDULRHMAN AL-OTAIBI.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
The Early Days of Automatic Floorplan Design
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
VLSI Physical Design Automation
VLSI Physical Design Automation
Advanced Algorithms Analysis and Design
The minimum cost flow problem
VLSI Physical Design Automation
Chapter 6. Large Scale Optimization
Sequence Pair Representation
Sheqin Dong, Song Chen, Xianlong Hong EDA Lab., Tsinghua Univ. Beijing
Integer Programming (정수계획법)
I. Floorplanning with Fixed Modules
Integer Programming (정수계획법)
VLSI Physical Design Automation
Chapter 6. Large Scale Optimization
Floorplanning (Adapted from Prof. E. Young’s and Prof. Y
Discrete Optimization
Presentation transcript:

8/15/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 8. Floorplanning (2)

2 8/15/2015 Linear Programming Approach “An Analytical Approach to Floorplan Design and Optimization”, Sutanthavibul, Shragowitz and Rosen, IEEE Transaction on CAD, 10: , June “An Analytical Approach to Floorplan Design and Optimization”, Sutanthavibul, Shragowitz and Rosen, IEEE Transaction on CAD, 10: , June 1991.

3 8/15/2015 Mixed Integer Linear Program A mathematical program such that: –The objective is a linear function. –All constraints are linear functions. –Some variables are real numbers and some are integers, i.e., “ mixed integer ”. It is almost like a linear program, except that some variables are integers. Can you think of which variables may be integer?

4 8/15/2015 Problem Formulation Minimize the packing area: –Assume that one dimension W is fixed. –Minimize the other dimension Y. Need to have constraints so that blocks do not overlap. Associate each block B i with 4 variables: –x i and y i : coordinates of its lower left corner. –w i and h i : width and height. W Y

5 8/15/2015 Non-overlapping Constraints For two non-overlapping blocks B i and B j, at least one of the following four linear constraints must be satisfied: BiBi BjBj (x i, y i ) (x j, y j ) hihi hjhj wiwi wjwj

6 8/15/2015 Integer Variables Use integer (0 or 1) variables x ij and y ij : x ij =0 and y ij =0 if (1) is true. x ij =0 and y ij =1 if (2) is true. x ij =1 and y ij =0 if (3) is true. x ij =1 and y ij =1 if (4) is true. Let W and H be upper bounds on the total width and height. Non-overlapping constraints:

7 8/15/2015 Formulation

8 8/15/2015 Formulation with Hard Blocks use a 0-1 integer variable z i for each block B i s.t. z i = 0 if B i is in the original orientation and z i = 1 if B i is rotated 90 o. If the blocks can be rotated, use a 0-1 integer variable z i for each block B i s.t. z i = 0 if B i is in the original orientation and z i = 1 if B i is rotated 90 o.

9 8/15/2015 Formulation with Soft Blocks If B i is a soft block, w i h i =A i. But this constraint is quadratic! Linearized by taking the first two terms of the Taylor expression of h i =A i /w i at w imax (max. width of block B i ). h i =h imin + i (w imax -w i ) where h imin =A i /w imax and i =A i /w imax 2

10 8/15/2015 Formulation with Soft Blocks If B i is soft and B j is hard:If B i is soft and B j is hard: If both B i and B j are soft:If both B i and B j are soft:

11 8/15/2015 Another way to linearize

12 8/15/2015 Solving Linear Program Linear Programming (LP) can be solved by classical optimization techniques in polynomial time. Mixed Integer LP (MILP) is NP-Complete. –The run time of the best known algorithm is exponential to the number of variables and equations

13 8/15/2015 Complexity For a problem with n blocks, and for the simplest case, i.e., all blocks are hard: –2n continuous variables (x i, y i ) –2n(n-1) +n integer variables (x ij, y ij, z i ) –4n 2 -2n linear constraints Practically, this method can only solve small size problems.

14 8/15/2015 Successive Augmentation A classical greedy approach to keep the problem size small: repeatedly pick a small subset of blocks to formulate a MILP, solve it together with the previously picked blocks with fixed locations and shapes: Y Partial Solution Next subset

15 8/15/2015 Floorplan Representations Slicing –Normalized Polish Expression: Wong & Liu [DAC-86] Mosaic (and General) –Corner Block List (CBL): Hong et al. [ICCAD-00] –Q-Sequence: Sakanushi & Kajitani [APCCAS-00] –Twin Binary Sequence (TBS): Young, Chu, Shen [ISPD-02] General –Polar graphs: Ohtsuki et al. [ICCST-70] –Sequence pair: Murata et al. [ ICCAD-95] –Bounded Slicing Grid (BSG): Nakatake [ICCAD-96] –Transitive Closure Graph (TCG): Lin & Chang [DAC-01] Compacted –O-tree: Guo et al. [DAC-99] –B*-tree: Chang et al. [DAC-00]

8/15/ General Floorplanning by Simulated Annealing: Sequence-Pair Representation Murata, Fujiyoshi, Nakatake, Kajitani, “VLSI Module Placement based on Rectangle-Packing by the Sequence-Pair”, TCAD, 15: , December 1996.

17 8/15/2015 Sequence-Pair vs. Polish Expression Sequence-Pair is a succinct representation of non- slicing floorplans of rectangles –Just like Polish Expression for slicing floorplans Represent a non-slicing floorplan by a pair of sequences of blocks. Using Simulated Annealing to find a good sequence-pair Can only handle hard blocks –i.e., cannot do things like shape-curve computation Essentially macro placement Techniques for soft block shaping exist (e.g., Lagrangian Relaxation) but are very slow

18 8/15/2015 Sequence Pair Positive step line sequence: ecadfb Negative step line sequence: fcbead

19 8/15/2015 Positive Locus and Negative Locus Positive Locus of Block b Negative Locus of Block b

20 8/15/2015 Sequence-Pair Positive Loci Negative Loci Sequence-Pair = (abdecf, cbfade)

21 8/15/2015 Geometric Info of Sequence-Pair Given a placement and the corresponding sequence-pair (P, N): a is right to b iff a is after b in both P and N. a is left to b iff a is before b in both P and N. a is above b iff a is before b in P and after b in N. a is below b iff a is after b in P and before b in N.

22 8/15/2015 From Sequence-Pair to a Placement Given a sequence-pair, the placement with smallest area can be found in O(n 2 ) time. Algorithms of time O(n log log n) or O(n log n) exist. But faster than O(n 2 ) algorithm only when n is quite large. Labeled grid for (abdecf, cbfade) a b d e c f c b f a d e

23 8/15/2015 From Sequence-Pair to Placement Distance from left (bottom) edge can be found using the longest path algorithm on the horizontal (vertical) constraint graph. Horizontal Constraint GraphVertical Constraint Graph

24 8/15/2015 Sequence Pair (SP) A floorplan is represented by a pair of permutations of the module names: e.g A sequence pair (s 1, s 2 ) of n modules can represent all possible floorplans formed by the n modules by specifying the pair-wise relationship between the modules.

25 8/15/2015 Sequence Pair Consider a pair of modules A and B. If the arrangement of A and B in s 1 and s 2 are: –( … A … B …, … A … B … ), then the right boundary of A is on the left hand side of the left boundary of B. –( … A … B …, … B … A … ), then the upper boundary of B is below the lower boundary of A.

26 8/15/2015 Example Consider the sequence pair: (13245,41352 ) Any other SP that is also valid for this packing?

27 8/15/2015 Floorplan Realization Floorplan realization is the step to construct a floorplan from its representation. How to construct a floorplan from a sequence pair? We can make use of the horizontal and vertical constraint graphs (G h and G v ).

28 8/15/2015 Floorplan Realization Whenever we see ( … A … B …, … A … B … ), add an edge from A to B in G h with weight w A. Whenever we see ( … A … B …, … B … A … ), add an edge from B to A in G v with weight h A. Add a source vertex s to G h and G v pointing, with weight 0, to all vertices without incoming edges. Finally, find the longest paths from s to every vertex in G h and G v (how?), which are the coordinates of the lower left corner of the module in the packing.

29 8/15/2015 Example (13245,41352 ) s 0 0 GhGh s 0 0 GvGv

30 8/15/2015 Constraint Graphs How many edges are there in G h and G v in total? Is there any transitive edges in G h and G v ? How to remove the transitive edges? Can we reduce the size of G h and G v to linear, i.e., no. of edges is of order O(n), by removing all the transitive edges?

31 8/15/2015 Moves Three kinds of moves in the annealing process: M1: Rotate a module, or change the shape of a module M2: Interchange 2 modules in both sequences M3: Interchange 2 modules in the first sequence Does this set of move operations ensure reachability? Why?

32 8/15/2015 Pros and Cons of SP Advantages: –Simple representation –All floorplans can be represented. –The solution space is finite. (How big?) Disadvantages: –Redundant representation. The representation is not 1-to-1. –The size of the constraint graphs, and thus the runtime to construct the floorplan is quadratic

33 8/15/2015 Questions Can we improve the runtime to realize a floorplan from its SP representation? ( “ FAST-SP: A Fast Algorithm for Block Placement on Sequence Pair ”, X. Tang and D.F. Wong, ASP-DAC 2001, pp )

34 8/15/2015 Summary of Floorplanning Stockmeyer –Slicing with given set of modules –Dynamic programming (only keep irredundant solutions) Wong-Liu –Slicing floorplan –Nice polish expression Sequence pair –Nonslicing –Nice compact representation Mixed Integer Linear Programming –Nonslicing –Not scalable