Practical FPGA Programming in C

Practical FPGA Programming in C

Authors: David Pellerin, Scott Thibault

Pages: 464

Publisher: Prentice Hall PTR

ISBN13: 9780131543188

C-based techniques for building high-performance, FPGA-accelerated software applications

Circuits, Devices, and Systems

C-based Techniques for Optimizing FPGA Performance, Design Flexibility, and Time to Market

Forward written by Clive "Max" Maxfield.

High-performance FPGA-accelerated software applications are a growing demand in fields ranging from communications and image processing to biomedical and scientific computing. This book introduces powerful, C-based parallel-programming techniques for creating these applications, verifying them, and moving them into FPGA hardware.

The authors bridge the chasm between "conventional" software development and the methods and philosophies of FPGA-based digital design. Software engineers will learn to look at FPGAs as "just another programmable computing resource," while achieving phenomenal performance because much of their code is running directly in hardware. Hardware engineers will master techniques that perfectly complement their existing HDL expertise, while allowing them to explore design alternatives and create prototypes far more rapidly. Both groups will learn how to leverage C to support efficient hardware/software co-design and improve compilation, debugging, and testing.

Understand when C makes sense in FPGA development and where it fits into your existing processes

Leverage C to implement software applications directly onto mixed hardware/software platforms

Execute and test the same C algorithms in desktop PC environments and in-system using embedded processors

Master new, C-based programming models and techniques optimized for highly parallel FPGA platforms

Supercharge performance by optimizing through automated compilation

Use multiple-process streaming programming models to deliver truly astonishing performance

Preview the future of FPGA computing

Study an extensive set of realistic C code examples