ARBSA: Adaptive Range-Based Simulated Annealing for FPGA Placement

Placement has always been the most time-consuming part of the field programmable gate array (FPGA) compilation flow. Conventional simulated annealing has been unable to keep pace with ever increasing sizes of designs and FPGA chip resources. Without utilizing information of the circuit topology, it relies on large amounts of random swap operations, which are time-costly. This paper proposes an adaptive range-based algorithm to improve the behavior of swap operations and limit the swap distances by introducing the concept of range-limiting strategy for nets. It avoids unnecessary design space exploration, and thus can converge to near-optimal solutions much more quickly. The experimental results are based on the Titan benchmarks, which contain 4K to 30K blocks, including logic array blocks, inputs and outputs, digital signal processors, and random access memories. This approach achieves <inline-formula> <tex-math notation="LaTeX">$2.82\boldsymbol \times $ </tex-math></inline-formula> speed up, 4.8% reduction on wire length, 4.1% improvement on critical path compared with the SA from VTR with wire length-driven optimization, and <inline-formula> <tex-math notation="LaTeX">$1.78\boldsymbol \times $ </tex-math></inline-formula> speed up, 10% reduction on wire length, 2% reduction on critical path with path timing-driven optimization. It also manifests better scalability on larger benchmarks.

[1]  Michel Gendreau,et al.  Handbook of Metaheuristics , 2010 .

[2]  Tsuyoshi Murata,et al.  {m , 1934, ACML.

[3]  Jianping Hu,et al.  RBSA: Range-based simulated annealing for FPGA placement , 2017, 2017 International Conference on Field Programmable Technology (ICFPT).

[4]  Richard W. Eglese,et al.  Simulated annealing: A tool for operational research , 1990 .

[5]  Lesley Shannon,et al.  Identifying and placing heterogeneously-sized cluster groupings based on FPGA placement data , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[6]  Jason Helge Anderson,et al.  Parallelizing FPGA placement using Transactional Memory , 2010, 2010 International Conference on Field-Programmable Technology.

[7]  Sen Wang,et al.  VTR 7.0: Next Generation Architecture and CAD System for FPGAs , 2014, TRETS.

[8]  Jin-Hee Cho,et al.  Trust-Based Multi-objective Optimization for Node-to-Task Assignment in Coalition Networks , 2013, FCCM 2013.

[9]  Vaughn Betz,et al.  Directional bias and non-uniformity in FPGA global routing architectures , 1996, Proceedings of International Conference on Computer Aided Design.

[10]  Ronald G. Askin,et al.  A note on the effect of neighborhood structure in simulated annealing , 1991, Comput. Oper. Res..

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

[12]  Vaughn Betz,et al.  Titan: Enabling large and complex benchmarks in academic CAD , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[13]  C. Sechen,et al.  New algorithms for the placement and routing of macro cells , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[14]  Jason Cong,et al.  Multilevel generalized force-directed method for circuit placement , 2005, ISPD '05.

[15]  Gary William Grewal,et al.  Meta-Heuristic Based Techniques for FPGA Placement: A Study , 2009, Int. J. Comput. Their Appl..

[16]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[17]  Larry Goldstein,et al.  Neighborhood size in the Simulated Annealing Algorithm , 1988 .

[18]  Andrew B. Kahng,et al.  Can recursive bisection alone produce routable, placements? , 2000, Proceedings 37th Design Automation Conference.

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

[20]  Cheng-Kok Koh,et al.  Recursive bisection based mixed block placement , 2004, ISPD '04.

[21]  Jean-Marc Delosme,et al.  Performance of a new annealing schedule , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[22]  Danna Zhou,et al.  d. , 1934, Microbial pathogenesis.

[23]  F. Glover,et al.  Handbook of Metaheuristics , 2019, International Series in Operations Research & Management Science.

[24]  Vaughn Betz,et al.  Speeding Up FPGA Placement: Parallel Algorithms and Methods , 2014, 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines.

[25]  Guy Lemieux,et al.  Deterministic Timing-Driven Parallel Placement by Simulated Annealing Using Half-Box Window Decomposition , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[26]  Gary William Grewal,et al.  StarPlace: A new analytic method for FPGA placement , 2011, Integr..

[27]  Elias Vansteenkiste,et al.  Liquid: High quality scalable placement for large heterogeneous FPGAs , 2017, 2017 International Conference on Field Programmable Technology (ICFPT).

[28]  Naveed A. Sherwani VLSI Physical Design Automation , 1995 .

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

[30]  David K. Smith,et al.  The application of the simulated annealing algorithm to the solution of the n/m/Cmax flowshop problem , 1990, Comput. Oper. Res..

[31]  Vaughn Betz,et al.  Efficient and Deterministic Parallel Placement for FPGAs , 2011, TODE.

[32]  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.

[33]  Nimish Agashiwala Timing Driven Analytical Placement for FPGA , 2015 .