Improving FPGA Placement With Dynamically Adaptive Stochastic Tunneling

This paper develops a dynamically adaptive stochastic tunneling (DAST) algorithm to avoid the “freezing” problem commonly found when using simulated annealing for circuit placement on field-programmable gate arrays (FPGAs). The main objective is to reduce the placement runtime and improve the quality of final placement. We achieve this by allowing the DAST placer to tunnel energetically inaccessible regions of the potential solution space, adjusting the stochastic tunneling schedule adaptively by performing detrended fluctuation analysis, and selecting move types dynamically by a multi-modal scheme based on Gibbs sampling. A prototype annealing-based placer, called DAST, was developed as part of this paper. It targets the same computer-aided design flow as the standard versatile placement and routing (VPR) but replaces its original annealer with the DAST algorithm. Our experimental results using the benchmark suite and FPGA architecture file which comes with the Toronto VPR5 software package have shown a 18.3% reduction in runtime and a 7.2% improvement in critical-path delay over that of conventional VPR.

[1]  W. Wenzel,et al.  Stochastic Tunneling Approach for Global Minimization of Complex Potential Energy Landscapes , 1999 .

[2]  S. Yang,et al.  Logic Synthesis and Optimization Benchmarks User Guide Version 3.0 , 1991 .

[3]  Carl Ebeling,et al.  Placement and routing tools for the Triptych FPGA , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[4]  Vaughn Betz,et al.  Architecture and CAD for Deep-Submicron FPGAS , 1999, The Springer International Series in Engineering and Computer Science.

[5]  Mark Wyman,et al.  Stochastic tunneling in DBI inflation , 2008 .

[6]  Vaughn Betz,et al.  Timing-driven placement for FPGAs , 2000, FPGA '00.

[7]  Jonathan Rose,et al.  Measuring the Gap Between FPGAs and ASICs , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Scott Hauck,et al.  Enhancing timing-driven FPGA placement for pipelined netlists , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[9]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[10]  Kia Bazargan,et al.  Timing-driven partitioning-based placement for island style FPGAs , 2005, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  Lester Ingber,et al.  Adaptive simulated annealing (ASA): Lessons learned , 2000, ArXiv.

[12]  Kay Hamacher Adaptation in stochastic tunneling global optimization of complex potential energy landscapes , 2006 .

[13]  Jason Cong,et al.  Optimality and Stability Study of Timing-Driven Placement Algorithms , 2003, ICCAD 2003.

[14]  Mingjie Lin,et al.  TORCH: a design tool for routing channel segmentation in FPGAs , 2008, FPGA '08.

[15]  Lawrence T. Pileggi,et al.  Architecture-aware FPGA placement using metric embedding , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[16]  David Abramson,et al.  A very high speed architecture for simulated annealing , 1992, Computer.

[17]  I. P. Schagen An Adaptive System for Global Optimization , 1986 .

[18]  K. Bazargan,et al.  Fast timing-driven partitioning-based placement for island style FPGAs , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[19]  A. Baumketner,et al.  Stochastic tunneling minimization by molecular dynamics: an application to heteropolymer models , 2002 .

[20]  Vaughn Betz,et al.  VPR: A new packing, placement and routing tool for FPGA research , 1997, FPL.

[21]  Yang Zhang Progress and challenges in protein structure prediction. , 2008, Current opinion in structural biology.

[22]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[23]  H. Scheraga,et al.  Monte Carlo-minimization approach to the multiple-minima problem in protein folding. , 1987, Proceedings of the National Academy of Sciences of the United States of America.

[24]  Kia Bazargan,et al.  Fast timing-driven partitioning-based placement for island style FPGAs , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[25]  Mirko Krivánek,et al.  Simulated Annealing: A Proof of Convergence , 1994, IEEE Trans. Pattern Anal. Mach. Intell..

[26]  Reinhold Weiss,et al.  Hardware Support for Simulated Annealing and Tabu Search , 2000, IPDPS Workshops.

[27]  Kenneth B. Kent,et al.  VPR 5.0: FPGA CAD and architecture exploration tools with single-driver routing, heterogeneity and process scaling , 2011, TRETS.

[28]  Ulrich H E Hansmann,et al.  Global optimization by energy landscape paving. , 2002, Physical review letters.

[29]  W. Wenzel,et al.  Scaling behavior of stochastic minimization algorithms in a perfect funnel landscape , 1999 .

[30]  Scott Hauck,et al.  Runtime and quality tradeoffs in FPGA placement and routing , 2001, FPGA '01.

[31]  André DeHon,et al.  Hardware-assisted simulated annealing with application for fast FPGA placement , 2003, FPGA '03.

[32]  Russell Tessier Fast placement approaches for FPGAs , 2002, TODE.

[33]  Jonathan Rose,et al.  Trading quality for compile time: ultra-fast placement for FPGAs , 1999, FPGA '99.

[34]  C. Peng,et al.  Mosaic organization of DNA nucleotides. , 1994, Physical review. E, Statistical physics, plasmas, fluids, and related interdisciplinary topics.

[35]  Tim (Tianming) Kong A novel net weighting algorithm for timing-driven placement , 2002, ICCAD 2002.

[36]  J. Vicente,et al.  Placement by thermodynamic simulated annealing , 2003 .

[37]  A. Schug,et al.  Reproducible protein folding with the stochastic tunneling method. , 2003, Physical review letters.

[38]  Scott Hauck,et al.  Architecture-adaptive range limit windowing for simulated annealing FPGA placement , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[39]  A. Tolley,et al.  Stochastic inflation revisited: non-slow-roll statistics and DBI inflation , 2008, 0801.1854.

[40]  Andrew A. Kennings,et al.  Improving Simulated Annealing-Based FPGA Placement With Directed Moves , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.