This book makes powerful Field Programmable GateArray (FPGA) and reconfigurable technology
accessible to software engineers bycovering different state-of-the-art high-level synthesis
approaches (e.g. OpenCL and several C-to-gates compilers). It introduces FPGA technology
itsprogramming model and how various applications can be implemented on FPGAswithout going
through low-level hardware design phases. Readers will get arealistic sense for problems that
are suited for FPGAs and how to implementthem from a software designer's point of view. The
authors demonstrate that FPGAs and their programming model reflectthe needs of stream
processing problems much better than traditional CPU or GPUarchitectures making them
well-suited for a wide variety of systems fromembedded systems performing sensor processing to
large setups for Big Datanumber crunching. This book serves as aninvaluable tool for software
designers and FPGA design engineers who are interestedin high design productivity through
behavioural synthesis domain-specificcompilation and FPGA overlays.Introduces FPGA technology
to softwaredevelopers by giving an overview of FPGA programming models and design tools as well
as various application examples Provides a holistic analysis of the topic andenables developers
to tackle the architectural needs for Big Data processingwith FPGAs Explains the reasons for
the energy efficiencyand performance benefits of FPGA processing Provides a
user-orientedapproach and a sense for where and how to apply FPGA technology.