Multichannel FIR Filter

Versal ACAP DSP Engine Architecture Manual (AM004)

Document ID
Release Date
1.2.1 English

Multichannel filtering is used in applications such as wireless communication, image processing, and multimedia applications. The main advantage of using a multichannel filter is leveraging very fast math elements across multiple input streams (that is, channels) with much lower sample rates. This technique increases silicon efficiency by a factor almost equal to the number of channels. In a typical multichannel filtering scenario, multiple input channels are filtered using a separate digital filter for each channel. Due to the high performance of DSP58, time division multiplexing can be used to filter up to N separate channels using one DSP58. The number of channels N is calculated using the following equation.

Each DSP58 is clocked using an NX clock (DSP clock that is N times faster than the one driving the samples of each channel). The N input streams are converted to one serial, interleaved stream using the N to one multiplexer. To ensure functionality, the multiplexer and demultiplexer selectors must run at the same clock speed of DSP58. The N parallel interleaved streams are stored in an N + 1 FIFO (implemented as SRLs). This implementation uses 1/Nth of the total Versal® ACAP resource as compared to implementing each channel separately. The following figure shows a two-tap, N-channel filter implementation.

The reference design files associated with this use case are available in the multichannel_FIR directory in the design archive file,

Figure 1. Multichannel FIR Filter