FPGAs for Software Programmers

  • Dirk Koch
  • Frank Hannig
  • Daniel Ziener

Table of contents

  1. Front Matter
    Pages i-xvii
  2. Dirk Koch, Daniel Ziener, Frank Hannig
    Pages 1-21
  3. João M. P. Cardoso, Markus Weinhardt
    Pages 23-47
  4. Commercial HLS Solutions

    1. Front Matter
      Pages 61-61
    2. Hugo A. Andrade, Stephan Ahrends, Simon Hogg
      Pages 63-79
    3. Tobias Becker, Oskar Mencer, Georgi Gaydadjiev
      Pages 81-95
    4. Deshanand Singh, Peter Yiannacouras
      Pages 97-114
    5. Moritz Schmid, Christian Schmitt, Frank Hannig, Gorker Alp Malazgirt, Nehir Sonmez, Arda Yurdakul et al.
      Pages 115-136
    6. Jason Cong, Muhuan Huang, Peichen Pan, Yuxin Wang, Peng Zhang
      Pages 137-163
    7. Oriol Arcas-Abella, Nehir Sonmez
      Pages 165-172
  5. Academic HLS Solutions

    1. Front Matter
      Pages 173-173
    2. Andrew Canis, Jongsok Choi, Blair Fort, Bain Syrowik, Ruo Long Lian, Yu Ting Chen et al.
      Pages 175-190
    3. Walid A. Najjar, Jason Villarreal, Robert J. Halstead
      Pages 191-204
    4. Moritz Schmid, Oliver Reiche, Frank Hannig, Jürgen Teich
      Pages 205-223
  6. FPGA Runtime Systems and OS Services

    1. Front Matter
      Pages 225-225
    2. Andreas Agne, Marco Platzner, Christian Plessl, Markus Happe, Enno Lübbers
      Pages 227-244
    3. Kermin Fleming, Michael Adler
      Pages 245-258
  7. SoC and Overlays on FPGAs

    1. Front Matter
      Pages 259-259
    2. Jeffrey Goeders, Graham M. Holland, Lesley Shannon, Steven J. E. Wilton
      Pages 261-283
    3. Hayden Kwok-Hay So, Cheng Liu
      Pages 285-305
  8. Back Matter
    Pages 307-327

About this book


This book makes powerful Field Programmable Gate Array (FPGA) and reconfigurable technology accessible to software engineers by covering different state-of-the-art high-level synthesis approaches (e.g., OpenCL and several C-to-gates compilers). It introduces FPGA technology, its programming model, and how various applications can be implemented on FPGAs without going through low-level hardware design phases. Readers will get a realistic sense for problems that are suited for FPGAs and how to implement them from a software designer’s point of view.  The authors demonstrate that FPGAs and their programming model reflect the needs of stream processing problems much better than traditional CPU or GPU architectures, making them well-suited for a wide variety of systems, from embedded systems performing sensor processing to large setups for Big Data number crunching.  This book serves as an invaluable tool for software designers and FPGA design engineers who are interested in high design productivity through behavioural synthesis, domain-specific compilation, and FPGA overlays.

  • Introduces FPGA technology to software developers by giving an overview of FPGA programming models and design tools, as well as various application examples;
  • Provides a holistic analysis of the topic and enables developers to tackle the architectural needs for Big Data processing with FPGAs;
  • Explains the reasons for the energy efficiency and performance benefits of FPGA processing;
  • Provides a user-oriented approach and a sense for where and how to apply FPGA technology.


Big Data Processing with FPGAs FPGA Reconfigurable Architecture Reconfigurable Computing Reconfigurable Embedded Processors Reconfigurable Processors

Editors and affiliations

  • Dirk Koch
    • 1
  • Frank Hannig
    • 2
  • Daniel Ziener
    • 3
  1. 1.The University of ManchesterManchesterUnited Kingdom
  2. 2.Erlangen-NürnbergFriedrich-Alexander UniversityErlangenGermany
  3. 3.Dept. of Computer ScienceHardware/Software Co-DesignErlangenGermany

Bibliographic information