Placement by Simulated Annealing. Simulated Annealing  Simulates annealing process for placement  Initial placement −Random positions  Perturb by block.

Slides:



Advertisements
Similar presentations
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
Advertisements

Neural and Evolutionary Computing - Lecture 4 1 Random Search Algorithms. Simulated Annealing Motivation Simple Random Search Algorithms Simulated Annealing.
Simulated Annealing Premchand Akella. Agenda Motivation The algorithm Its applications Examples Conclusion.
ISQED’2015: D. Seemuth, A. Davoodi, K. Morrow 1 Automatic Die Placement and Flexible I/O Assignment in 2.5D IC Design Daniel P. Seemuth Prof. Azadeh Davoodi.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 13, 2009 Placement II (Simulated Annealing)
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
Placement 1 Outline Goal What is Placement? Why Placement?
1 Approximate Solution to an Exam Timetabling Problem Adam White Dept of Computing Science University of Alberta Adam White Dept of Computing Science University.
Lecture 3: Field Programmable Gate Arrays II September 10, 2013 ECE 636 Reconfigurable Computing Lecture 3 Field Programmable Gate Arrays II.
Reconfigurable Computing (EN2911X, Fall07)
Physical Design Outline –What is Physical Design –Design Methods –Design Styles –Analysis and Verification Goal –Understand physical design topics Reading.
Lecture 4: FPGA Placement September 12, 2013 ECE 636 Reconfigurable Computing Lecture 4 FPGA Placement.
Simulated Annealing 10/7/2005.
Simulated Annealing Van Laarhoven, Aarts Version 1, October 2000.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
Introduction to Simulated Annealing 22c:145 Simulated Annealing  Motivated by the physical annealing process  Material is heated and slowly cooled.
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
By Rohit Ray ESE 251.  Most minimization (maximization) strategies work to find the nearest local minimum  Trapped at local minimums (maxima)  Standard.
Elements of the Heuristic Approach
Simulated Annealing.
Global Routing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 17: November 11, 2005 Placement (Simulated Annealing…)
CAD for Physical Design of VLSI Circuits
Un/DoPack: Re-Clustering of Large System-on-Chip Designs with Interconnect Variation for Low-Cost FPGAs Marvin Tom* Xilinx Inc.
Channel Width Reduction Techniques for System-on-Chip Circuits in Field-Programmable Gate Arrays Marvin Tom University of British Columbia Department of.
Regularity-Constrained Floorplanning for Multi-Core Processors Xi Chen and Jiang Hu (Department of ECE Texas A&M University), Ning Xu (College of CST Wuhan.
1 Simulated Annealing Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Simulated Annealing.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Congestion Estimation and Localization in FPGAs: A Visual Tool for Interconnect Prediction David Yeager Darius Chiu Guy Lemieux The University of British.
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)
Single-solution based metaheuristics. Outline Local Search Simulated annealing Tabu search …
Detailed Routing مرتضي صاحب الزماني.
Simulated Annealing in 512 bytes EMICRO2004 Microelectronics School Marcelo Johann B R A Z I L.
Simulated Annealing. Difficulty in Searching Global Optima starting point descend direction local minima global minima barrier to local search.
Routability-driven Floorplanning With Buffer Planning Chiu Wing Sham Evangeline F. Y. Young Department of Computer Science & Engineering The Chinese University.
FPGA CAD 10-MAR-2003.
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
An Introduction to Simulated Annealing Kevin Cannons November 24, 2005.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 16, 2011 Placement II (Simulated Annealing)
1 Field-programmable Gate Array Architectures and Algorithms Optimized for Implementing Datapath Circuits Andy Gean Ye University of Toronto.
FPGA Logic Cluster Design Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
Local Search Algorithms and Optimization Problems
Simulated Annealing To minimize the wire length. Combinatorial Optimization The Process of searching the solution space for optimum possible solutions.
Congestion-Driven Re-Clustering for Low-cost FPGAs MASc Examination Darius Chiu Supervisor: Dr. Guy Lemieux University of British Columbia Department of.
Interconnect Characteristics of 2.5-D System Integration Scheme Yangdong (Steven) Deng & Wojciech P. Maly
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Exhaustive search Hill.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)
A Snap-On Placement Tool Israel Waldman. Introduction.
CALTECH CS137 Winter DeHon 1 CS137: Electronic Design Automation Day 8: January 27, 2006 Cellular Placement.
RTL Design Flow RTL Synthesis HDL netlist logic optimization netlist Library/ module generators physical design layout manual design a b s q 0 1 d clk.
Constraints Satisfaction Edmondo Trentin, DIISM. Constraint Satisfaction Problems: Local Search In many optimization problems, the path to the goal is.
Local search algorithms In many optimization problems, the path to the goal is irrelevant; the goal state itself is the solution State space = set of "complete"
1 Architecture of Datapath- oriented Coarse-grain Logic and Routing for FPGAs Andy Ye, Jonathan Rose, David Lewis Department of Electrical and Computer.
Heuristic Optimization Methods
Van Laarhoven, Aarts Version 1, October 2000
By Rohit Ray ESE 251 Simulated Annealing.
Andy Ye, Jonathan Rose, David Lewis
ESP: A new Standard Cell Placement Package using Simulated Evolution
Topics Logic synthesis. Placement and routing..
ESE535: Electronic Design Automation
EDA Lab., Tsinghua University
Xin-She Yang, Nature-Inspired Optimization Algorithms, Elsevier, 2014
VPR 5.0: FPGA CAD and Architecture Exploration Tools with Single-Driver Routing, Heterogeneity and Process Scaling Jason Luu, Ian Kuon, Peter Jamieson,
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
Md. Tanveer Anwar University of Arkansas
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Placement by Simulated Annealing

