FPGA从Xilinx的7系列学起(7)

3.最基本的DSP资源

3.1 由FIR滤波器谈起

随着各种应用复杂度的不断提升,传统的DSP和处理器的架构无法支持这么复杂的并行数据算法的需求。FPGA却恰好能够满足这样的需求。FPGA拥有大量的DSP计算单元能够帮助用户实现各种各样的复杂算法。拿FIR滤波器举个例子。


如上图所示,这是一个典型的FIR滤波器,第一个图是FIR滤波器的公式,第二个图是FIR滤波器的一个框图。可以看到,FIR滤波器是线性时不变系统的卷积和公式。传统上,一个FIR滤波器被画成一组并行乘法,并且所有馈送结果到单个加法器的架构。这个加法器通常被实现为一个加法器树,并且使用流水线以提高其性能。这种做法实现FIR过滤器是最简单的,但它不是唯一可能实现方法。下面将比较一下传统DSP或者处理器的顺序处理和FPGA并行处理两种方法。

在左边的传统DSP处理的方式上,它只有一个乘法器和加法器,只能通过数据、系数和所需要的时间去循环产生一个结果。这个处理过程将会非常慢,因为它要依靠乘法器和累加器的所需要调用的次数来产生一个结果。如上边左图所示,一个3960抽头的FIR滤波器运行在一个1.2GHz的DSP处理器上,那么它只能有303KSPS的能力。这个级别就很低了,只有K级。那么在右边的FPGA的处理方式,相当数量DSP的处理单元能够同时进行所有的乘法操作,每个时钟都能够产生一个结果。这个3960个抽头的FIR滤波器可以恰好放在一个包含了3960个DSP单元的Virtex-7 XT的芯片中。尽管处理的频率也就是DSP处理器的1/2,但是增加的并行处理能力能够是FIR滤波器能够达到600多MSPS的能力。虽然上图上最后所有乘法器的数据被同时送到了加法器的处理单元。实际上,这是需要一个流水线的加法器来最终产生想要的结果。实际上7系列的DSP单元包括了输入调整,流水线寄存器,专用的乘法器,操作控制单元,专用的加法器和级联路径。

输入调整包括预加器和输入流水线寄存器。流水线寄存器,在这个图中标记为Z-1和Z-2在几个地方,在DSP的单元内最大限度地提高性能。乘法器和加法器是在DSP片的主要组成部分。操作控制寄存器和专用多路复用器可以在一个DSP单元内选择不同的操作命令,从而增加了可编程性和灵活性。输入和输出级联路径(上图并未表示),允许通过使用专用和快速布线资源将多个DSP的单元被链接在一起,以形成更广泛和更复杂的功能。下次将讲述是如何在DSP单元中使用FIR滤波器可以使用DSP片结构来实现的示例。


上图中的FIR滤波器的结构被叫做转置型I的滤波器,并且使用了流水线。这种架构使用了级联的方式,充分利用了DSP Slice的结构。

这个例子显示了一个小的4抽头滤波器。输入数据通过左侧流水线被送到的DSP Slice中,级联后把数据延时送到下一级中。每个DSP slice里面的乘法器将数据和正确的系数进行相乘,在加法器中相加后输出,经过流水线并最终级联在最右端输出最终的结果。从这个例子中,可以清晰的看到FIR滤波器的抽头即使增加了,可以很简单的增加DSP Slice单元进入这个流水线中,并在该DSP单元中增加自己的系数即可。需要说明的一点是:理想状态下,不像其他DSP/处理器单元构建算法时,FPGA的DSP单元的性能不会因为滤波器的抽头的增加而减少,因为进入级联的流水线后,流水线上使用的寄存器将帮助将DSP的资源保持运行在最优的速度上。从上图结构中,可以看到输入数据被送入寄存器,寄存器充当数据缓冲器进行了级联。每个寄存器提供一个数据到乘法器并各个系数相乘。加法器相加级联后逐步形成最终结果,并且给出最终结果。这个实现方式不要外部的额外逻辑,并且所述结构是可扩展的,以支持任何数目的系数。另外DSP Slice资源的灵活性,也可以用来实现其他非DSP功能。

下面举一个非DSP功能的例子,是将一个基本的加法树的结构适配到DSP Slice单元中,如下图一个流水线的基本加法树的例子。

第一步,从第一级加法器的输出入手,去掉第一级输出的寄存器,形成如下图的结构。

这种结构就非常简化,而且容易调整需求。紧接着第二步把第三个寄存器拉下来,修正后形成下图,形成很明显的链型的结构。但是这个功能和上图的功能完全相同,相同的四个信号只是改变了相加的顺序,被相加形成最终的结果相同。

第四步,添加寄存器形成流水线,变成了下图,最大限度地提高性能。因为加法器是在一个链而不是树,在加法器链中的每个流水线寄存器需要在该数据路径中匹配一个寄存器。还要注意的是,一个附加的加法器已经放置在链的前部,其中一个输入连接到零。现在,就很容易看到的加法器和流水线寄存器如何映射到XILINX DSP Slice中。下图图中的每个虚线框代表一个DSP Slice。





猜你喜欢

转载自blog.csdn.net/reborn_lee/article/details/80394217