二十多年来,FPGA为世人提供了最灵活、适应性极强、快速的设计环境。早期的DSP设计人员发现,可将一种可再编程的门海用于数字信号处理。如果把内置到FPGA架构中的乘法器、加法器和累加单元结合起来,就可以利用大规模并行计算实现有效的滤波器算法。
在未加工频率性能方面的损失,通过并行计算得到了弥补,而且得远大于失,可谓“失之东隅,收之桑榆”;由此获得的DSP带宽完全可与替代方案媲美。随着时间的推移,乘法器和加法器的实施越来越高效。1998年,Xilinx顺理成章推出了第一个集成于Virtex™-IIFPGA系列产品中的嵌入式乘法器。Xilinx®Virtex-II和Virtex-IIPro系列产品深得人心,推动基于FPGA的DSP更上层楼,打破了每秒十亿次MAC运算的壁障。
在数字通讯、军事、国防、视频和图像市场需求的助推下,Xilinx进一步做出调整,成功应对了一系列独特挑战,使极大规模并行实施方式跨上又一个新台阶。随着乘法器和加法器性能和数量的增长,对功耗进行管理也变得越来越困难。
Xilinx的工程师们设计出了DSP48Slice,使这一难题迎刃而解。DSP48Slice是一种超低功耗、高性能、全方位的数字信号处理元件,可方便地实现级联,而不占用任何FPGA架构资源。此元件在Virtex-5器件中得到进一步加强,并重新命名为DSP48ESlice,能支持更高的精度、SIMD(单指令多数据)操作、集成模式检测电路和逻辑单元。
对快速数据输入和系数存储器的需求促使Xilinx构建起一个平台,其中DSP48ESlice含有率之大前所未见,并且拥有极其充裕的BlockRAM和分布式RAM。作为画龙点睛之笔,Xilinx在此平台中使用了运行速度高达3.125Gbps的集成高速串行通道,在芯片上移入和移出数据变得更为快捷。风云际会,这些元件组合在一起,Virtex-5SXT平台由此应运而生。
想要理解FPGA中数字信号处理的演变过程,必须回顾一下DSP48ESlice(见图1),及其设计的三个主要方面。
图1–Virtex-5FPGA中DSP48ESlice的结构图
*集成乘法器和第二阶段。利用集成的二级加法器/减法器/累加器扩展乘法器的运算。现在,在单独一个DSP48ESlice中,就可以执行最常见的DSP运算组合了。
*紧缩实施。为了提高性能、降低功耗,各个DSP48ESlice被设计成独立元件,然后通过接口像积木块一样连接到一起,而每一个DSP48ESlice都包含独立于FPGA架构的专用路径和缓冲。
*全方位定制设计。Xilinx很早就确定,要实现高性能和低功耗,一个按照最新工艺尺寸度身打造的全方位定制设计是必不可少的。Xilinx设计团队与Arithmetica通力协作,将乘法器和加法器电路MathIP库加以集成,进一步提高了效率。
以这种设计为依托,DSP48ESlice的实施在性能和低功耗效率方面达到了前所未有的水平。Virtex-5器件中的DSP48ESlice分别以高速550MHz、中速500MHz和低速450MHz运行。无论您单独使用一个DSP48ESlice还是将所有640个DSP48ESlice汇集到最大的Virtex-5SXT器件中,都可以达到这一性能(使用专用的级联逻辑实现每秒3520亿次乘法累积运算)。而且,实现这一令人叹为观止的性能,仅仅使用了DSP48ESlice,完全没有消耗逻辑或FPGA路径资源。
这种专用的级联逻辑意味着能耗的计算是基于每一个DSP48ESlice的,也即其运行速度和输入的翻转率。单个DSP48ESlice的实测典型功耗为1.38mW/100MHz。不难算出,假定Virtex-5SX95T器件中所有640个Slice均以550MHz运行,而翻转率为通常的38%,则所有DSP48ESlice的总体动态功耗为4.92W。
低功耗、高性能设计技术
为了充分利用独特的Virtex-5SXT架构进行数字信号处理,建议遵循如下的简易指南:
*实施能最大化使用DSP48ESlice的滤波器算法。每一个25x18位的DSP48ESlice都等同于500个以上可编程逻辑Slice,功耗为同等逻辑实施的1/10,单独或链接运行速度高达550MHz。
*利用DSP48ESlice的所有功能。每一个DSP48ESlice都可配置成独立的25x18乘法器,一个25x18位乘法器兼加法器/减法器/累加器,或者一个48x48位加法器或减法器。每一个DSP48ESlice都支持SIMD运行以及对称或收敛圆整。
*实施定点或浮点运算。DSP48ESlice不仅对于定点FIR、FFT或复杂的过滤器运算而言是理想的产品,25x18的输入大小和级联路径还使我们可以使用两个DSP48ESlice来实现高效的24x24无符号浮点运算。
在数字信号应用中使用DSP48ESlice
Virtex-5SXT平台中DSP48ESlice、BlockRAM、逻辑和数千兆位级收发器的独特结合,为DSP过滤器的应用提供了高成本效益、高性能、低功耗的解决方案。为了说明这一点,让我们看看Virtex-4SX和Virtex-5SXT器件平台中无线卡的应用,对比一下两种情况下的功耗差别。
WiMAX数字前端(DFE)集成了以下内容:数字上变频(DUC)/数字下变频(DDC)、振幅因数缩小(CFR)和自动增益控制(AGC)。本设计中要求的过滤功能正好与一个Virtex-4SX25FPGA或一个Virtex-5SX35TFPGA所能提供的DSP48ESlice相匹配。本设计运行频率为276MHz,消耗Virtex-4SX25FPGA中73%的DSP48资源(128个中的95个),或者Virtex-5SX35TFPGA中48%的DSP48E资源(196个中的95个)。
尽管单看WiMAXDFE方案的表现和用于其实施的资源已令人惊叹,真正堪称一绝的还是其功耗效率。本设计主要使用DSP48或者DSP48ESlice,但也消耗BlockRAM和逻辑。表1对这些方案进行了对比,并展示由Virtex-4到Virtex-5器件的实测功耗和降低水平。
结论
对数字信号处理的要求在不断提高,提供可扩展高性能DSP的呼声日益响亮,因此,在每秒几百GMAC甚至更高的水平上管理功耗的难题也愈见急迫。XilinxVirtex-5SXTFPGA平台提供了独特的单芯片解决方案,充分利用大规模并行计算达到超高性能,同时将功耗降到最低。 |