使用FPGA器件最大限度地降低高速DSP密集型系统设计的功耗
对于高速的DSP密集型系统设计,降低功率变得越来越重要。例如,在通信系统中,通信必须以周期猝发方式来实施,以避免放大器和系统其余部分电路持续消耗功率。在传感器网络中的要求是定期关断工作的传感器(比如用于交通图像或天气传感器),或者定期打开它们(例如在地震情况下),以及在设备回到睡眠模式之前以猝发方式上传信息。在通常具有相对较低取样频率的医疗监测设备中,需要通过实施周期性操作其低功耗特性的方式来最大限度减少功耗,相似的,手持便携式解决方案也是如此。
对于着重降低功率的DSP密集型系统设计,设计人员不仅仅是要提供最低的静态功率,更重要的是需要专注于实现尽可能低的总体功耗,尤其是在高频率和高温条件下。现场可编程门阵列(FPGA)通过综合的方法来实现功耗最小化,有助于达到这个目标。这种方法包括加工工艺、架构和逻辑配置设计,以及包括SERDES、DDR2/3和DSP模块的嵌入式特性,同时还加入了进一步降低静态功耗的特殊功率模式。本文重点讨论在低功率DSP密集型系统设计中应对DSP挑战的FPGA技术演进。
FPGA演进
在过去二十年里,许多先进的CPU和MCU构建了各种节能模式,以应对DSP密集型设计中较高频率和集成度水平引起的功耗难题。仅有最先进的FPGA器件提供了类似的低功耗能力,并且支持更高频率器件。直至最近才出现可以解决早期基于SRAM解决方案的泄漏问题,同时带有低功耗模式实现额外节能能力的FPGA器件。
大体上,静态功率、动态功率,以及浪涌功率这三种功率成分左右了总体功耗,这与FPGA功率预算相关。必需有效地管理这三种成分以实现最低功耗。
管理这些功率成分需要固有低泄漏电流——这是FPGA器件支持DSP密集设计之功率需求的一个重要特性。与使用SRAM单元的FPGA器件相比,基于flash的FPGA解决方案具有优势,这是因为基于flash的 FPGA使用单一(而不是六个)晶体管来构建,而且配置功率和浪涌功率(上电期间)均为零。SRAM FPGA上电处于未配置状态,必需完成初始上电复位顺序。首先,各个配置位处于未知状态,并且必需在每个电源周期初始化。因此,产生了高至数安培或长至数百微秒之尖峰的浪涌电流,这带来了浪涌功率(请参见图1)。
图1:使用基于flash的FPGA器件,可以在器件启动和配置阶段省去数百微瓦(mW)功率。为了避免大电流峰值,SRAM FPGA需要复杂的上电排序,因此增加了元器件成本和占位面积。
为了缓减这个尖峰电流,许多SRAM FPGA器件也都具有附加的复杂系统上电顺序要求。而基于flash的非易失性 FPGA无需外部配置器件来进行重新编程,在启动阶段省去了数百微瓦(mW),并且省去了用于缓减尖峰电流的外部器件。在某些情况下,与基于SRAM的解决方案相比,基于flash的FPGA可以把每单元泄漏电流降低1000倍,并且具有超低静态电流和无需外部缓减器件的优势。
基于flash的 FPGA器件除了固有较低功率之外,还可以利用附加的特性以进一步减小功率。基于flash的 FPGA器件在单一芯片上结合了硬IP模块和FPGA架构,并且这个FGPA集成了功能齐全的微控制器系统、增强的FPGA架构和高速串行和存储器接口。附加的功率敏感特性和其它特性包括:
增强的SERDES功能:最新FPGA的每个SERDES通道的每Gbps功率降低至13mW,与具有相似功能的其它FPGA解决方案相比,可以降低多达5倍(参见图2)。
在较小的器件中集成许多不同的硬IP和其它资源:通过加入更多I/O、收发器、PCI Express端点和高性能存储器子系统,可以在更小、功率更低的器件中提供更多功能。
嵌入式RAM和数学模块:基于flash 的 FPGA器件包括内建的硬RAM模块和数学模块,用于密集型DSP应用。而且,这些模块在低功率下提供高性能水平。图3所示为不同FPGA制造商之间的RAM功率比较。
固有低功率的嵌入式处理器子系统:某些子系统提供多种低功率模式,包括睡眠模式和深度睡眠模式,使用低功率模式可以实现FPGA架构和相关I/O的快速停止和启动,同时保存FPGA架构的状态,并且显著降低功耗。器件大约花100ms来进入睡眠模式,再花大约100ms退出这个模式。然而,FPGA退出睡眠模式的状态可以保存,该器件从其退出的状态继续运作。
使用附加的工具来最大限度地减小功率:通过使用各种工具来计算功率配置,以及使用智能floor-planning和功率优化布局布线,用户能够进一步优化其设计以降低功耗。
图2: 来自主要FPGA制造商的SERDES功耗数值
图3: 来自主要FPGA制造商的存储器和数学模块功耗数值
所有这些降低功率的特性和功能,在高速DSP密集型系统设计中特别重要。
DSP设计的挑战
DSP密集型系统设计需要复杂的数学计算、高存储器带宽要求,以及具有动态重新配置的高速串行传输,这些要求在高性能水平下消耗很大的功率。下一代FPGA器件必需能够以尽可能低的功耗来应对这些需求,并且不影响性能。DSP系统设计人员在设计中使用数个不同的构件(乘法器、存储器、收发器等),而不同系统架构实施方案的功耗有着显着的区别,这取决于使用的FPGA器件。
所有FPGA器件也都使用硬乘法器作为基础计算单元,这个硬乘法器在总体系统功率预算方面举足轻重。为此,美高森美研究了具有不同架构的有限脉冲响应(FIR)滤波器,并且根据乘法器数目对比运作频率,分析了各个器件的功耗。
FIR滤波器经常用于在各种应用中消除不必要噪声,同时提升信号质量,或者修理信号波幅的DSP模块,有着数种FIR滤波器架构,包括转置或收缩(有或没有对称性) 。这两种架构均具有与总体初始延迟、DSP模块数目、吞吐量或性能,以及管线寄存器数目相关的特性,两种架构之间的区别如图4所示,图中显示16-Tap FIR转置和收缩的对称型款。
图4: 用于对称转置和收缩16-Tap FIR的架构的比较
现在来总结两种架构之间的区别:转置架构使用管线级并且减少输入扇出以提高运作频率;同时,N-Tap systolic FIR的初始延迟是(2*N -2)周期。比较之下,虽然转置架构的运作频率较低,但其初始延迟较好(N-1周期),而且使用较少的时序资源。这些架构还要考虑其它的因素,最重要的是滤波器稳定性,尤其是必需考虑大量抽头(tap)数目和加权特性。例如,在需要回声消除的语音处理应用中,在存在大部分回声的近端,权重必需较高,在回声较少的后续滤波器抽头上较低。
根据使用的架构不同,FPGA的功耗可能显着变化。在一项研究中,使用了功耗预算工具,并且使用FPGA开发工具套件在32、64和128-Tap Transpose FIR实施方案中测量不同温度下的实际硅器件;研究结果表明FPGA器件通过合适的设计和实施来提供了显着的节能。此外,这些节能在较低的频率和高温下更加明显。另一个重要发现是,对于最佳性能FPGA器件,功耗与抽头的数目成线性关系。换句话说,如果抽头的数目少,某些性能较差FPGA的功耗数值更差;对于其它器件,在抽头数目高时,它们的性能更差。这可能与架构问题有关。
图5:来自不同FPGA供应商的32、64、128-Tap FIR总体功耗数值
结论
今天以DSP为中心的系统设计,面临不断增加的减小功耗的压力。今天基于flash的 FPGA技术不只是减少静态功耗,而是减少总体功耗,正是实现下一代高速DSP密集型系统设计的重要因素,这些设计要求必需在不断缩小的外形尺寸中提供高算法性能,并具有尽可能低的功耗。
|