新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > Xilinx FPGA的功耗优化设计

Xilinx FPGA的功耗优化设计

作者:时间:2009-04-29来源:网络收藏

对于来说,人员可以充分利用其可编程能力以及相关的工具来准确估算,然后再通过技术来使以及相应的PCB板在功率方面效率更高。
静态和动态及其变化

本文引用地址:http://www.eepw.com.cn/article/181426.htm

在90nm工艺时,电流泄漏问题对ASIC和都变得相当严重。在65nm工艺下,这一问题更具挑战性。为获得更高的晶体管性能,必须降低阈值电压,但同时也加大了电流泄漏。公司在降低电流泄漏方面做了许多努力,尽管如此,源于泄漏的静态在最差和典型工艺条件下的变化仍然有2:1。泄漏功耗受内核电压(VCCINT)的影响很大,大约与其立方成比例,哪怕VCCINT仅上升5%,静态功耗就会提高约15%。最后,泄漏电流还与结(或芯片)温密切相关。

FPGA中静态功耗的其它来源是工作电路的直流电流,但在很大程度上,这部分电流随工艺和温度的变化不大。例如I/O电源(如HSTL、SSTL和LVDS等I/O标准的端接电压)以及LVDS等电流驱动型I/O的直流电流。有些FPGA模拟模块也带来静态功耗,但同样与工艺和温度的关系不大。例如, FPGA中用来控制时钟的数字时钟管理器(DCM); Virtex-5 FPGA中的锁相环(PLL);以及Xilinx FPGA中用于输入和输出信息可编程延迟的单元IODELAY。

动态功耗是指FPGA内核或I/O的开关活动引起的功耗。为计算动态功耗,必须知道开关晶体管和连线的数量、电容和开关频率。FPGA中,晶体管在金属连线间实现逻辑和可编程互连。电容则包括晶体管寄生电容和金属互连线电容。

动态功率的公式:PDYNAMIC=nCV2f,其中,n=开关结点的数量,C=电容,V=电压摆幅,f=开关频率。

更紧凑的逻辑封装(通过内部FPGA架构改变)可以减少开关晶体管的数量。采用更小尺寸的晶体管可以缩短晶体管之间的连线长度,从而降低动态功率。因此,Virtex-5 FPGA中的65nm晶体管栅极电容更小、互连线长度也更短。两者结合起来可将结点的电容减小约15%至20%,这可进一步降低动态功率。

电压对于动态功率也有影响。从90nm转向65nm工艺,仅仅通过将VCCINT从1.2V降至1V,Virtex-5 FPGA的动态功率就降低了约30%。再加上结构增强带来的功率降低,总的动态功耗比90nm技术时降低达40%至50%。

(注:动态功率与VCCINT的平方成正比,但对于FPGA内核来说基本上与温度和工艺无关。)

利用FPGA设计技术降低功耗

Xilinx公司提供了两款功率分析工具。XPower Estimator (XPE)电子数据表工具可在设计人员使用物理实施工具前使用。在设计物理实施完成后,则可以采用第二款工具XPower Analyzer来检查所做的改变对功耗的影响。

降低功耗的一种方法就是为设计选择最适用的FPGA,然后利用其可编程能力进一步设计的功耗。正确的设计选择会同时改善静态和动态功耗。

源于泄漏电流的静态功率正比于逻辑资源的数量,也就是说正比于构造特定FPGA所使用的晶体管数量。因此,如果减少所使用的FPGA资源,采用更小的器件实现设计,那么就可以降低静态功耗。

可以采用多种方法来降低设计的规模,最基本的一种技巧就是逻辑功能分时。也就是说,如果两组电路完成一组线性功能,并且彼此完全相同,那么就可以只用一组电路但将速率提高一倍来完成同样的功能。这样需要的逻辑资源就减少了一半。

另一种缩小逻辑规模的方法是利用Xilinx FPGA的部分重配置功能,当两部分电路不同时工作时,可以在某个时间段将某部分电路重新配置实现另一种电路功能。

同时,还可以将功能移动到不太受限制的资源,例如,将状态机转移到BRAM、或者将计数器转移到DSP48模块、寄存器转移到移位寄存器逻辑,以及将BRAM转移到查找表RAM(LUTRAM)。同时还可以保证不要让设计的时序太紧张,因为那样会需要更多的逻辑和寄存器。

此外,还应当充分发挥FPGA架构中集成的硬IP块(BRAM、DSP、FIFO、Ethernet MAC、PCI Express)的优点。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