ABSTRACT

Digital signal processing (DSP) is an area witnessing continuous significant advancements both in terms of software approaches and hardware platforms. Some of the most usual functionalities in this domain are digital filters, encoders, decoders, correlators, and mathematic transforms such as the fast Fourier transform (FFT). Most DSP functions and algorithms are quite complex and involve a large number of variables, coefficients, and stages. The key basic operation is usually provided by MAC units. Since high operating frequency and/or throughput are usually required, it is often necessary to use DSPs, whose hardware and instruction set are optimized for the execution of MAC operations or other features such as bit-reverse addressing (as discussed in Section 1.3.4.2). CPUs in DSPs are also designed to execute instructions in less clock cycles than in general-purpose processors. For many years, DSPs have been the only platforms capable of efficiently implementing DSP algorithms. However, in recent years, FPGAs have emerged as serious natural contenders in this area because of their intrinsic parallelism, their ability to very efficiently implement arithmetic operations, and the huge amount of logic resources available.