5

Spatial Design

Things which are equal to the same thing are equal to each other.

Euclid

Elements of Geometry

So far we have concentrated on designs with a single thread of control. That is, each instruction or operation is executed fully prior to execution of the next. This chapter introduces the idea of spatial parallelism, which allows for multiple threads of control. In computer science terms, this is more generally known as concurrency. Here, we use spatial to highlight the fact that in our hardware designs, the multiple threads of control are actually able to operate simultaneously. This is in contrast to early forms of concurrency/parallelism where multiple threads were time-multiplexed on a single control unit.

Although concurrency has ...

Get Embedded Systems Design with Platform FPGAs now with the O’Reilly learning platform.

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