拨开迷雾:FPGA用做数字信号处理应用
扫描二维码
随时随地手机看文章
在2004年加入赛灵思公司之前,与大多数人的观点一样,我也认为FPGA“非常适用于原型设计,但对于批量DSP系统应用来说,成本太高,功耗太大。”我原来一直认为,FPGA在成本和功效方面无法满足今天采用DSP系统架构完成的那些设计的预算要求。然而,没过多久,我源于“DSP视角”的看法就被大大地且不可逆转地改变了。
今天,针对DSP优化的高性能FPGA已经在DSP领域扮演着重要的角色。DSP领域的设计工程师逐渐发现他们所处的环境变化十分迅速,标准快速演化并且不断融合,产品上市周期越来越短,设计工作受到经济和技术上的约束增多,不过设计一旦成功获得的回报也很巨大。
由于将高性能和灵活性完美组合,FPGA在DSP领域的应用越来越普遍。诸如通信、多媒体和国防行业等高增长的市场都非常需要高性能的DSP技术。这些市场的特点在于始终处于连续的变化之中,有着不断变化的标准、市场需求、客户需求以及竞争态势。要跟上市场变化,企业就需要一种强大且灵活的处理器——FPGA就是一种特别适合的技术。
图1 FPGA填补算法复杂性和固定架构处理器效率造成的性能差距
将DSP性能提升到极限
推动DSP应用对FPGA需求的最重要因素之一就是传统处理器性能增长放缓。尽管在摩尔定律的推动下,处理器的制造工艺不断向更小节点发展,但仅仅简单地通过减小工艺节点来大幅提高DSP和GPP的性能变得越来越困难。
与此同时,由于通信系统将数据传输效率不断推向香农定理的上限,算法的复杂性以更快的速度提高,如图1所示。Turbo编码和MIMO系统等先进技术已经非常接近香农定律的理论极限,成本就是极高的计算复杂性。这就导致了算法性能要求和处理器性能之间的差距越来越大。因此,设计人员必须寻找新的设计解决方案(如DSP),在固定结构处理器之外选择FPGA。
FPGA满足性能挑战
FPGA 的DSP性能领先的关键是其内在的并行机制,即其利用并行架构实现DSP的功能。这一并行机制使得FPGA特别适合于完成像滤波这样的重复性DSP任务。因此,对于高度并行执行DSP任务来说,FPGA的性能远超过通用DSP处理器的串行执行架构。
成本和功效
当然,性能并非一切。对几乎所有DSP应用来说,成本和功耗也是考虑的关键因素。许多设计人员仍然有这样的错误印象,认为采用FPGA的成本要几千美元。实际上,在摩尔定律的推动下,FPGA的成本已经大大降低。例如,2000年时,百万系统门器件的成本为350美元,而采用90nm工艺后,成本还不到9美元。今天,FPGA产品已经进入了65nm工艺,十多种65nm 产品已经上市并有几种已经量产,而45nm工艺的设计工作也已在进行中。因此,实际上FPGA现在已经成为领先半导体生产技术的重要推动力——FPGA成为每个新的工艺节点生产的首批器件之一。因此,FPGA将会继续在摩尔定律的推动下进一步降低成本,提高性能。
许多设计人员还认为FPGA是功耗大户。实际上,FPGA能够做到非常高的功效。Bob Broderson教授在其58分钟的教学视频中充分表明了这一点:“利用重配置实现通用低功耗超级计算”。在该视频教程中,Broderson教授利用国际半导体电路大会上获得的芯片数据回顾了并行机制和功耗之间的相关性。如图2所示,他的结论给出了明确而强有力的信息:FPGA同时在性能和功效方面领先于DSP。
图2 FPGA的能效比通用DSP更好
近几年来,FPGA供应商始终将功耗作为优先考虑的问题,并在65nm工艺节点的创新功耗优化技术方面投入了大量资金。事实上,一些最新的FPGA还采用了与手机芯片一样的制造工艺。
然而,DSP性能的范围、功耗和成本要求非常宽泛,高性能DSP市场也需要一个DSP平台系列来满足如此广泛的要求,单单靠一种器件无法满足高端应用的极高性能要求以及大批量应用对价格和功耗的要求。
FPGA平台多元化
几年前,FPGA供应商已经开始为高性能应用提供DSP增强的FPGA了,赛灵思公司的Virtex-DSP系列就属于此类FPGA。FPGA供应商正在推出新的低成本FPGA系列产品来扩充产品线。例如,赛灵思公司刚刚推出了Spartan-DSP系列。
作为两种产品组合中新增加的成员,Virtex-5 SXT和Spartan-3A DSP平台瞄准不同的应用。Virtex-5 SXT主要集中于性能,而Spartan-3A DSP则致力于价格、性能和功耗的平衡。如图3所示,以前DSP或高端FPGA无法满足很多此类应用的需要,而Spartan-3A DSP这样的新器件为DSP技术打开了新市场。
前景展望
随着FPGA供应商对DSP应用关注的加大,其面向DSP的产品已经不仅仅是提供FPGA器件。例如,赛灵思公司于2000年启动了“XtremeDSP”计划,旨在为通信、多媒体和国防行业提供应用优化的DSP解决方案。
DSP设计工具充分发挥FPGA威力
开发工具格外关键,因此,没有强大的开发工具就无法充分发挥FPGA的潜力。对于FPGA工具和设计方法来说,需要关注三类不同的设计人群:系统设计师、DSP工程师以及FPGA/硬件工程师。每一类设计人员有不同的职责分工,这就对他们所使用的特定设计环境提出了要求。系统设计师必须快速确定如何在选择的处理资源条件下最好地划分不同的系统级功能。他们关注的重点是选择适当的FPGA产品来满足产品性能和吞吐能力要求,同时满足尺寸、成本和功耗方面的预算。 DSP工程师更关注DSP算法的创建和改进。他们通常不熟悉硬件设计细节,要依赖工具将细节抽象掉,这样他们才能够更专注于更高层的设计探索和验证。硬件工程师通常采用VHDL或Verilog来从设计中获得最高的性能。他们通过需要在同一设计环境中与更高层功能模块以及自己的寄存器传输级(RTL)设计协同工作的能力,并且可以运行测试基准进行功能和性能验证。
图3 Spartan-DSP系列了填补DSP和高端FPGA之间的鸿沟
现代FPGA设计工具可满足所有三类设计群体的要求,在单个设计环境中提供了系统建模、算法开发和试验、测试基准向量自动生成、设计验证和调试、以及HDL生成和仿真等功能。无论设计人员使用C/C++、MATLAB、Simulink、HDL还是他们的任意组合,当今的FPGA设计工具(包括EDA合作伙伴提供的第三方工具)都能够支持他们快速高效地充分发挥FPGA的所有潜力。