A Snap-On Placement Tool Israel Waldman. Introduction.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

L30: Partitioning 성균관대학교 조 준 동 교수
CS6800 Advanced Theory of Computation
A Size Scaling Approach for Mixed-size Placement Kalliopi Tsota, Cheng-Kok Koh, Venkataramanan Balakrishnan School of Electrical and Computer Engineering.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Ripple: An Effective Routability-Driven Placer by Iterative Cell Movement Xu He, Tao Huang, Linfu Xiao, Haitong Tian, Guxin Cui and Evangeline F.Y. Young.
Consistent Placement of Macro-Blocks Using Floorplanning and Standard-Cell Placement Saurabh Adya Igor Markov (University of Michigan)
Early Days of Circuit Placement Martin D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
A Clustering Utility Based Approach for S. Areibi, M. Thompson, A. Vannelli uoguelph.ca September 2001 School of Engineering ASIC Design 14th.
Congestion Driven Placement for VLSI Standard Cell Design Shawki Areibi and Zhen Yang School of Engineering, University of Guelph, Ontario, Canada December.
Gizem ALAGÖZ. Simulation optimization has received considerable attention from both simulation researchers and practitioners. Both continuous and discrete.
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
ISQED’2015: D. Seemuth, A. Davoodi, K. Morrow 1 Automatic Die Placement and Flexible I/O Assignment in 2.5D IC Design Daniel P. Seemuth Prof. Azadeh Davoodi.
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
Placement 1 Outline Goal What is Placement? Why Placement?
Reconfigurable Computing (EN2911X, Fall07)
Can Recursive Bisection Alone Produce Routable Placements? Andrew E. Caldwell Andrew B. Kahng Igor L. Markov Supported by Cadence.
Force Directed Algorithm Adel Alshayji 4/28/2005.
Hard Optimization Problems: Practical Approach DORIT RON Tel Ziskind room #303
Merging Synthesis With Layout For Soc Design -- Research Status Jinian Bian and Hongxi Xue Dept. Of Computer Science and Technology, Tsinghua University,
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
7/15/ VLSI Placement Prof. Shiyan Hu Office: EERC 731.
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
Radial Basis Function Networks
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
Simulated Annealing G.Anuradha. What is it? Simulated Annealing is a stochastic optimization method that derives its name from the annealing process used.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Placement by Simulated Annealing. Simulated Annealing  Simulates annealing process for placement  Initial placement −Random positions  Perturb by block.
1 IE 607 Heuristic Optimization Simulated Annealing.
Seongbo Shim, Yoojong Lee, and Youngsoo Shin Lithographic Defect Aware Placement Using Compact Standard Cells Without Inter-Cell Margin.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
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.
March 20, 2007 ISPD An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Analytic Placement. Layout Project:  Sending the RTL file: −Thursday, 27 Farvardin  Final deadline: −Tuesday, 22 Ordibehesht  New Project: −Soon 2.
Improved Cut Sequences for Partitioning Based Placement Mehmet Can YILDIZ and Patrick H. Madden State University of New York at BinghamtonComputer Science.
Optimization Problems - Optimization: In the real world, there are many problems (e.g. Traveling Salesman Problem, Playing Chess ) that have numerous possible.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Simulated Annealing.
A Memetic Algorithm for VLSI Floorplanning Maolin Tang, Member, IEEE, and Xin Yao, Fellow, IEEE IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART.
Exact and heuristics algorithms
Local Search Algorithms
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 1 Course Overview Mustafa Ozdal Computer Engineering Department, Bilkent University.
Simulated Annealing G.Anuradha.
Optimization Problems
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
FPGA CAD 10-MAR-2003.
System in Package and Chip-Package-Board Co-Design
An Introduction to Simulated Annealing Kevin Cannons November 24, 2005.
Lecture 6 – Local Search Dr. Muhammad Adnan Hashmi 1 24 February 2016.
RTL Design Flow RTL Synthesis HDL netlist logic optimization netlist Library/ module generators physical design layout manual design a b s q 0 1 d clk.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Optimization Problems
Parallel Density-based Hybrid Clustering
VLSI Quadratic Placement
Nithin Michael, Yao Wang, G. Edward Suh and Ao Tang Cornell University
Computer Science cpsc322, Lecture 14
Sheqin Dong, Song Chen, Xianlong Hong EDA Lab., Tsinghua Univ. Beijing
Optimization Problems
EE5780 Advanced VLSI Computer-Aided Design
EDA Lab., Tsinghua University
Artificial Intelligence
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
Fast Min-Register Retiming Through Binary Max-Flow
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

