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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.