Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

Chapter 4 Partition I. Covering and Dominating.
ECE 667 Synthesis and Verification of Digital Circuits
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Greedy Algorithms Greed is good. (Some of the time)
Greed is good. (Some of the time)
Label Placement and graph drawing Imo Lieberwerth.
A Size Scaling Approach for Mixed-size Placement Kalliopi Tsota, Cheng-Kok Koh, Venkataramanan Balakrishnan School of Electrical and Computer Engineering.
Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, Mixed Integer Programming Models.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
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.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
MCFRoute: A Detailed Router Based on Multi- Commodity Flow Method Xiaotao Jia, Yici Cai, Qiang Zhou, Gang Chen, Zhuoyuan Li, Zuowei Li.
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Power-Aware Placement
1 7-MST Minimal Spanning Trees Fonts: MTExtra:  (comment) Symbol:  Wingdings: Fonts: MTExtra:  (comment) Symbol:  Wingdings:
University of CreteCS4831 The use of Minimum Spanning Trees in microarray expression data Gkirtzou Ekaterini.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Graph Colouring Lecture 20: Nov 25.
Yield- and Cost-Driven Fracturing for Variable Shaped-Beam Mask Writing Andrew B. Kahng CSE and ECE Departments, UCSD Xu Xu CSE Department, UCSD Alex Zelikovsky.
Fast and Area-Efficient Phase Conflict Detection and Correction in Standard-Cell Layouts Charles Chiang, Synopsys Andrew B. Kahng, UC San Diego Subarna.
1 Efficient Placement and Dispatch of Sensors in a Wireless Sensor Network Prof. Yu-Chee Tseng Department of Computer Science National Chiao-Tung University.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
Metal Layer Planning for Silicon Interposers with Consideration of Routability and Manufacturing Cost W. Liu, T. Chien and T. Wang Department of CS, NTHU,
Exposure In Wireless Ad-Hoc Sensor Networks S. Megerian, F. Koushanfar, G. Qu, G. Veltri, M. Potkonjak ACM SIG MOBILE 2001 (Mobicom) Journal version: S.
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.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
A Topology-based ECO Routing Methodology for Mask Cost Minimization Po-Hsun Wu, Shang-Ya Bai, and Tsung-Yi Ho Department of Computer Science and Information.
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science.
Efficient Gathering of Correlated Data in Sensor Networks
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
Network Aware Resource Allocation in Distributed Clouds.
TSV-Aware Analytical Placement for 3D IC Designs Meng-Kai Hsu, Yao-Wen Chang, and Valerity Balabanov GIEE and EE department of NTU DAC 2011.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 EECS 527 Paper Presentation High-Performance.
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
BSG-Route: A Length-Matching Router for General Topology T. Yan and M. D. F. Wong University of Illinois at Urbana-Champaign ICCAD 2008.
Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
Tao Lin Chris Chu TPL-Aware Displacement- driven Detailed Placement Refinement with Coloring Constraints ISPD ‘15.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
Hsing-Chih Chang Chien Hung-Chih Ou Tung-Chieh Chen Ta-Yu Kuan Yao-Wen Chang Double Patterning Lithography-Aware Analog Placement.
An Efficient Linear Time Triple Patterning Solver Haitong Tian Hongbo Zhang Zigang Xiao Martin D.F. Wong ASP-DAC’15.
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Graph Colouring Lecture 20: Nov 25. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including.
Yen-Ting Yu Iris Hui-Ru Jiang Yumin Zhang Charles Chiang DRC-Based Hotspot Detection Considering Edge Tolerance and Incomplete Specification ICCAD’14.
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
Timing Model Reduction for Hierarchical Timing Analysis Shuo Zhou Synopsys November 7, 2006.
Efficient Placement and Dispatch of Sensors in a Wireless Sensor Network You-Chiun Wang, Chun-Chi Hu, and Yu-Chee Tseng IEEE Transactions on Mobile Computing.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
1 Double-Patterning Aware DSA Template Guided Cut Redistribution for Advanced 1-D Gridded Designs Zhi-Wen Lin and Yao-Wen Chang National Taiwan University.
On the Ability of Graph Coloring Heuristics to Find Substructures in Social Networks David Chalupa By, Tejaswini Nallagatla.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Prof. Yu-Chee Tseng Department of Computer Science
VLSI Physical Design Automation
Discrete ABC Based on Similarity for GCP
Chapter 7 – Specialized Routing
The minimum cost flow problem
Outline Introduction Network Model and Problem Formulation
Introduction Wireless Ad-Hoc Network
Chapter 9 Graph algorithms
Presentation transcript:

Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009

Outline Introduction Problem Formulation Weighted Conflict Graph Two-Stage Heuristic for the MIS Problem Experimental Results Conclusion

Introduction The clock structure for high-performance circuits consists of global and local parts. The global clock structure distributes clocks from a root to certain divided areas, and leaves of the distribution are called local clock drivers (LCD). The local clock structure distributes LCDs to registers. The topology used in the global clock is usually balanced/symmetric.