A Snap-On Placement Tool Israel Waldman

Introduction

What does placement mean? In the chip design process, after a circuit designer implements the RTL as a set of interconnected gates, we go to layout design: placement: putting 100’s of millions of transistors in a very small area according to architectural and electrical specifications(timing, power, reliability etc.), routing: connecting them.

What is the goal of placement? The goal of placement in VLSI physical design is to produce a chip layout with optimized area and routability which also satisfies timing constraints.

What are we talking about? In this paper I will tell you about a new placement tool, called snap­on, which is based on multilevel hierarchical placement method. It has a top­down framework that combines existing packages and techniques, with some additional ideas. Experiments results show the strength of this new placement tool, it produces very good results on all the benchmarks.

The classical problem According to what cost function the final placement will done

The classical solutions

The net-cut approach Net: An electrical connection which connects several cells(e.g. AND-cell ADDER-cell etc.), gates or transistors together. Given a partitioning, a net n is not cut if and only if all of its terminals are located in the same part. The net-cut at a given hierarchical level is defined as the total number of cut nets.

Net-cut approach cont. In this method, the original circuit is partitioned into several tightly connected sub­circuits. The partitioning criteria is minimizing the net-cut cost. The final placement will be based on that partitioning with addition of local placement to produce a legal layout.

Wirelength In this method the criteria for placement is minimizing the total wirelength. In order to prevent all the cells from being placed in the same place (zero total wirelength), a balancing constraint is imposed. –Not in the same place –Enable routability Again, some local adjustments will be done to produce a legal layout.

Solving techniques There are two main techniques to solve problems involving cost function such as the placement problem: 1)Simulated annealing 2)Quadratic programming

Some mathematical notations The placement problem is a combinatorial optimization problem:A problem that involves the search for a optimum(maximum or minimum) of a cost function. The solution space of the placement problem grows exponentially with the size of the problem(NP complete). Hence, this problem is solved approximately by heuristic algorithms:Algorithms that makes compromise – trading off low computational cost for an approximation to the globally optimal solution.

Mathematical notations cont. Most of the heuristic algorithms are greedy. They start searching the solution from an arbitrary initial solution. Then, from all the solutions that can be reached from the current solution, the solution with the lowest cost will become the current solution, and so on. There are two major drawbacks to terminating at local minimum: 1)There is no way to determine the solution’s proximity to the global minimum. 2)The quality of the result is depend upon the initial solution.

Mathematical notations cont. To solve this problem we should use hill climbing. Randomizing algorithms have this property. A randomizing algorithm can accept a neighbor of the current solution as the next solution, regardless of its cost, by that we could escape from terminating at local minimum.

Simulated annealing For a number of problems such as standard-cell placement, Simulated annealing has proven to be the best known algorithm in terms of solution quality (measured by cost function e.g. wirelength). The SA algorithm functions like a pure randomizing algorithm early in the run, slowly switching over to a pure greedy algorithm by the end of the run.

Simulated annealing cont. However, the major drawback of the SA paradigm is its sometimes extremely high computational cost.

Quadratic programming In the quadratic assignment problem we are given a set of N objects, which have to be placed in N or more sites. Each pair of objects has its traffic intensity, and each pair of sites has its traffic cost (e.g. distance). The assignment solution should produce the minimum total cost.

Quadratic programming cont. In the placement problem we can choose our sites to be pre-specified locations on our layout area, our objects to be cells or sub-circuits, our traffic intensities to be the number of wires required between components, and our distances to be the inter-site wire length required. The quadratic algorithm is a combinatorial algorithm which uses heuristics, hence its computational cost isn’t high.

What is a top-down framework?

Top-down framework Since the top-down hierarchical methodology is one of the most effective way to solve the placement problem of large circuits, we use it as the basis for our snap-on placement tool. Our methodology will be a typical top-down hierarchical methodology placement approach which is based on recursive circuit partitioning.

