FPGAs for software programmers
Author(s)
Bibliographic Information
FPGAs for software programmers
Springer, c2016
Available at / 1 libraries
-
No Libraries matched.
- Remove all filters.
Note
Includes bibliographical references and index
Description and Table of Contents
Description
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.
Table of Contents
Introduction.- CPUs, GPUs, CGRAs, Vector Processing, Systolic Arrays, FPGAs.- The von Neuman Model versus data stream processing.- FPGAs for software designers.- Languages, libraries, and compilers for specific problems.- Behavioral Compiler Capabilities and optimization strategies.- Mapping Approaches and Tools for Heterogeneous FPGAs.- Automatic Tool Flows.- Design frameworks, tools, and tool interaction.- Hardware Platforms.- Parallel Architectures and Overlays.- FPGA Virtualization.- Applications from a Programmers Point of View.- Future Directions.
by "Nielsen BookData"