Simulated Annealing  Simulates annealing process for placement  Initial placement −Random positions  Perturb by block exchanging  If Δcost < 0,  accept  otherwise, may still accept if const increase is not too much −Too much increase? −Depends on the algorithm stage 2

3 Search Space Cost  Avoids getting trapped in local minimum

4 Input: set of all cells V Output: placement P T = T 0 // set initial temperature P = PLACE(V)// arbitrary initial placement while (T > T min ) while (!STOP())// not yet in equilibrium at T new_P = PERTURB(P) Δcost = COST(new_P) – COST(P) if (Δcost < 0)// cost improvement P = new_P// accept new placement else// no cost improvement r = RANDOM(0,1)// random number [0,1) if (r < e -Δcost/T )// probabilistically accept P = new_P T = α ∙ T// reduce T, 0 < α < 1 Simulated Annealing – Algorithm

Temperature Reduction Function 5

Cost Decrease 6

SA Parameters Quality of result depends largely on parameters:  Initial Temperature  Final Temperature  Stop Criterion  Cooling Schedule  Move (Perturb) Function  Cost Function 7

VPR Package  V. Betz and J. Rose, “VPR: A new packing, placement and routing tool for FPGA research,” International Workshop on Field-Programmable Logic and Applications,  J. Luu, I. Kuon, P. Jamieson, T. Campbell, A. Ye, M. Fang, and J. Rose, “VPR 5.0: FPGA CAD and architecture exploration tools with single-driver routing, heterogeneity and process scaling,” in Int’l Symp. on Field-Programmable Gate Arrays, Feb. 2009, pp. 133–142.  VPR 5.0,  VPR 6.0, Beta Release, May 30,

Placement can Make A Difference MCNC Benchmark circuit e64 (contains LUT). Placed to a FPGA. Random Initial Placement Final Placement After Detailed Routing 9

TimberWolf Package  Based on simulated annealing  Handles both placement and routing Design styles:  gate-array,  standard-cell  macrocell 10

TimberWolf Gate-Array Placement State:  An assignment of the gates to the gate positions. Move  Interchange 2 gates, OR  Move a gate to a vacant position. Cost Function  Total wire length estimation  Congestion 11

Cooling Schedule  Initial temperature: 4x10 6  Final temperature:

ITools Variable die 33% smaller Translator, Floorplanner, Standard Cell Placer, Gate Array Placer, Global Router & Detail Router 13

TimberWolf for Standard Cell Perturbs:  Move  Swap  Mirror around y-axis 14

Range Limiter  What pairs of modules can be interchanged? Range Limiter for Move:  At the beginning, (W T, H T ) is very large −big enough to contain the whole chip.  Window size shrinks slowly as the temperature decreases. −Height and width  log(T).  Stage 2: window size is so small −No inter-row module interchanges are possible. 15

TimberWolf for Standard Cell Stage 1 (at high temperature):  Move cells between different rows as well as within the same row.  Allow overlapping of cells.  Minimize the total wire length, cell overlapping, and differences in row lengths. Stage 2 (at low temperature):  Remove overlapping from the solution of Stage 1.  Exchange adjacent cells.  Minimize total wire length. 16

Cost Function xspan yspan 17

18 Advantages:  Can find global optimum (given sufficient time)  Well-suited for detailed placement Disadvantages:  Very slow  To achieve high-quality implementation, laborious parameter tuning is necessary  Randomized, chaotic algorithms - small changes in the input lead to large changes in the output Practical applications of SA:  Small placement instances with complicated constraints  Detailed placement, where SA can be applied in small windows  FPGA layout, where complicated constraints Simulated Annealing

Tabu Search  From a solution s, find a set of solutions in this neighborhood N(s). Tabu List (T):  Recently tried movements −To avoid loop.  Select a solution from N(s) – T with minimum cost. 19

Probabilistic Congestion Estimation  M. Saeedi, M. Saheb Zamani, A. Jahanian, “Evaluation, prediction and reduction of routing congestion,” Microelectronics Journal, Elsevier,

Channelless Standard Cell 21

Probabilities The probability of a v-bend path from bin (i, j) to bin (n,m) to pass through the horizontal/vertical track (x, y). 22

Stataistics 23

Congestion Estimation The number of all possible paths from bin (i,j) to bin (n,m) which pass through the horizontal/vertical track in bin (x,y) : The number of all possible paths from bin (i,j) to bin (n,m) 24

Congestion Map 25