For the semi-parallel FIR case with moderate to high sample rate and large number of coefficients, the filter structure is chosen to be the three-multiplier, block RAM based, semi-parallel FIR filter. The following figure is a block diagram of the filter.
In this implementation, one memory buffer is required to hold the coefficients and also the input data history values. The block RAM can be used in dual-port mode with a cyclic data buffer established in the first half of the memory to serve the shifting input data series. There are 16 taps for each DSP and the overall number of taps in this design is 48.
The reference design files for this use case are available in the semi_parallel_FIR directory in the design archive file, am004-versal-dsp-engine.zip.