【 FPGA 】FIR 滤波器的架构

下面将展示FIR滤波器核可用的滤波器架构

1 乘累加(MAC)结构(Multiply-Accumulate)

用单个乘累加器引擎实现的基于 MAC 的 FIR滤波器的简化视图:

【 FPGA 】FIR 滤波器的架构

将单个 MAC 实现扩展到多个 MAC,可以实现更高性能的滤波器,例如支持更多滤波器系数、更高采样速率以及更多通道等。

实现MAC 结构的FIR滤波器主要需要使用 加法器、乘法器以及存储资源。


FIR滤波器 IP核支持两种 MAC 架构实现:Systolic filter structure(SMAC) and Transpose filter structure(TMAC)

1.1 Systolic Multiply-Accumulate(SMAC)

图3-9是一个流水线直接形式的滤波器:

【 FPGA 】FIR 滤波器的架构

图3-10是一个多MAC实现的这种架构(SMAC)的滤波器:

【 FPGA 】FIR 滤波器的架构

 

该体系结构直接由DSP片支持,从而实现了区域高效和高性能的过滤器实现。该结构还扩展到利用系数对称,从而进一步节省资源。

1.2 Transpose Multiply-Accumulate(TMAC)

【 FPGA 】FIR 滤波器的架构

【 FPGA 】FIR 滤波器的架构

DSP Slice也直接支持这种架构。 此结构提供低延迟实现,并且对于某些配置还可以比Systolic结构节省额外的资源。 它不需要累加器,并且可以使用更少的数据存储器资源,尽管它不利用系数对称性。

下篇博文:FIR滤波器的结构和优化