Practical FPGA Programming In C

June 23, 2005
By David Pellerin and Scott Thibault
The ubiquitous field-programmable gate array (FPGA) is finding use as a software accelerator in many applications, including the communications, image processing, biomedical, and scientific computing fields. FPGAs are essentially used to implement software algorithms directly in hardware, producing orders-of-magnitude speed improvements over general-purpose processors. This book introduces C-based parallel programming techniques for creating these applications, verifying them, and moving them into FPGA hardware.

Both software and hardware engineers can benefit from this programming book. The authors’ intent is to help bridge the gap—or as they call it “the great chasm”—that exists between software and FPGA hardware development methods. Software engineers will hopefully learn to view FPGAs as software-programmable computing resources. On the other hand, hardware engineers will likely discover the many benefits of a C-based hardware design flow, including the potential for effective hardware-software co-design. The programming examples are written with Impulse C, which is compatible with standard ANSI C and standard C development tools.

The book begins with background information about FPGAs and the associated tools. The authors then present a method of C programming and models that are appropriate for use with highly parallel FPGA hardware platfoms. A series of examples, written in C, shows readers how to exploit the parallelism available in an FPGA-based platform. Later chapters have examples of how a streaming programming model can further boost performance. Several appendices provide an Impulse C function reference, triple-DES source listings, and image filter listings.

An associated web site lets readers download fully operational, time-limited versions of a C-based FPGA design compiler. The web site also offers programming tips and extra examples. In addition, readers can chat with each other or the authors through the site’s discussion forums.

If you're interested in FPGAs, you might also like these books:

Sponsored Recommendations

TTI Transportation Resource Center

April 8, 2024
From sensors to vehicle electrification, from design to production, on-board and off-board a TTI Transportation Specialist will help you keep moving into the future. TTI has been...

Cornell Dubilier: Push EV Charging to Higher Productivity and Lower Recharge Times

April 8, 2024
Optimized for high efficiency power inverter/converter level 3 EV charging systems, CDE capacitors offer high capacitance values, low inductance (< 5 nH), high ripple current ...

TTI Hybrid & Electric Vehicles Line Card

April 8, 2024
Components for Infrastructure, Connectivity and On-board Systems TTI stocks the premier electrical components that hybrid and electric vehicle manufacturers and suppliers need...

Bourns: Automotive-Grade Components for the Rough Road Ahead

April 8, 2024
The electronics needed for transportation today is getting increasingly more demanding and sophisticated, requiring not only high quality components but those that interface well...

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!