Chapter 7. Increasing Statement-Level Parallelism

The C language was designed to describe sequential operations on a sequential CPU. In fact, the semantics of C describe the exact order and manner in which each operation should occur. In this chapter we'll investigate the apparent contradiction between sequential programming in C and the desired result of creating highly parallel, accelerated hardware.

A Model of FPGA Computation

Before we discuss specific techniques for extracting parallelism at the level of instructions—blocks of C statements—within a process, let's consider how computation is actually performed on an FPGA. This will help you understand the hardware execution model of your C code running in hardware. If you can understand the ...

Get Practical FPGA Programming in C now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.