NuCAD ACG - Adjacent Constraint Graph for General Floorplans Hai Zhou and Jia Wang ICCD 2004, San Jose October 11-13, 2004.

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

1 Decomposing Hypergraphs with Hypertrees Raphael Yuster University of Haifa - Oranim.
Introduction to Graphs
Linear Constraint Graph for Floorplan Optimization with Soft Blocks Jia Wang Electrical and Computer Engineering Illinois Institute of Technology Chicago,
1 Chapter 22: Elementary Graph Algorithms IV. 2 About this lecture Review of Strongly Connected Components (SCC) in a directed graph Finding all SCC (i.e.,
Train DEPOT PROBLEM USING PERMUTATION GRAPHS
Junction Trees: Motivation Standard algorithms (e.g., variable elimination) are inefficient if the undirected graph underlying the Bayes Net contains cycles.
1 Spanning Trees Lecture 20 CS2110 – Spring
Tirgul 12 Algorithm for Single-Source-Shortest-Paths (s-s-s-p) Problem Application of s-s-s-p for Solving a System of Difference Constraints.
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.)
Connected Components, Directed Graphs, Topological Sort COMP171.
DAST 2005 Tirgul 11 (and more) sample questions. DAST 2005 Q.Let G = (V,E) be an undirected, connected graph with an edge weight function w : E→R. Let.
Stereo & Iterative Graph-Cuts Alex Rav-Acha Vision Course Hebrew University.
MRF Labeling With Graph Cut CMPUT 615 Nilanjan Ray.
Connected Components, Directed Graphs, Topological Sort Lecture 25 COMP171 Fall 2006.
Learning Equivalence Classes of Bayesian-Network Structures David M. Chickering Presented by Dmitry Zinenko.
Stereo Computation using Iterative Graph-Cuts
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.
Two Discrete Optimization Problems Problem #2: The Minimum Cost Spanning Tree Problem.
8/15/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 8. Floorplanning (2)
Accurate Process-Hotspot Detection Using Critical Design Rule Extraction Y. Yu, Y. Chan, S. Sinha, I. H. Jiang and C. Chiang Dept. of EE, NCTU, Hsinchu,
 Jim has six children.  Chris fights with Bob,Faye, and Eve all the time; Eve fights (besides with Chris) with Al and Di all the time; and Al and Bob.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Slide 14-1 Copyright © 2005 Pearson Education, Inc. SEVENTH EDITION and EXPANDED SEVENTH EDITION.
Simulated Annealing.
MA/CSSE 473 Day 12 Insertion Sort quick review DFS, BFS Topological Sort.
Spring 2015 Mathematics in Management Science Euler’s Theorems Euler Circuits & Paths ECT & EPT Burning Bridges Fleury’s Algorithm.
UNC Chapel Hill M. C. Lin Linear Programming Reading: Chapter 4 of the Textbook Driving Applications –Casting/Metal Molding –Collision Detection Randomized.
(CSC 102) Lecture 29 Discrete Structures. Graphs.
Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.
A Clustering Algorithm based on Graph Connectivity Balakrishna Thiagarajan Computer Science and Engineering State University of New York at Buffalo.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
MA/CSSE 473 Day 15 BFS Topological Sort Combinatorial Object Generation Intro.
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.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Nonoverlap of the Star Unfolding Boris Aronov and Joseph O’Rourke, 1991 A Summary by Brendan Lucier, 2004.
1 Triangulation Supplemental From O’Rourke (Chs. 1&2) Fall 2005.
Non-Slicing Floorplanning Joanna Ho David Lee David Omoto.
Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs) Dean L. Zeller Kent State University November 29 th, 2005.
Data Structures & Algorithms Graphs
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
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.
Planar Graphs Graph Coloring
Presenter : Kuang-Jui Hsu Date : 2011/3/24(Thur.).
Introduction to Graphs. This Lecture In this part we will study some basic graph theory. Graph is a useful concept to model many problems in computer.
1 Twin Binary Sequences: A Non-Redundant Representation for General Non-Slicing Floorplan Evan Young Department of Computer Science and Engineering The.
Topological Sort: Definition
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Introduction to Graph Theory
Great Theoretical Ideas in Computer Science for Some.
Network Partition –Finding modules of the network. Graph Clustering –Partition graphs according to the connectivity. –Nodes within a cluster is highly.
Tree - in “math speak” An ________ graph is a set of vertices/nodes and a set of edges, each edge connects two vertices. Any undirected graph in which.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Ion I. Mandoiu, Vijay V. Vazirani Georgia Tech Joseph L. Ganley Simplex Solutions A New Heuristic for Rectilinear Steiner Trees.
Partial Reconfigurable Designs
Proof technique (pigeonhole principle)
PC trees and Circular One Arrangements
Planarity Testing.
Sequence Pair Representation
Instructor: Shengyu Zhang
Haim Kaplan and Uri Zwick
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Constructing a m-connected k-Dominating Set in Unit Disc Graphs
Presentation transcript:

NuCAD ACG - Adjacent Constraint Graph for General Floorplans Hai Zhou and Jia Wang ICCD 2004, San Jose October 11-13, 2004

(2) Outline Floorplan and Constraint Graph Adjacent Constraint Graph Data Structure and Operations Experimental Result Summary

(3) Floorplan A floorplan contains non-overlapping modules.

(4) Constraint Graph Horizontal graph represents “left to” relation.

(5) Constraint Graph Vertical graph represents “below” relation.

(6) Constraint Graph There is at least one relation between any pair of modules.

(7) Redundancy in constraint graphs. Transitive edges.

(8) Redundancy in constraint graphs. Over-specification: more than one relation between two modules.

(9) Reduce the redundancy. Less edges means less running time and less storage requirement. Allow exactly one relation between any pair of modules. Remove all the transitive edges. Combine horizontal graph and vertical graph together.  Two types of edges: H and V. The remaining edges form a total order!

(10) Cross There are totally O(n 2 ) edges in the two constraint graphs where n is the number of modules. Can we get rid of that quadratic boundary by the previous steps? V H H H V V No. In the graph to the right, we have more than k 2 edges where there are only 2k modules. The basic structure could be identified as crosses in the graph.

(11) ACG-Adjacent Constraint Graph Definitions of ACG  Constraint graph.  Exactly one relation between every pair of modules.  No transitive edges.  No cross. Observation: in VHH cross, either ‘a’ is below ‘d’ or ‘c’ is below ‘b’.  Has similar result for HVV cross.

(12) Properties Symmetry  Still an ACG when edge directions reversed.  Still an ACG when edge types exchanged (H vs V). Constraint graph  Packing is as simple as longest path computations. Number of edges  Conjecture: O(n).  Experimental result: < 10n up to n = Close to adjacency graph  Preserve geometrical adjacency information.

(13) Data structure Vertices representing modules are linked as the total order. Every vertex maintains 4 lists of edges.  Correspond to 4 geometrical relationships (left/right, below/above). Every edge keeps its two end vertices. Every edge belongs to 2 lists (incoming/outgoing).  Edges from one list have a common end vertex.  An edge with a closer end vertex to the common vertex comes first.

(14) Operations Guideline  Maintain a valid ACG through operations to control the number of edges.  Operation cost (time/space) should be linear to the edges added/deleted. Append  We could construct an ACG by appending vertices. Swap  Will introduce crosses into the graph.  Swapping is complete when we allow crosses in ACG.

(15) Append Step 1: add edges with the same type.  Always follow the first edge of the other type to determine the next new edge. Step 2: add the first edge of the other type.  Still follow the first edge of the other type.

(16) Append Step 3: add edges whose types alternating.  Follow the edge after the edge connecting the other end points of the two previous added edges. Stop when we cannot proceed with step 3.

(17) Swap Step 1: exchange the positions of the two vertices.  This won’t affect the edge lists.  Suppose we are going to swap b and c. Step 2: change the edge type.  Need to change the edge direction too, i.e., from b->c to c->b.

(18) Swap Step 3: remove transitive edges.  Check c’s outgoing V neighbors and b’s incoming V neighbors.

(19) Swap Step 3: remove transitive edges.  Check c’s outgoing V neighbors and b’s incoming V neighbors. Step 4: add edges to keep original relations.  Connect c to b’s incoming H neighbors.  Connect b to c’s outgoing H neighbors. Refer to Lemma 4 for exceptions.

(20) Experiment Setup MCNC benchmarks: apte, hp, xerox, ami33, ami49. GSRC benchmarks: n100, n200, n300. Create ACG with appending operations. Employ the simulated annealing algorithm.  Adopt an annealing scheme similar to TCG-S.  Perturbations Change the orientation of a module. Exchange two modules. Swapping two adjacent vertices.  Allow crosses in ACG during perturbations. Compare running time as well as solution quality to FAST- SP, TCG, TCG-S, and Parquet-2 on area optimization. Running on a Sun Ultra 10, running time is in seconds.

(21) Experimental Result Compare to FAST-SP, TCG, and TCG-S on all the benchmarks. Compare to Parquet-2 on the GSRC benchmarks. We cut the number of perturbations by half in our SA.

(22) Experimental Result (Cont.) Number of edges.  Min/max edge give the minimal/maximal number of edges in the graph during SA.  Even we allow crosses, the number keeps small during SA. Floorplan for xerox with ACG edges.  Most edges are between adjacent modules.

(23) Summary ACG is a constraint graph. ACG is like an adjacency graph due to the fact that the redundancies in the traditional H/V constraint graphs are reduced. We have a neat data structure plus efficient operations. Future directions.  Enforce the no-cross rule in operations.  Interconnect estimation and planning (ASP-DAC 2005).  Is the number of edges really O(n)?

(24) Thanks!