A Comparison of Heuristics for FPGA Placement

Field-Programmable Gate Arrays (FPGAs) are digital integrated circuits (ICs) that contain configurable logic and interconnect to provide a means for fast prototyping and also for a cost-effective chip design. The innovative development of FPGAs spurred the invention of a new field in which many different hardware algorithms could execute on a single device [16]. Efficient Computer Aided Design (CAD) tools are required to compile hardware descriptions into bit-stream files that are used to configure the target FPGA to implement the desired circuits. Currently, the compile time, which is dominated by placement and routing phases, can easily take hours or even days to complete for current large (over 8-million gate) FPGAs. Within the next few years the logic capacity of FPGAs will tend to increase dramatically (up to 40-million gates) that prohibitively long compile times may adversely affect instant manufacturability of FPGAs and become intolerable to users seeking very high speed compile. This paper presents several constructive and iterative improvement placement based heuristics that significantly reduce the amount of computation time required to achieve high-quality placements, compared with VPR [9], [8]. Cluster Seed, GRASP and Partitioning based approaches prove to be excellent candidates to generate good starting points in negligible amounts of time. The effectiveness of these constructive based methods are tested by implementing several local search based methods. Meta-heuristics in the form of Tabu Search and a hybrid Simulated Annealing with short-term memory are further implemented to explore and exploit the solution space effectively.

[1]  X. Bao,et al.  Constructive and local search heuristic techniques for FPGA placement , 2004, Canadian Conference on Electrical and Computer Engineering 2004 (IEEE Cat. No.04CH37513).

[2]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

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

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

[5]  Huang,et al.  AN EFFICIENT GENERAL COOLING SCHEDULE FOR SIMULATED ANNEALING , 1986 .

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

[7]  Chih-Liang Eric Cheng RISA: accurate and efficient placement routability modeling , 1994, ICCAD.

[8]  J. Anderson,et al.  Low-power programmable routing circuitry for FPGAs , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[9]  Peng Du,et al.  A Fast Heuristic Technique for FPGA Placement based on Multilevel Clustering , 2004 .

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

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

[12]  Wayne Wolf,et al.  FPGA-Based System Design , 2004 .

[13]  S. Sur-Kolay,et al.  Fast FPGA placement using space-filling curve , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[14]  Mauricio G. C. Resende,et al.  Greedy Randomized Adaptive Search Procedures , 1995, J. Glob. Optim..

[15]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

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

[17]  Pritha Banerjee Accelerators for FPGA Placement , .

[18]  Carl Sechen,et al.  Timing Driven Placement for Large Standard Cell Circuits , 1995, 32nd Design Automation Conference.

[19]  Shawki Areibi,et al.  A clustering utility based approach for ASIC design , 2001, Proceedings 14th Annual IEEE International ASIC/SOC Conference (IEEE Cat. No.01TH8558).

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

[21]  Malgorzata Marek-Sadowska,et al.  Interconnect complexity-aware FPGA placement using Rent's rule , 2001, SLIP '01.

[22]  Pinaki Mazumder,et al.  VLSI cell placement techniques , 1991, CSUR.

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

[24]  Michael Hutton,et al.  Timing-driven placement for hierarchical programmable logic devices , 2001, FPGA '01.

[25]  Christian Blum,et al.  Metaheuristics in combinatorial optimization: Overview and conceptual comparison , 2003, CSUR.

[26]  Yves Crama,et al.  Local Search in Combinatorial Optimization , 2018, Artificial Neural Networks.

[27]  Zhen Yang,et al.  Global Placement Techniques for VLSI Physical Design Automation , 2002, CAINE.