Top-down framework cont. This methodology repeatedly divides a given circuit into sub circuits to optimize a given partitioning objective. At each level, the given layout area is partitioned in both horizontal and vertical direction (global bins). Each subcircuit is assigned to a partition (global bin). Recursive partitioning is repeated until each subcircuit contains a small number of cells.

In each hierarchical level i, the placement problem is to put cells into mi*ni global bins while minimizing a certain placement cost ( usually the total wirelength ).

A new snap­on placement tool

Merging existing tools What does it mean? - At the coarser placement levels, net-cut is chosen as the optimization objective to rapidly get an initial placement. - Later on, wirelength becomes the optimization objective till the end of the global placement procedure.

Why should we merge? The net­cut cost which is used in the partitioning problem is globally consistent with the wirelength cost in the placement problem. The partitioning problem is much easier problem then the placement problem. A leading partitioner can be faster than a good placement tool. Placement experiments showed that minimizing net­cut in each hierarchical level positively affects the wirelength quality of final solution.

How do we merge? The difference between the net­cut and the wirelength objective is the cost of external nets. The more the external nets, the bigger difference between these two objectives. It was empirically found that if more than 20%-30% nets are external, net-cut is no longer a good objective in order to minimize wirelength. Conclusion - At each hierarchical level, we will decide whether we should consider wirelength by looking at the net-cut ratio at this level.

When to stop global placement? Overlaps between cells exist in global placement since all the cells within the same global bin are initially placed at the bin’s center. After global placement, final placement procedure will be applied to remove these overlaps and make the placement legal. Obviously, the smaller the average number of cells in each global bin, the less effort the final placer will spend, on the other hand, stopping the global placement too late is not good either. Experiments shows that appropriate stopping point is where Navg is between 3-6.

Summary A workflow based on the above techniques

The framework of snap-on placement tool Partitioning package Partitioning package Simulated annealing package Other packages Input circuit CircuitPlacementDatabox Output placement ControlUnit CostEvaluator The cost evaluator calculates the placement cost and sends information to control unit. Pre–designed packages are available software packages or functional units using relevant techniques. The placement data box contains all the placement circuit information (standard cells, I/O pads, netlist etc.) and current status of the placement. The control unit initializes and masters the operation of the placement workflow.It reads current status and cost of the placement and determines which specific pre- designed package should be used at any specific time.

Control unit workflow At the coarser placement level, net­cut is chosen as the optimization objective to rapidly get an initial placement. We use proven partitioning software hMetis to minimize net­cut. When the top­down flow reaches a certain level in which the number of external nets occupies 20%- 30% of the number of total nets, simulated annealing begins to minimize wirelength on two dimensional placement plane.

Control unit workflow cont. This global placement stage ends when the stop criterion is satisfied, i.e., the average number of cells per global bin is less than a certain number. Finally, the achieved global placement is refined by the final placer to generate a legal placement as the ultimate solution.

Advantages The workflow utilizes both net­cut and wirelength minimizing steps. Partitioning ensures that cells with high connectivity are put into the same cluster while annealing drives clusters to their appropriate locations.

Results

We use hMetis partitioning package to minimize net­ cut and use simulated annealing to minimize the wirelength in global placement stage. As the final placer, we use the tool NRG. Total wirelength(WL) is measured in meters and running time(Time) in seconds. We compared the results of this approach with the state­of­art university placement tools, TimberWolf v7.0 and the best known quadratic placement.

Results table TW 7.0 Quadratic Ours TimeWLTimeWLTimeWLCircuit Prim Prm Biomed Ind Ind Avqs Avql

Results cont. This new tool produces comparable or better results than TimberWolf on all of MCNC benchmarks, it achieves much better wirelength (23.5%) result than TimberWolf v7.0 on benchmark avql. Its results are also comparable with one of the leading­edge quadratic placement tools- Force Quadratic method, on most of benchmarks, except avqs on which our approach is inferior.

What have we learned? The placement problem was introduced to you. We learned about two different mathematical techniques to solve this problem: Simulated annealing and Quadratic programming. We learned about two different optimization approaches to solve this problem: wirelength and net-cut. We have learned about a new placement tool which is based on top down hierarchical workflow and combines these two approaches to achieve impressive results.