Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement. Imran M. Rizvi John Antony K.

Size: px
Start display at page:

Download "Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement. Imran M. Rizvi John Antony K."

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.

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 information

Estimation of Wirelength

Estimation 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 information

CAD Algorithms. Placement and Floorplanning

CAD 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 information

Simulated Annealing. Slides based on lecture by Van Larhoven

Simulated 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 information

Parallel Simulated Annealing for VLSI Cell Placement Problem

Parallel 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 information

Very Large Scale Integration (VLSI)

Very 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 information

CAD Flow for FPGAs Introduction

CAD 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 information

Digital VLSI Design. Lecture 7: Placement

Digital 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 information

Kapitel 5: Local Search

Kapitel 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 information

Place and Route for FPGAs

Place 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 information

Animation of VLSI CAD Algorithms A Case Study

Animation 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 information

Placement Algorithm for FPGA Circuits

Placement 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 information

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

COMPARATIVE 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 information

Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004

Genetic 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 information

Artificial Intelligence

Artificial 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 information

Hardware-Software Codesign

Hardware-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 information

Local 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 ) 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 information

Machine Learning for Software Engineering

Machine 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 information

Volume 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 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 information

L14 - Placement and Routing

L14 - 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 information

Local 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 ) 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 information

Local 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 ) 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 information

Simulated Annealing. G5BAIM: Artificial Intelligence Methods. Graham Kendall. 15 Feb 09 1

Simulated 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 information

Unit 5A: Circuit Partitioning

Unit 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 information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI 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 information

Available Optimization Methods

Available 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 information

Genetic Algorithm for FPGA Placement

Genetic 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 information

A 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 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 information

ICS 252 Introduction to Computer Design

ICS 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 information

CS 331: Artificial Intelligence Local Search 1. Tough real-world problems

CS 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 information

Optimization Techniques for Design Space Exploration

Optimization 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 information

Introduction VLSI PHYSICAL DESIGN AUTOMATION

Introduction 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 information

Non-deterministic Search techniques. Emma Hart

Non-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 information

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Evolutionary 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 information

Constructive floorplanning with a yield objective

Constructive 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 information

An Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid

An 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 information

EN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)

EN2911X: 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 information

Three-Dimensional Cylindrical Model for Single-Row Dynamic Routing

Three-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 information

INF Biologically inspired computing Lecture 1: Marsland chapter 9.1, Optimization and Search Jim Tørresen

INF 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 information

Simulated Annealing. Premchand Akella

Simulated 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 information

Applied Algorithm Design Lecture 6

Applied 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

(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 information

Algorithm Design (4) Metaheuristics

Algorithm 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 information

Single Candidate Methods

Single 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 information

Floorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence

Floorplan 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 information

Algorithms & Complexity

Algorithms & 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 information

CHAPTER 5 MAINTENANCE OPTIMIZATION OF WATER DISTRIBUTION SYSTEM: SIMULATED ANNEALING APPROACH

CHAPTER 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 information

Basic Idea. The routing problem is typically solved using a twostep

Basic 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 information

FastPlace 2.0: An Efficient Analytical Placer for Mixed- Mode Designs

FastPlace 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 information

Simulated Annealing for Placement Problem to minimise the wire length

Simulated 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 information

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.

Problem 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 information

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Reference. 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 information

Advanced Search Simulated annealing

Advanced 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 information

mywbut.com Informed Search Strategies-II

mywbut.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 information

Solving 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 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 information

Artificial Intelligence

Artificial 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 information

The Partitioning Problem

The 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 information

Georgia 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 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 information

Interactive segmentation, Combinatorial optimization. Filip Malmberg

Interactive 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 information

Rectangular Partitioning

Rectangular 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 information

OPTIMIZATION 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. 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 information

Simple mechanisms for escaping from local optima:

Simple 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 information

Hardware/Software Partitioning of Digital Systems

Hardware/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 information

Chapter 14 Global Search Algorithms

Chapter 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 information

An integrated placement and routing approach

An 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 information

Circuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk

Circuit 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 information

Parallel Implementation of VLSI Gate Placement in CUDA

Parallel 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 information

The Plan: Basic statistics: Random and pseudorandom numbers and their generation: Chapter 16.

The 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 information

Outline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement

Outline. 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 information

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit IV Monte Carlo

Scientific 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 information

Beyond Classical Search

Beyond 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 information

BACKEND DESIGN. Circuit Partitioning

BACKEND 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 information

Introduction 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 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 information

N-Queens problem. Administrative. Local Search

N-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 information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI 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 information

CAD Algorithms. Circuit Partitioning

CAD 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 information

Genetic Algorithm for Circuit Partitioning

Genetic 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 information

Physical Design Implementation for 3D IC Methodology and Tools. Dave Noice Vassilios Gerousis

Physical 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 information

Chapter 5 Global Routing

Chapter 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 information

Administrative. Local Search!

Administrative. 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 information

4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies

4 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 information

Graph Compact Orthogonal Layout Algorithm

Graph 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 information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI 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 information

Weight Annealing Heuristics for Solving the Two-Dimensional Bin Packing Problem

Weight 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 information

A Transistor-Level Placement Tool for Asynchronous Circuits

A 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 information

BEYOND CLASSICAL SEARCH

BEYOND 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 information

Introduction to Design Optimization: Search Methods

Introduction 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 information

Approximately Uniform Random Sampling in Sensor Networks

Approximately 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 information

Simulated 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 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 information

An Evolutionary Algorithm for Minimizing Multimodal Functions

An 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 information

Partitioning Methods. Outline

Partitioning 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 information

How to use the ruler, grid, guides, and the Align panel

How 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 information

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

5. 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 information

Artificial Intelligence

Artificial 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 information

A new Optimization Algorithm for the Design of Integrated Circuits

A 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 information

An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation*

An 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 information

Hybrid Particle Swarm-Based-Simulated Annealing Optimization Techniques

Hybrid 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 information

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

Partitioning. 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 information

PARALLEL GENETIC ALGORITHMS IMPLEMENTED ON TRANSPUTERS

PARALLEL 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 information

Abacus: Fast Legalization of Standard Cell Circuits with Minimal Movement

Abacus: 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