1.

Record Nr.

UNINA9910254242103321

Titolo

FPGAs for Software Programmers / / edited by Dirk Koch, Frank Hannig, Daniel Ziener

Pubbl/distr/stampa

Cham : , : Springer International Publishing : , : Imprint : Springer, , 2016

ISBN

3-319-26408-7

Edizione

[1st ed. 2016.]

Descrizione fisica

1 online resource (XVII, 327 p. 129 illus., 61 illus. in color.)

Disciplina

621.3815

Soggetti

Electronic circuits

Microprocessors

Electronics

Microelectronics

Circuits and Systems

Processor Architectures

Electronics and Microelectronics, Instrumentation

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Nota di bibliografia

Includes bibliographical references and index.

Nota di contenuto

From the 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.

Sommario/riassunto

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.