FPGA Versus Software Programming: Why, When, and How?
This chapter provides background information for readers who are interested in the philosophy and technology behind FPGAs. We present this from a software engineer’s viewpoint without hiding the hardware specific characteristics of FPGAs. The chapter discusses the architecture and programming models as well as the pros and cons of CPUs, GPUs and FPGAs. The operation of FPGAs will be described as well as the major steps that are needed to map a circuit description on an FPGA. This will provide a deep enough understanding of the characteristics of an FPGA and how this helps in accelerating certain parts of an application.
KeywordsGraphic Processing Unit Boolean Function Interconnection Network Lookup Table Digital Circuit
- [DGnY+74]R. H. Dennard, F. H. Gaensslen, H. nien Yu, V. L. Rideout, E. Bassous, Andre, and R. Leblanc. Design of ion-implanted MOSFETs with very small physical dimensions. IEEE J. Solid-State Circuits, 87(4):668–678, 1974.Google Scholar
- [FRC90]R. J. Francis, J. Rose, and K. Chung. Chortle: A technology mapping program for lookup table-based field programmable gate arrays. In Proceedings of the 27th ACM/IEEE Design Automation Conference, DAC ’90, pages 613–619, New York, NY, USA, 1990. ACM.Google Scholar
- [KBT08]D. Koch, C. Beckhoff, and J. Teich. ReCoBus-Builder: A novel tool and technique to build statically and dynamically reconfigurable systems for FPGAs. In Field Programmable Logic and Applications, FPL 2008. International Conference on, pages 119 –124, sept. 2008.Google Scholar
- [KR06]I. Kuon and J. Rose. Measuring the gap between FPGAs and ASICs. In Proceedings of the 2006 ACM/SIGDA 14th International Symposium on Field Programmable Gate Arrays, (FPGA) ’06, pages 21–30, New York, NY, USA, 2006. ACM.Google Scholar
- [ME95]L. Mcmurchie and C. Ebeling. Pathfinder: A negotiation-based performance-driven router for FPGAs. In Proceedings of the 1995 ACM third International Symposium on Field-Programmable Gate Arrays (FPGA), pages 111–117, 1995.Google Scholar
- [Moo65]G. Moore. Cramming more components onto integrated circuits. Electronics, 38(8):114–117, April 1965.Google Scholar
- [PCC+14]A. Putnam, A. M. Caulfield, E. S. Chung, D. Chiou, K. Constantinides, J. Demme, H. Esmaeilzadeh, J. Fowers, G. P. Gopal, J. Gray, M. Haselman, S. Hauck, S. Heil, A. Hormati, J.-Y. Kim, S. Lanka, J. Larus, E. Peterson, S. Pope, A. Smith, J. Thong, P. Y. Xiao, and D. Burger. A reconfigurable fabric for accelerating large-scale datacenter service. In Proceedings of the ACM/IEEE 41st International Symposium on Computer Architecture (ISCA), pages 13–24. IEEE, 2014.Google Scholar
- [RNPL15]A. Rodchenko, A. Nisbet, A. Pop, and M. Lujan. Effective barrier synchronization on Intel Xeon Phi coprocessor. In 20th International Conference on Parallel Processing (Euro-Par), (Springer 2015), pp. 588–600.Google Scholar
- [RVS+10]J. Robinson, S. Vafaee, J. Scobbie, M. Ritche, and J. Rose. The supersmall soft processor, in VI Southern Programmable Logic Conference (SPL) (2010), pp 3–8.Google Scholar
- [VFHB14]E. Vermij, L. Fiorin, C. Hagleitner, and K. Bertels. Exascale radio astronomy: Can we ride the technology wave? In J. Kunkel, T. Ludwig, and H. Meuer, editors, Supercomputing, volume 8488 of Lecture Notes in Computer Science, pages 35–52. Springer International Publishing, 2014.Google Scholar
- [YKL15]M. Yue, D. Koch, and G. Lemieux. Rapid overlay builder for xilinx FPGAs. In Field-Programmable Custom Computing Machines (FCCM), 2015 IEEE 23rd Annual International Symposium on, pages 17–20, May 2015.Google Scholar