在过去,FPGA一直在DSP应用中被用作逻辑合并器件、总线桥和外设器件。最近,FPGA在高性能DSP应用中获得很大的发展,并且逐渐成为标准DSP器件的理想协处理器件。
作为DSP协处理器件,FPGA的高度并行结构提供了巨大的计算能力。由于FPGA硬件是可重配置的,因此可以针对具体的应用开发出优化的定制结构,非常理想地实现所需要的算法。
赛灵思(Xilinx)公司的新一代Spartan-3低成本FPGA采用了90nm工艺技术,不仅提供了实现高性能DSP功能的有效手段,而且还是一种更为经济的解决方案。低成本意味着可以利用它们配合传统的DSP器件来实现高性能DSP协处理功能,通常主要是利用FPGA器件经济地集成DSP运算过程中的预处理和后处理器功能。
主要优势
FPGA架构非常适合以高度并行的方式实现DSP功能,从而可以获得极高的性能。此外,可编程能力使得用户在实现所需要的功能时,可通过选择适当的并行度在器件面积和性能之间做出折衷。
FPGA本质上是未完全连接的逻辑和信号处理资源阵列。这些信号处理资源使设计人员可利用高度可扩展的并行处理技术来实现DSP功能。
例如,传统DSP解决方案以串行方式实现多次乘法累加(MAC)功能,而FPGA则可利用Spartan-3系列所集成的专用乘法器和寄存器以并行方式来实现。
作为例子,让我们考虑一个256抽头的有限脉冲响应(FIR)滤波器。利用FPGA构造中可用的资源,可以获得一个高度并行的设计并达到更高的性能(图1).因为FPGA是完全硬件可编程的,因此提供了极大的灵活性,在设计中可以仅使用算法所需要的资源。
图1 FPGA的DSP并行模式可以提高运算能力(略)
图2示出了实现四个MAC功能的不同方式。通过利用FPGA构造中的四个嵌入式乘法器,能够以最快的速度实现四个MAC的物理设计。同时,设计时还可选择针对面积进行优化,这样仅利用一个乘法器、一个累加器和一个寄存器就可在较低的性能水平下实现同样的功能,或者也可以选择采用半并行的方法。
图2 FPGA可以按需设置(略)
尽管FPGA为DSP带来了很大好处,但分析一下在FPGA构造中实现DSP功能时的有效成本也非常重要。为了进行这一分析,我们将以最新的Spartan-3
FPGA系列为例,这一低成本系列器件集成了许多适合DSP的系统特点。
Spartan-3 :针对DSP而优化
Spartan-3 FPGA采用90nm制造技术来获得较低的硅裸片成本。该系列器件也是唯一拥有高效率实现DSP功能所需要的所有系统特点(这些特点一度属于高端FPGA所专有)的低成本FPGA(表1)。
表1-Spartan-3 的这些特点使得设计人员能够以高面积效率实现DSP功能(略)
利用Spartan-3系列,只需占用整个设备的一小部分空间即可实现高性能的复杂DSP功能。这样就可将设备剩余的空间留下来,用于实现系统逻辑或接口功能,从而使成本更低且系统集成度更高。
表2表明了如何结合Spartan-3 FPGA的高级器件特性和低成本特点以低成本实现DSP功能。表中给出了目前推出的Spartan-3器件、对应的每秒可完成乘法累加数(MMAC/s)以及每种器件中单位MMAC/s性能的成本。
表2-计算单位MMAC/s的成本(略)
将乘法器的数量与工作频率相乘得到MMAC/s数值。对于最低速度级的Spartan-3 FPGA 工作频率为150 MHz。
然后,查一下对应器件最低速度级为5万件时的价格,就可以计算出单位MMAC/s性能所需要的成本。
如何获得最低的DSP功能成本
目前,并没有现成的标准来衡量在FPGA中实现DSP功能时的实际成本。然而,为了后面的分析,可以将有效成本理想化,用实现DSP功能所使用的器件面积百分比乘以单位器件成本来表示。这样计算应当是公平的,因为FPGA的剩余部分还可用于其它系统功能。
为计算在FPGA中实现一项DSP功能时的有效成本,我们考虑Spartan-3系列中的中等规模器件,Spartan-3 XC3S1000。在许多情况下,给定的DSP功能并不仅使用FPGA逻辑资源,还使用到嵌入式乘法器和块RAM。在这种情况下,我们也将这些嵌入式功能所占用的裸片空间估算数值计算在内,并与所占用的逻辑资源裸片面积相加。
表3 示出了一些DSP功能以及在Spartan-3器件中实现时的有效成本。(这里没有包括编程PROM的成本,因为在许多情况下,可以利用板上的现有EPROM来编程FPGA。)
表3-在一款Spartan-3器件中实现的不同DSP功能的有效成本(略)
DSP应用中最常用的一些功能是快速傅里叶变换(FFT)和FIR滤波器。一个采样速率为8.1MSPS的单通道64抽头MAC FIR滤波器利用Spartan-3系列的XC3S1000器件实现时,有效成本为0.41美元。注意,这一滤波器使用了200个逻辑片和4个嵌入式乘法器——大约占用裸片面积的3%。
在Spartan-3器件中还可以用低成本实现简单的前向错误校正DSP内核,如Viterbi和Reed Solomn功能。一个每通道1.9
MSPS的32通道并行模式Viterbi解码器的有效成本为5.06美元,相当于每通道0.16美元。运行在60MHz的一个Reed
Solomon G.709解码器仅占用同样器件6.9%的资源(有效成本仅0.92美元)
复杂功能,如通常用于无线基站的数字下转换(DDC)或数字上转换(DUC),仅占用Spartan-3 XC3S1000器件不到20%的裸片面积(有效成本为2.49美元)。
开发工具流程
选择赛灵思解决方案,可利用业界标准的开发工具完成的DSP设计。利用来自The MathWorks公司的MATLAB 和Simulink,配合赛灵思公司的System
Generator for DSP,不必离开Simulink环境就可在目标硬件平台上完成信号处理算法的建模、仿真和验证工作。
图3 在现有工具流程下的DSP设计方法(略)
整个设计流程通常包括以下步骤:
1.DSP设计人员结合使用来自The MathWorks公司的业界标准工具和Xilinx System Generator for
DSP开发并验证硬件模型。
2.Xilinx System Generator可生成位一级和时钟周期一级正确的HDL电路表示,HDL电路的行为保证与在Simulink/System
Generator模型中所看到的功能相一致。
3.ISE设计工具完全设计综合并生成可用于编程FPGA的位流。
这样完全避免了通过FPGA设计人员将系统工程师的设计人工转换为HDL这一易于出错且耗费时间的步骤。图3示出了使用Xilinx
System Generator的典型设计流程。这一产品的最新发展可支持DSP设计人员利用Simulink/System Generator直接生成一个FPGA位流。
结论
Spartan-3 FPGA结合了低器件成本和针对DSP功能而优化的架构,从而可为高性能DSP功能提供低的价位点。通过提供可适配到现有工具流的设计工具,赛灵思公司进一步为嵌入式DSP功能提供支持,同时通过将FPGA物理实现过程自动化来提高生产力。
面对功能强大且低成本的Spartan-3器件,强大的设计工具,以及越来越多的针对这一FPGA构造而优化的成品化DSP功能IP,利用Spartan-3
FPGA实现嵌入式DSP功能成为可行的选择。
|