FPGA Versus Software Programming: Why, When, and How?

  • Dirk KochEmail author
  • Daniel Ziener
  • Frank Hannig


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.


Graphic Processing Unit Boolean Function Interconnection Network Lookup Table Digital Circuit 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [Bob07]
    C. Bobda. Introduction to Reconfigurable Computing: Architectures, Algorithms, and Applications. Springer, 2007.CrossRefzbMATHGoogle Scholar
  2. [BRM99]
    V. Betz, J. Rose, and A. Marquardt. Architecture and CAD for Deep-Submicron FPGAs. Kluwer Academic Publishers, 1999.CrossRefGoogle Scholar
  3. [CD94]
    J. Cong and Y. Ding. FlowMap: An optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, 13(1):1–12, Jan 1994.CrossRefGoogle Scholar
  4. [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
  5. [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
  6. [GDWL92]
    D. D. Gajski, N. D. Dutt, A. C.-H. Wu, and S. Y.-L. Lin. High-level Synthesis: Introduction to Chip and System Design. Kluwer Academic Publishers, Norwell, MA, USA, 1992.CrossRefGoogle Scholar
  7. [GHSV+11]
    N. Goulding-Hotta, J. Sampson, G. Venkatesh, S. Garcia, J. Auricchio, P. Huang, M. Arora, S. Nath, V. Bhatt, J. Babb, S. Swanson, and M. Taylor. The GreenDroid mobile application processor: An architecture for silicon’s dark future. IEEE Micro, 31(2):86–95, March–April 2011.CrossRefGoogle Scholar
  8. [HD07]
    S. Hauck and A. DeHon. Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2007.zbMATHGoogle Scholar
  9. [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
  10. [Koc13]
    D. Koch. Partial Reconfiguration on FPGAs – Architectures, Tools and Applications. Springer, 2013.CrossRefGoogle Scholar
  11. [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
  12. [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
  13. [Moo65]
    G. Moore. Cramming more components onto integrated circuits. Electronics, 38(8):114–117, April 1965.Google Scholar
  14. [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
  15. [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
  16. [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
  17. [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
  18. [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

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.The University of ManchesterManchesterUK
  2. 2.Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)ErlangenGermany

Personalised recommendations