Introduction

In the previous design flow, cell placement including registers is performed before local clock design. Since clock tree synthesis is designed according to clock sinks (registers) which are given by the placement, register positions can affect the clock design greatly. While for high-performance circuit design with specified requirements, a local clock network is designed along with gate level placement.

Introduction

In [12], registers are aligned to embedded slots by linear assignment with register movement minimization. Register placement with respect to clock pins for various sizes of registers cannot be formulated optimally by linear assignment. [12] T. Okamoto, T. Kimoto and N. Maeda, “Design methodology and tools for NEC electronics’ structured ASIC ISSP,” in Proc. of ISPD, pp.90-96, 2004.

Introduction

Problem Formulation Problem 1: Given:  A global placement result of registers  Fixed-positioned clock pin points Objective:  Legalize registers with total/maximum movement as small as possible, such that each register pin is placed on the position of a clock pin and no overlaps between registers remain.

Problem Formulation Minimum Weighted Maximum Independent Set Formulation A weighted conflict graph G = (V, E, W) is a weighted undirected graph constructed from a given global register placement and fixed-positioned clock pins. Vertex v i,j ∈ V exists if and only if a placement of register r i on the position of clock pin p j is feasible. An edge (v i,j, v i’,j’ ) ∈ E exists if and only if i=i’, j=j’, or vertices v i,j and v i’,j’, where i≠i’ and j≠j’, result in overlapping placements.

Problem Formulation Weight w i,j ∈ W for v i,j is defined as the movement distance of r i from its original position to p j. Problem 2: Given a global placement result of registers and fixed- positioned clock pin points, find a minimum weighted maximum independent set V M from the weighted conflict graph. The register placement is to place register r i on clock pin p j according to each vertex v i,j ∈ V M. The weight of the independent set representing the total/maximal movement is minimized.

Weighted Conflict Graph Segment s i = [x 1, x 2 ] for clock pin p i is constructed by starting from p i and extending bi-direction horizontally until it meets obstacles or boundaries.

Weighted Conflict Graph Graph construction: The construction of weighted conflict graph G = (V, E, W) consists of vertex, edge, and weight constructions. For each clock pin p j on segment s k, calculate distance and from p j to x 1 and x 2 of s k. For pin t i in each register r i, calculate width and from t i to the left and right boundary of r i. v i,j ∈ V exists iff and, which means register r i can be placed on the position of clock pin p j.

Weighted Conflict Graph For every two vertices v i,j and v i’,j’, an edge (v i,j, v i’,j’ ) exists iff one of the following conditions is satisfied:  i=i’: there is only one placement for one register.  j=j’: one clock pin can only be assigned for one register.  There is an overlap between feasible placement v i,j and v i’,j’. For v i,j and v i’,j’, assume that p j and p j’ are on the same segment and p j is left to p j’, an overlap exists iff

Weighted Conflict Graph A weight w i,j is introduced for each vertex v i,j. The weight is defined as the movement of a register to the power of α. The movement is the distance between the register pin’s initial position and the clock pin position. Coordinate of the register pin of r i Coordinate of the clock pin p j

Weighted Conflict Graph

Graph Reduction Techniques Register flipping If there are some register pins near the right boundary while others near the left, the probability of overlaps may get higher. Flip registers horizontally to keep all registers have its pin near to the left or right boundary, to reduce overlaps.

Graph Reduction Techniques Use Manhattan circle to restrict the vertex construction. Manhattan circle is a 45◦-tilted square with the same Manhattan radius RM, from the center to any point on it. Don’t place the register on clock pins outside the circle during the vertex construction.

Two-Stage Heuristic for the MIS Problem Propose a two-stage heuristic to solve the MIS problem. First stage  Partition a design into many fixed-area subregions.  In each subregion, construct a weighted conflict graph and solve it by an iterative-based MIS heuristic. Second stage  Construct a weighted conflict graph for the whole design for registers unassigned in the first stage.  The register placement result is the union of minimum weighted MISs solved during two stages.

Two-Stage Heuristic for the MIS Problem

Solve the minimum weighted MIS problem based on an iterative method. Step 1: Construct a priority queue Q containing v i ∈ V by 3 keys: size of register r i, weight of vertex v i, degree of v i. Step 2: Extract first k vertices from Q as the vertex set of subgraph G’=(V’, E’, W’). Get sub-solution S’ by solving the MIS problem on G’. Step 3: Update graph G by deleting vertex v i ∈ S’ and vertices adjacent to v i. Q is also updated by new G. S’ is included into the solution S of graph G. Step 4: Repeat step 2 and step 3 until the graph or the queue is empty to get the final minimum weighted MIS solution S of graph G.

Two-Stage Heuristic for the MIS Problem

Experimental Results

Conclusion This paper studied the register placement problem which is a key component of local clock structure optimization for high-performance circuits. Efficient methods for the weighted conflict graph construction and reduction. Formulate the problem as a minimum weight maximum independent set problem.