Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement. Imran M. Rizvi John Antony K.
|
|
- Dominic Hamilton
- 5 years ago
- Views:
Transcription
1 Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement By Imran M. Rizvi John Antony K. Manavalan
2 TimberWolf Algorithm for Placement Abstract: Our goal was to study the TimberWolf package and algorithm for the VLSI design problems, specifically placement. The TimberWolf package is based on simulated annealing which is a probabilistic, iterative improvement technique. The iterative improvement does not allow for acceptance of a state whose energy is higher than the current state s energy, which means that once it is stuck into a local minimum it can t get out; simulated annealing allows the provision to accept states with higher energies in hope that it will get out of local minimums. The TimberWolf is an extension of the simulated annealing with certain constraints and restrictions on the cost functions, cooling schedule, move set and solution space. Introduction: Placement is the process of arranging the circuit on a layout surface. The process of placement consists of finding the optimal physical locations for the VLSI cells on the given layout area if we are provided with the dimensions of the cells, the collection of nets joining them, and the Input/Output ports on the boundary. The optimal locations mean that they minimize the given objective function, according to some constraints. The objective function usually is the Total wire length, while the constraints can be avoidance overlap of cells, max chip area size, The placement of the VLSI cells and the blocks is an NP-Complete combinatorial problem and various algorithms and techniques have been applied over the years to solve it. Most of them do not produce good results or are too time consuming. The main objective of the placement problem is to assign the partitions to specific cells such that an
3 objective functions (e.g. Total Wire length) is minimized, which will result is the minimization of the total area of chip. TimberWolf 3.2 is a standard cell placement and routing tool. It places the cells such that the total estimated interconnect cost is minimized. In this stage it uses the simulated annealing algorithms. After that the tool routes the placed cells and tweaks them for the area optimization. We focused on the placement part of it. TimberWolf has achieved area efficiency from 15% to 75% on numerous industrial circuits. Previous placement techniques were either 1) manual which required a lot of man hours or 2) Automatic in which the algorithms used were not flexible enough. The TimberWolf used the idea of simulated annealing, which is inspired from annealing of solids, which leads to a crystal structure. TimberWolf packages handles stander cell circuit configurations, in which the standard cells are arranges in horizontal rows and where as many as 11 macro blocks are permitted on chip. Furthermore the pads are placed around the periphery of the chip. Annealing of Solids TimberWolf uses the simulated annealing algorithms. Simulated annealing is the most well developed algorithm for the cell placement. Simulated annealing is inspired by the annealing of solids. The process of solidification consists of going from a high energy, disordered state to a low energy state. In The high energy state the movement of molecules of solid is random and fast. As the energy is lowered or the temperature is lowered by cooling the molecules for a regular crystalline structure. This corresponds to the low energy state. To achieve this, solid is annealed, heated to a temperature that permits many atomic rearrangements, then cooled slowly and carefully so as to allow them to arrange in crystal structure on cooling. This is real annealing, the process of simulated annealing tries to mimic it by analogous set of controlled cooling operations to transform a poor unordered optimization solution into a highly ordered optimized solution.
4 Simulated Annealing, analogy to physical annealing: The simulated annealing is a part of iterative improvement strategies. Which attempts to perturb an existing random or initial solution in the direction of a better, optimal, low-cost solution. This can be understood by the following example. Let us assume that there is an initial solution and we perturb it a little bit so that it can reach another solution in its neighborhood which has a lesser cost. The present solution is shown by a ball in the diagram. We apply a small random perturb to the solution (that is we change the existing solution a little bit) to get a nearby solution with less cost. The neighborhood of the current solution is from A to B. this process can continue starting from the new configuration until no further improvement are obtained at which point the process terminates. This method seems reasonable but it has a serious problem: it is easily trapped in the local minima. Solution that looks good in a small neighborhood but not necessarily the global optimum. This standard iterative improvement is a down-hill only style.each new solution moves to downwards only and thus becoming trapped in local minima. Cost Current Configuration Allowed Downward Perturbation A B Configuration C Global Minima Neighborhood
5 The simulated annealing is the same method as the above mentioned iterative improvement strategy but with one difference. It allows the perturbations to uphill in a controlled fashion. The individual perturbations are the moves or changes which will lead to a different solution slightly different (in neighborhood) of the original one. So now with simulated annealing each move can form an existing configuration into a worse configuration of higher energy by jumping uphill and out of the local minima. So now it is possible to jump out of the local minima to a more promising downhill path. However because the uphill moves are carefully controlled we don t have to worry about getting close to a final solution, only to randomly jump uphill to some far worse one. The analogy of different parameters in the real annealing to those in simulated one is as following Simulated Annealing and VLSI Placement:?? Arrangement of atoms = a new configuration of cells ( a new solution)?? Total configurations = Total solution set?? Perturbation = small random movement of cells to get new configuration (possible solution).?? Energy = Cost function?? Temperature = control parameter?? Cooling schedule = starting temperature and a rule how to decrease the temperate or how to cool The idea of temperature in simulated annealing is of a control parameter to moderate the uphill moves, in other way it will regulate the acceptance of the high energy or high cost solutions. That is if the temperature is high it will allow the uphill jump and if it is low it
6 will only not allow higher jumps and at freezing temperature it will turn greedy and only let down hill moves. A Random perturbation is proposed such as moving a particle to a new location and then evaluating the resulting change in energy? E. If? E is reduced the new configuration has lower energy and is accepted as the starting point for the next move. However, if the energy is increased, the move may still happen, the new higher energy configuration may be acceptable. In physical systems, jumps to higher energy do happen but are moderated by the current temperature T. At higher temperatures, the probability of large uphill moves in energy is large and at low temperatures the probability is small. This is modeled by the Metropolis algorithm which uses a Boltzmann Distribution, the probability of an uphill move of size delta E at temperature T is Pr [accept] = e -? E/T. In practice this probabilistic acceptance is achieved by generating a uniform random number R in [0, 1] and comparing it against the threshold Pr [accept]. Only if R < Pr is the move accepted. Thus very probably moves can be rejected and very improbable moves can be accepted at least occasionally. By successively lowering the temperature and running this algorithm, we can simulate the material coming into equilibrium at each newly reduced temperature and thus effectively simulate the physical annealing. For the placement problem a legal configuration is just an assignment of cells to locations. The cost function we choose is simply the total estimated wire length. The cooling schedule will be the simplest possible, that is it will be a geometrically decreasing temperature. TimberWolf 3.2: Based on the input data and the parameters supplied by user TimberWolf 3.2 constructs the standard cell circuit topology. These parameters in conjunction with the total width of standard cells will enable TimberWolf to compute the initial position and the target length of the rows. Macro blocks are placed next, followed by placement of pads. Pads and macro blocks retain their initial positions, and only the placement of standard cells is optimized. Following initial placement, the algorithm then performs
7 placement and routing in three distinct stages. In the first stage, cells are placed so as to minimize the estimated wire length. In the second stage feed through cells are inserted as required, wire length is minimized again and then preliminary global routing is done. In the third stage local changes are made in the placement to reduce the number of wiring tracks. The objective function which TimberWolf 3.2 attempts to minimize during the placement is the estimated interconnect cost. The purpose of the first stage is to find a placement of standard cells such that the total estimated interconnects cost is minimized. Perturb (Generate) Function: (Move Set): A neighbor function called perturb (generate) is used to produce new states by making a random selection from one of three possible perturb functions which are?? Move a single cell to a new location?? Swap two cells?? Mirror a cell about the x-axis AlgorithmsStructure(j0,T0){ T=T0; X=j0; While( Stopping criterion is not satisfied){ While ( inner loop criterion ){ J=generate(X); If(accept(c(j)),c(X),T){ X=j; } } T = update(t); } } accept( c(j), c(i), T) { delta c = c (j) c(i); y = f(delta c, T ) ; r= random (0,1); if( r < y ) { return( 1 ); } else { return ( 0 ); } }
8 The accept function is given by function f shown below f (? c, T ) = min 1, e -? E/T The acceptance function shows the probability of acceptance of bad or uphill and high cost( energy ) moves. If the temperature is high the probability function f is high and the bad uphill move is accepted, so the solution will come out of local minima. But if the temperature is low then the probability of accepting the up hill moves is very low and the TimberWolf of accepts down hill moves. TimberWolf 3.2 uses cell mirroring less frequently when compared to cell displacement and pair wise cell swapping. In particular mirroring is attempted in 10% of the cases only. (xa,y a) * Wt Window Range Limiter: Perturbations are limited to a region within a window of height Ht and width Wt. For example if a cell must be displaced the target location is found within the limiting window centered around the cell. Therefore two cells A and B centered at (xa,ya) and (xb,yb) are selected for interchange only if xa-xb <= W t and ya-yb < = H t.
9 The dimensions of the window are decreasing functions of the temperature T. If current temperature is T1 and next temperature is T 2 are decreased as follows. the window width and height W(T2 )= W(T 1 ) * {log(t 2 )/log(t 1 ) } H(T2 )= H(T 1 ) * {log(t 2 )/log(t 1 ) } Cost function: The cost function used by TimberWolf 3.2 is the sum of three components? =?1 +?2 +?3?1 is a measure of the total estimated wire length. for any net i if the horizontal and vertical spans are given by Xi and Y i then the estimated length of the net is X i +Y i. This must be multiplied by the weight Wi of the net. Further sophistication may be achieved by associating two weights to the net. The horizontal component wi H and vertical component wi H Thus,? 1?? i? nets H V? w. X? w. Y? i i i i the weight of a net is useful in indicating how critical the net is. If a net is part of a critical part, for example we want it to be as short as possible so that it introduces as little wiring delay as possible. We can increase the weight of critical nets to achieve this goal. independent horizontal and vertical weights give the users the flexibility to favor
10 connections in one direction over the other. Thus in the cell vertical spans may be given preference over horizontal tracks. This can be accomplished by lowering the weight w V. In chips where feed troughs are costly in terms of area, horizontal wiring may be preferred by lowering w H. Overlap: When a cell is displacing, or two cells are swapped, it is possible that there is an overlap between two or more cells. Let Oij indicate the area of overlap between two cells i and j. clearly, overlaps are undesirable and must be minimized, the second component of the cost function?2 is interpreted as the penalty of overlaps and is defined as follows? 2? w? 2 i? j 2?? O ij in the above equation, the w 2 is the weight for penalty. the reason for squaring the overlap is to provide much larger penalties for larger overlaps. Due to cell displacement and pair wise exchanges of cells, the length of a row might larger or smaller. Uneven Row Length in Standard Cell Design The third component of the cost function represents a penalty for the length of a row R exceeding (or falling short of) the expected length L R.? 3?? L R? L R w 3 rows
11 where W3 is the weight of unevenness. Uneven distribution of row lengths results in wastage of chip area. There is also experimental evidence indicating dependence of both the total wire length and the routability of the chip on the evenness of distribution. Annealing Schedule: The cooling schedule is represented by T? T?T i? 1?? i. Where A(t) is the cooling rate parameter which is determined experimentally. The annealing process is started at a very high initial temperature say 4*10e6. Initially the temperature is reduced rapidly?? T? = 0.8. In the medium range the temperature is reduced slowly,?? T? =0.95, most processing is done in this range. In the low temperature range the temperature is reduced rapidly again.?? T? =0.8. The algorithm is terminated when t<1. Inner Loop Criterion: At each temperature, a fixed number of moves are attempted. The optimum number of moves depends upon the size of the circuit. From experiments for a 200 cell circuit, 100 moves per cell are recommended which calls for the valuation of 2.34*10E6 configuration in about 125 temperature steps. For a 3000 cell circuit 700 moves per cell are recommended which translates to a total of 247.5*10E6 attempts. Wire Length estimates :
12 An efficient and commonly used method to estimate the wire length is the semiperimeter method. The wire length is approximated by half the perimeter of the smallest bounding rectangle enclosing all the pins. For Manhattan wiring, this method gives the exact wire length for all two terminal or three terminal nets. This method of wiring estimate is used in Timber Wolf. Conclusion : The combinatorial optimization problems like placement can very effectively solved by simulated annealing and applying effective constraints to the algorithms. The TimberWolf package is the first to take advantage of the hill-climbing probabilistic approach of the simulated annealing. With effective cost functions, move criterion and cooling schedule we can achieve high area efficiency. The TimberWolf package has given better results that industry standard placers from AMI (American Microsystems Inc) and Intel. With dynamic criterions and parallel implementations the time and area efficacy can be further increased. References : 1. VLSI Physical Design Automation by Sadiq Sait and Habib Youssef 2. TimberWolf 3.2 : A New Standard Cell Placement and Global Routing Package By Carl Sechen and Alberto Sangiovanni-Vincentelli 3. Simulated Annealing Algorithms : An Overview by R. A. Rutenbar 4. VLSI Cell Placement Techniques by K. Shahookar and P. Mazumder
Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.
Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on
More informationEstimation of Wirelength
Placement The process of arranging the circuit components on a layout surface. Inputs: A set of fixed modules, a netlist. Goal: Find the best position for each module on the chip according to appropriate
More informationCAD Algorithms. Placement and Floorplanning
CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:
More informationSimulated Annealing. Slides based on lecture by Van Larhoven
Simulated Annealing Slides based on lecture by Van Larhoven Iterative Improvement 1 General method to solve combinatorial optimization problems Principle: Start with initial configuration Repeatedly search
More informationParallel Simulated Annealing for VLSI Cell Placement Problem
Parallel Simulated Annealing for VLSI Cell Placement Problem Atanu Roy Karthik Ganesan Pillai Department Computer Science Montana State University Bozeman {atanu.roy, k.ganeshanpillai}@cs.montana.edu VLSI
More informationVery Large Scale Integration (VLSI)
Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA
More informationCAD Flow for FPGAs Introduction
CAD Flow for FPGAs Introduction What is EDA? o EDA Electronic Design Automation or (CAD) o Methodologies, algorithms and tools, which assist and automatethe design, verification, and testing of electronic
More informationDigital VLSI Design. Lecture 7: Placement
Digital VLSI Design Lecture 7: Placement Semester A, 2016-17 Lecturer: Dr. Adam Teman 29 December 2016 Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied from
More informationKapitel 5: Local Search
Inhalt: Kapitel 5: Local Search Gradient Descent (Hill Climbing) Metropolis Algorithm and Simulated Annealing Local Search in Hopfield Neural Networks Local Search for Max-Cut Single-flip neighborhood
More informationPlace and Route for FPGAs
Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming
More informationAnimation of VLSI CAD Algorithms A Case Study
Session 2220 Animation of VLSI CAD Algorithms A Case Study John A. Nestor Department of Electrical and Computer Engineering Lafayette College Abstract The design of modern VLSI chips requires the extensive
More informationPlacement Algorithm for FPGA Circuits
Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationCOMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS
COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS Zoltan Baruch 1, Octavian Creţ 2, Kalman Pusztai 3 1 PhD, Lecturer, Technical University of Cluj-Napoca, Romania 2 Assistant, Technical University of
More informationGenetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004
Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004 Introduction Overview One of the principle problems in VLSI chip design is the layout problem. The layout problem is complex
More informationArtificial Intelligence
Artificial Intelligence Local Search Vibhav Gogate The University of Texas at Dallas Some material courtesy of Luke Zettlemoyer, Dan Klein, Dan Weld, Alex Ihler, Stuart Russell, Mausam Systematic Search:
More informationHardware-Software Codesign
Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 Outline Local search techniques and optimization Hill-climbing
More informationMachine Learning for Software Engineering
Machine Learning for Software Engineering Single-State Meta-Heuristics Prof. Dr.-Ing. Norbert Siegmund Intelligent Software Systems 1 2 Recap: Goal is to Find the Optimum Challenges of general optimization
More informationVolume 3, No. 6, June 2012 Journal of Global Research in Computer Science REVIEW ARTICLE Available Online at
Volume 3, No. 6, June 2012 Journal of Global Research in Computer Science REVIEW ARTICLE Available Online at www.jgrcs.info SIMULATED ANNEALING BASED PLACEMENT ALGORITHMS AND RESEARCH CHALLENGES: A SURVEY
More informationL14 - Placement and Routing
L14 - Placement and Routing Ajay Joshi Massachusetts Institute of Technology RTL design flow HDL RTL Synthesis manual design Library/ module generators netlist Logic optimization a b 0 1 s d clk q netlist
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 2 Outline Local search techniques and optimization Hill-climbing
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 2 Outline Local search techniques and optimization Hill-climbing
More informationSimulated Annealing. G5BAIM: Artificial Intelligence Methods. Graham Kendall. 15 Feb 09 1
G5BAIM: Artificial Intelligence Methods Graham Kendall 15 Feb 09 1 G5BAIM Artificial Intelligence Methods Graham Kendall Simulated Annealing Simulated Annealing Motivated by the physical annealing process
More informationUnit 5A: Circuit Partitioning
Course contents: Unit 5A: Circuit Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Simulated annealing based partitioning algorithm Readings Chapter 7.5 Unit 5A 1 Course
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 3 Chip Planning VLSI Physical Design: From Graph Partitioning to Timing Closure Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning to
More informationAvailable Optimization Methods
URL: http://cxc.harvard.edu/sherpa3.4/methods/methods.html Last modified: 11 January 2007 Return to: Optimization Methods Index Available Optimization Methods The primary task of Sherpa is to fit a model
More informationGenetic Algorithm for FPGA Placement
Genetic Algorithm for FPGA Placement Zoltan Baruch, Octavian Creţ, and Horia Giurgiu Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationA Simple Placement and Routing Algorithm for a Two-Dimensional Computational Origami Architecture
A Simple Placement and Routing Algorithm for a Two-Dimensional Computational Origami Architecture Robert S. French April 5, 1989 Abstract Computational origami is a parallel-processing concept in which
More informationICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design Placement Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred (none required) [Mic94] G. De Micheli Synthesis and
More informationCS 331: Artificial Intelligence Local Search 1. Tough real-world problems
CS 331: Artificial Intelligence Local Search 1 1 Tough real-world problems Suppose you had to solve VLSI layout problems (minimize distance between components, unused space, etc.) Or schedule airlines
More informationOptimization Techniques for Design Space Exploration
0-0-7 Optimization Techniques for Design Space Exploration Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University Outline Optimization problems in ERT system design Heuristic techniques Simulated
More informationIntroduction VLSI PHYSICAL DESIGN AUTOMATION
VLSI PHYSICAL DESIGN AUTOMATION PROF. INDRANIL SENGUPTA DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Introduction Main steps in VLSI physical design 1. Partitioning and Floorplanning l 2. Placement 3.
More informationNon-deterministic Search techniques. Emma Hart
Non-deterministic Search techniques Emma Hart Why do local search? Many real problems are too hard to solve with exact (deterministic) techniques Modern, non-deterministic techniques offer ways of getting
More informationEvolutionary Computation Algorithms for Cryptanalysis: A Study
Evolutionary Computation Algorithms for Cryptanalysis: A Study Poonam Garg Information Technology and Management Dept. Institute of Management Technology Ghaziabad, India pgarg@imt.edu Abstract The cryptanalysis
More informationConstructive floorplanning with a yield objective
Constructive floorplanning with a yield objective Rajnish Prasad and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts, Amherst, MA 13 E-mail: rprasad,koren@ecs.umass.edu
More informationAn Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR An Introduction to FPGA Placement Yonghong Xu Supervisor: Dr. Khalid RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR
More informationEN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)
EN2911X: Lecture 13: Design Flow: Physical Synthesis (5) Prof. Sherief Reda Division of Engineering, rown University http://scale.engin.brown.edu Fall 09 Summary of the last few lectures System Specification
More informationThree-Dimensional Cylindrical Model for Single-Row Dynamic Routing
MATEMATIKA, 2014, Volume 30, Number 1a, 30-43 Department of Mathematics, UTM. Three-Dimensional Cylindrical Model for Single-Row Dynamic Routing 1 Noraziah Adzhar and 1,2 Shaharuddin Salleh 1 Department
More informationINF Biologically inspired computing Lecture 1: Marsland chapter 9.1, Optimization and Search Jim Tørresen
INF3490 - Biologically inspired computing Lecture 1: Marsland chapter 9.1, 9.4-9.6 2017 Optimization and Search Jim Tørresen Optimization and Search 2 Optimization and Search Methods (selection) 1. Exhaustive
More informationSimulated Annealing. Premchand Akella
Simulated Annealing Premchand Akella Agenda Motivation The algorithm Its applications Examples Conclusion Introduction Various algorithms proposed for placement in circuits. Constructive placement vs Iterative
More informationApplied Algorithm Design Lecture 6
Applied Algorithm Design Lecture 6 Pietro Michiardi Institut Eurécom Pietro Michiardi (EUR) Applied Algorithm Design Lecture 6 1 / 91 Local Search Algorithms Pietro Michiardi (EUR) Applied Algorithm Design
More information(Lec 14) Placement & Partitioning: Part III
Page (Lec ) Placement & Partitioning: Part III What you know That there are big placement styles: iterative, recursive, direct Placement via iterative improvement using simulated annealing Recursive-style
More informationAlgorithm Design (4) Metaheuristics
Algorithm Design (4) Metaheuristics Takashi Chikayama School of Engineering The University of Tokyo Formalization of Constraint Optimization Minimize (or maximize) the objective function f(x 0,, x n )
More informationSingle Candidate Methods
Single Candidate Methods In Heuristic Optimization Based on: [3] S. Luke, "Essentials of Metaheuristics," [Online]. Available: http://cs.gmu.edu/~sean/book/metaheuristics/essentials.pdf. [Accessed 11 May
More informationFloorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence
Floorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence Chen-Wei Liu 12 and Yao-Wen Chang 2 1 Synopsys Taiwan Limited 2 Department of Electrical Engineering National Taiwan University,
More informationAlgorithms & Complexity
Algorithms & Complexity Nicolas Stroppa - nstroppa@computing.dcu.ie CA313@Dublin City University. 2006-2007. November 21, 2006 Classification of Algorithms O(1): Run time is independent of the size of
More informationCHAPTER 5 MAINTENANCE OPTIMIZATION OF WATER DISTRIBUTION SYSTEM: SIMULATED ANNEALING APPROACH
79 CHAPTER 5 MAINTENANCE OPTIMIZATION OF WATER DISTRIBUTION SYSTEM: SIMULATED ANNEALING APPROACH 5.1 INTRODUCTION Water distribution systems are complex interconnected networks that require extensive planning
More informationBasic Idea. The routing problem is typically solved using a twostep
Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a
More informationFastPlace 2.0: An Efficient Analytical Placer for Mixed- Mode Designs
FastPlace.0: An Efficient Analytical Placer for Mixed- Mode Designs Natarajan Viswanathan Min Pan Chris Chu Iowa State University ASP-DAC 006 Work supported by SRC under Task ID: 106.001 Mixed-Mode Placement
More informationSimulated Annealing for Placement Problem to minimise the wire length
Simulated Annealing for Placement Problem to minimise the wire length Ajay Sharma 2nd May 05 Contents 1 Algorithm 3 1.1 Definition of Algorithm...................... 3 1.1.1 Algorithm.........................
More informationProblem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.
Clock Routing Problem Formulation Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Better to develop specialized routers for these nets.
More informationReference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering
FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Logic Design Process Combinational logic networks Functionality. Other requirements: Size. Power. Primary inputs Performance.
More informationAdvanced Search Simulated annealing
Advanced Search Simulated annealing Yingyu Liang yliang@cs.wisc.edu Computer Sciences Department University of Wisconsin, Madison [Based on slides from Jerry Zhu, Andrew Moore http://www.cs.cmu.edu/~awm/tutorials
More informationmywbut.com Informed Search Strategies-II
Informed Search Strategies-II 1 3.3 Iterative-Deepening A* 3.3.1 IDA* Algorithm Iterative deepening A* or IDA* is similar to iterative-deepening depth-first, but with the following modifications: The depth
More informationSolving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm
Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm Kok-Hua Loh Nanyang Technological University Bruce Golden University of Maryland Edward Wasil American University
More informationArtificial Intelligence
Artificial Intelligence Informed Search and Exploration Chapter 4 (4.3 4.6) Searching: So Far We ve discussed how to build goal-based and utility-based agents that search to solve problems We ve also presented
More informationThe Partitioning Problem
The Partitioning Problem 1. Iterative Improvement The partitioning problem is the problem of breaking a circuit into two subcircuits. Like many problems in VLSI design automation, we will solve this problem
More informationGeorgia Institute of Technology College of Engineering School of Electrical and Computer Engineering
Georgia Institute of Technology College of Engineering School of Electrical and Computer Engineering ECE 8832 Summer 2002 Floorplanning by Simulated Annealing Adam Ringer Todd M c Kenzie Date Submitted:
More informationInteractive segmentation, Combinatorial optimization. Filip Malmberg
Interactive segmentation, Combinatorial optimization Filip Malmberg But first... Implementing graph-based algorithms Even if we have formulated an algorithm on a general graphs, we do not neccesarily have
More informationRectangular Partitioning
Rectangular Partitioning Joe Forsmann and Rock Hymas Introduction/Abstract We will look at a problem that I (Rock) had to solve in the course of my work. Given a set of non-overlapping rectangles each
More informationOPTIMIZATION OF TRANSISTOR-LEVEL FLOORPLANS FOR FIELD-PROGRAMMABLE GATE ARRAYS. Ryan Fung. Supervisor: Jonathan Rose. April 2002
OPTIMIZATION OF TRANSISTOR-LEVEL FLOORPLANS FOR FIELD-PROGRAMMABLE GATE ARRAYS by Ryan Fung Supervisor: Jonathan Rose April 2002 OPTIMIZATION OF TRANSISTOR-LEVEL FLOORPLANS FOR FIELD-PROGRAMMABLE GATE
More informationSimple mechanisms for escaping from local optima:
The methods we have seen so far are iterative improvement methods, that is, they get stuck in local optima. Simple mechanisms for escaping from local optima: I Restart: re-initialise search whenever a
More informationHardware/Software Partitioning of Digital Systems
Hardware/Software Partitioning of Digital Systems F. Dufour Advisor: M. Radetzki Department of Technical Computer Science University of Stuttgart Seminar Embedded Systems Outline 1 Partitioning and digital
More informationChapter 14 Global Search Algorithms
Chapter 14 Global Search Algorithms An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Introduction We discuss various search methods that attempts to search throughout the entire feasible set.
More informationAn integrated placement and routing approach
Retrospective Theses and Dissertations 2006 An integrated placement and routing approach Min Pan Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/rtd Part of the Electrical
More informationCircuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk
Circuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk Andrew A. Kennings, Univ. of Waterloo, Canada, http://gibbon.uwaterloo.ca/ akenning/ Igor L. Markov, Univ. of
More informationParallel Implementation of VLSI Gate Placement in CUDA
ME 759: Project Report Parallel Implementation of VLSI Gate Placement in CUDA Movers and Placers Kai Zhao Snehal Mhatre December 21, 2015 1 Table of Contents 1. Introduction...... 3 2. Problem Formulation...
More informationThe Plan: Basic statistics: Random and pseudorandom numbers and their generation: Chapter 16.
Scientific Computing with Case Studies SIAM Press, 29 http://www.cs.umd.edu/users/oleary/sccswebpage Lecture Notes for Unit IV Monte Carlo Computations Dianne P. O Leary c 28 What is a Monte-Carlo method?
More informationOutline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement
Outline Informed Search ECE457 Applied Artificial Intelligence Fall 2007 Lecture #3 Heuristics Informed search techniques More on heuristics Iterative improvement Russell & Norvig, chapter 4 Skip Genetic
More informationScientific Computing with Case Studies SIAM Press, Lecture Notes for Unit IV Monte Carlo
Scientific Computing with Case Studies SIAM Press, 2009 http://www.cs.umd.edu/users/oleary/sccswebpage Lecture Notes for Unit IV Monte Carlo Computations Dianne P. O Leary c 2008 1 What is a Monte-Carlo
More informationBeyond Classical Search
Beyond Classical Search Chapter 3 covered problems that considered the whole search space and produced a sequence of actions leading to a goal. Chapter 4 covers techniques (some developed outside of AI)
More informationBACKEND DESIGN. Circuit Partitioning
BACKEND DESIGN Circuit Partitioning Partitioning System Design Decomposition of a complex system into smaller subsystems. Each subsystem can be designed independently. Decomposition scheme has to minimize
More informationIntroduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 4: Beyond Classical Search
Introduction to Artificial Intelligence 2 nd semester 2016/2017 Chapter 4: Beyond Classical Search Mohamed B. Abubaker Palestine Technical College Deir El-Balah 1 Outlines local search algorithms and optimization
More informationN-Queens problem. Administrative. Local Search
Local Search CS151 David Kauchak Fall 2010 http://www.youtube.com/watch?v=4pcl6-mjrnk Some material borrowed from: Sara Owsley Sood and others Administrative N-Queens problem Assign 1 grading Assign 2
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 4 Global and Detailed Placement Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu 1 Chapter 4 Global and Detailed Placement 4.1 Introduction 4. Optimization Objectives 4.3 Global
More informationCAD Algorithms. Circuit Partitioning
CAD Algorithms Partitioning Mohammad Tehranipoor ECE Department 13 October 2008 1 Circuit Partitioning Partitioning: The process of decomposing a circuit/system into smaller subcircuits/subsystems, which
More informationGenetic Algorithm for Circuit Partitioning
Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationPhysical Design Implementation for 3D IC Methodology and Tools. Dave Noice Vassilios Gerousis
I NVENTIVE Physical Design Implementation for 3D IC Methodology and Tools Dave Noice Vassilios Gerousis Outline 3D IC Physical components Modeling 3D IC Stack Configuration Physical Design With TSV Summary
More informationChapter 5 Global Routing
Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of Routing Regions 5.5 The Global Routing Flow 5.6 Single-Net Routing 5.6. Rectilinear
More informationAdministrative. Local Search!
Administrative Local Search! CS311 David Kauchak Spring 2013 Assignment 2 due Tuesday before class Written problems 2 posted Class participation http://www.youtube.com/watch? v=irhfvdphfzq&list=uucdoqrpqlqkvctckzqa
More information4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies
55 4 INFORMED SEARCH AND EXPLORATION We now consider informed search that uses problem-specific knowledge beyond the definition of the problem itself This information helps to find solutions more efficiently
More informationGraph Compact Orthogonal Layout Algorithm
Graph Compact Orthogonal Layout Algorithm Kārlis Freivalds and Jans Glagoļevs Institute of Mathematics and Computer Science University of Latvia, Raina bulvaris 29, Riga, LV-1459, Latvia karlis.freivalds@lumii.lv,
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning to Timing
More informationWeight Annealing Heuristics for Solving the Two-Dimensional Bin Packing Problem
Weight Annealing Heuristics for Solving the Two-Dimensional Bin Packing Problem Kok-Hua Loh, Nanyang Technological University Bruce Golden, University of Maryland Edward Wasil, American University th ICS
More informationA Transistor-Level Placement Tool for Asynchronous Circuits
A Transistor-Level Placement Tool for Asynchronous Circuits M Salehi, H Pedram, M Saheb Zamani, M Naderi, N Araghi Department of Computer Engineering, Amirkabir University of Technology 424, Hafez Ave,
More informationBEYOND CLASSICAL SEARCH
4 BEYOND CLASSICAL In which we relax the simplifying assumptions of the previous chapter, thereby getting closer to the real world. Chapter 3 addressed a single category of problems: observable, deterministic,
More informationIntroduction to Design Optimization: Search Methods
Introduction to Design Optimization: Search Methods 1-D Optimization The Search We don t know the curve. Given α, we can calculate f(α). By inspecting some points, we try to find the approximated shape
More informationApproximately Uniform Random Sampling in Sensor Networks
Approximately Uniform Random Sampling in Sensor Networks Boulat A. Bash, John W. Byers and Jeffrey Considine Motivation Data aggregation Approximations to COUNT, SUM, AVG, MEDIAN Existing work does not
More informationSimulated annealing routing and wavelength lower bound estimation on wavelength-division multiplexing optical multistage networks
Simulated annealing routing and wavelength lower bound estimation on wavelength-division multiplexing optical multistage networks Ajay K. Katangur Yi Pan Martin D. Fraser Georgia State University Department
More informationAn Evolutionary Algorithm for Minimizing Multimodal Functions
An Evolutionary Algorithm for Minimizing Multimodal Functions D.G. Sotiropoulos, V.P. Plagianakos and M.N. Vrahatis University of Patras, Department of Mamatics, Division of Computational Mamatics & Informatics,
More informationPartitioning Methods. Outline
Partitioning Methods 1 Outline Introduction to Hardware-Software Codesign Models, Architectures, Languages Partitioning Methods Design Quality Estimation Specification Refinement Co-synthesis Techniques
More informationHow to use the ruler, grid, guides, and the Align panel
How to use the ruler, grid, guides, and the Align panel Much of your job as a page designer is to place text and graphics on the page in a pleasing, organized way. Although you can do much of this placing
More information5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing
1. Introduction 2. Cutting and Packing Problems 3. Optimisation Techniques 4. Automated Packing Techniques 5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing 6.
More informationArtificial Intelligence
Artificial Intelligence Information Systems and Machine Learning Lab (ISMLL) Tomáš Horváth 10 rd November, 2010 Informed Search and Exploration Example (again) Informed strategy we use a problem-specific
More informationA new Optimization Algorithm for the Design of Integrated Circuits
EUROCON 2007 The International Conference on Computer as a Tool Warsaw, September 9-12 A new Optimization Algorithm for the Design of Integrated Circuits Jernej Olenšek, Árpád Bűrmen, Janez Puhan, Tadej
More informationAn Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation*
An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation* Yingxin Pang Dept.ofCSE Univ. of California, San Diego La Jolla, CA 92093 ypang@cs.ucsd.edu Chung-Kuan Cheng Dept.ofCSE
More informationHybrid Particle Swarm-Based-Simulated Annealing Optimization Techniques
Hybrid Particle Swarm-Based-Simulated Annealing Optimization Techniques Nasser Sadati Abstract Particle Swarm Optimization (PSO) algorithms recently invented as intelligent optimizers with several highly
More informationPartitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.
Course contents: Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Readings Chapter 7.5 Partitioning 1 Basic Definitions Cell: a logic block used to build larger circuits.
More informationPARALLEL GENETIC ALGORITHMS IMPLEMENTED ON TRANSPUTERS
PARALLEL GENETIC ALGORITHMS IMPLEMENTED ON TRANSPUTERS Viktor Nìmec, Josef Schwarz Technical University of Brno Faculty of Engineering and Computer Science Department of Computer Science and Engineering
More informationAbacus: Fast Legalization of Standard Cell Circuits with Minimal Movement
EDA Institute for Electronic Design Automation Prof. Ulf Schlichtmann Abacus: Fast Legalization of Standard Cell Circuits with Minimal Movement Peter Spindler, Ulf Schlichtmann and Frank M. Johannes Technische
More information