低功耗FPGA的设计及应用分析
低功耗设计综述
功耗问题正日益变成电子系统的一个重要评断因素。对便携式应用来说,主要体现在电池寿命;对固定应用则体现在最高工作温度。目前的手机以及笔记本电脑等应用已经可以处理完整的语音和图像处理。并且将数据在无线链路上传输(数字蜂窝系统或者WLAN),从而达到任何人在任何地方的任何时间实现任何想要的业务这一目标。可便携能力要求对语音、图像的压缩和解压上的功耗必须处于一个很低的水平。
低功耗的FPGA设计所带来的优势不仅是能满足器件工作的散热要求。虽然满足元件指标对于性能和可靠性十分重要,但如何实现这一点对于系统成本和复杂性都有着巨大的影响。首先,降低FPGA的功耗使设计人员能够采用更便宜的电源,这样的电源使用的元件数量较少,并且占用的PCB面积也较小。高性能电源系统的成本通常为每瓦0.5到1美元。低功耗的FPGA直接降低了系统的整体成本。其次,由于功耗直接与散热相关,低功耗使设计人员能够使用更简单、更便宜的热量管理解决方案。在很多情况下,设计者将不再需要散热器,或者只需要更小、更便宜的散热器。最后,由于低功耗工作意味着更少的元件和更低的器件温度,因此将提高整个系统的可靠性。器件工作温度每降低10℃,就相当于元件寿命提高了两倍,因此对于需要高可靠性的系统而言,控制功耗和温度十分重要。
在讨论低功耗设计之前,首先给出系统的功耗组成,这样我们才能从实现上采用各种方法来节省功耗,达到低功耗设计的目的。
功耗包含两个因素:动态功耗和静态功耗。动态功耗是指对器件内的容性负载充放电所需的功耗。它很大程度上取决于频率、电压和负载,在实际中。这三个变量中的每个变量均在设计人员的控制之下。静态功耗是指由器件中所有晶体管的泄漏电流(源极到漏极以及栅极泄漏,常常集中为静止电流)引起的功耗,以及任何其他恒定功耗需求之和。泄漏电流很大程度上取决于结温和晶体管尺寸。恒定功耗需求包括因终接(如上拉电阻)而造成的电流泄漏。没有多少措施可以采用来影响泄漏,但恒定功耗可以得到控制。
每一款芯片的静态功耗是相对固定的,不受设计人员控制,因此在设计中要达到低功耗的目的,只能从以下两方面入手:(1)芯片选择,包括工艺、电压以及负载的驱动能力;(2)在程序设计时充分考虑时钟频率的代大小。
Xilinx公司的低功耗设计资源
Xilinx公司一直关注FPGA应用中的功耗问题,从芯片和软件工具等方面提供了全方位的解决方案,分别如下所述:
1.芯片和工具
在90nm工艺上,Virtex-4器件的启动浪涌功耗降低了94%;静态功耗降低了78%。功耗的显著下降是由于采用了独特的节能配置电路和90nm三栅极氧化层技术,减轻了系统电源和冷却系统的负担,从而改善了系统的长期可靠性并降低了系统总成本,使得设计人员在得益于功耗降低的同时,仍可实现业界最高水平的性能。65纳米工艺使FPGA的逻辑能力和性能比传统器件有了显著提高,也就是说更多的结点工作在更高的频率上。如果其它方面的条件不变,动态功耗将会增大。Virtex-5器件中,核心电源电压从Virtex-4中所使用的1.2V下降到1.0V。Virtex-5器件的平均结点电容比Virtex-4器件大约减小了15%。加上电压降低带来的好处,至少相当于将Virtex-5器件的核心动态功耗降低了35~40%。除了因工艺尺寸缩小到65纳米所致固有的35~40%动态功耗降低外,Virtex-5器件的架构创新还能进一步降低每个设计的功耗,加上新型6-LUT和对角线对称的互联等架构上的革新,使实际核心动态功耗进一步降低了50%或以上。
此外,在Xilinx的每块芯片内,除通用逻辑单元外,都具有具备一定数目的硬核单元,包括块 ram、乘法器、dsp48块、PowerPC,以及其他逻辑。这不仅在于专门逻辑具有更高的性能,还在于它们具有更低的密度,因而对于相同的操作可以消耗较少的功率。
2.分析工具
在FPGA 设计中,功耗分析是成功设计的重要环节。针对 FPGA 设计中的功耗分析,Xilinx公司推出了简单的速查表格和专用的功耗分析工具——XPower。对于开发初期的 FPGA功耗估算,设计者一般使用Xilinx公司提供的简单图表和公式。例如,XC9500 系列器件的简单功耗分析可以在其数据手册中找到估算公式。Virtex-E和Virtex-Ⅱ系列器件的简单功耗分析可以通过Xilinx公司提供的功耗估算表格完成。对于基本完成逻辑设计的FPGA 功耗估算,设计者可以使用XPower进行详细的功耗分析。
在XPower功耗分析过程中,其功耗估算的基本方法是:(1)计算每个设计单元的功耗。(2)累加各个设计单元的功耗。由于CMOS电路的动态功耗很大程度上取决于电路的翻转频率,所以XPower采用如下公式计算单个设计单元的功耗:
式中,P 表示功耗,单位是mW;C表示电容,单位是F;V表示电压,单位是V;E表示翻转频率,指每个时钟周期的翻转次数;f表示工作频率,单位是Hz。在XPower中,翻转频率既可以采用全局默认的翻转频率,也可以通过VCD文件获得。另外,XPower允许手工输入各个设计单元的翻转频率。
在XPower功耗分析过程中,主要涉及NCD文件、CTX文件、PCF文件、VCD文件和PWR文件。其中,NCD文件是经过实现的FPGA设计文件;CTX文件是经过物理实现(FIT)的CPLD设计文件;PCF文件是物理设计约束文件,该文件包含当前设计的时钟频率、电压等特性参数;PW R文件是XPower的功耗分析报告;VCD文件是对当前设计进行仿真后生成的文件,该文件包含了每个设计单元的翻转频率。
功耗问题正日益变成电子系统的一个重要评断因素。对便携式应用来说,主要体现在电池寿命;对固定应用则体现在最高工作温度。目前的手机以及笔记本电脑等应用已经可以处理完整的语音和图像处理。并且将数据在无线链路上传输(数字蜂窝系统或者WLAN),从而达到任何人在任何地方的任何时间实现任何想要的业务这一目标。可便携能力要求对语音、图像的压缩和解压上的功耗必须处于一个很低的水平。
低功耗的FPGA设计所带来的优势不仅是能满足器件工作的散热要求。虽然满足元件指标对于性能和可靠性十分重要,但如何实现这一点对于系统成本和复杂性都有着巨大的影响。首先,降低FPGA的功耗使设计人员能够采用更便宜的电源,这样的电源使用的元件数量较少,并且占用的PCB面积也较小。高性能电源系统的成本通常为每瓦0.5到1美元。低功耗的FPGA直接降低了系统的整体成本。其次,由于功耗直接与散热相关,低功耗使设计人员能够使用更简单、更便宜的热量管理解决方案。在很多情况下,设计者将不再需要散热器,或者只需要更小、更便宜的散热器。最后,由于低功耗工作意味着更少的元件和更低的器件温度,因此将提高整个系统的可靠性。器件工作温度每降低10℃,就相当于元件寿命提高了两倍,因此对于需要高可靠性的系统而言,控制功耗和温度十分重要。
在讨论低功耗设计之前,首先给出系统的功耗组成,这样我们才能从实现上采用各种方法来节省功耗,达到低功耗设计的目的。
功耗包含两个因素:动态功耗和静态功耗。动态功耗是指对器件内的容性负载充放电所需的功耗。它很大程度上取决于频率、电压和负载,在实际中。这三个变量中的每个变量均在设计人员的控制之下。静态功耗是指由器件中所有晶体管的泄漏电流(源极到漏极以及栅极泄漏,常常集中为静止电流)引起的功耗,以及任何其他恒定功耗需求之和。泄漏电流很大程度上取决于结温和晶体管尺寸。恒定功耗需求包括因终接(如上拉电阻)而造成的电流泄漏。没有多少措施可以采用来影响泄漏,但恒定功耗可以得到控制。
每一款芯片的静态功耗是相对固定的,不受设计人员控制,因此在设计中要达到低功耗的目的,只能从以下两方面入手:(1)芯片选择,包括工艺、电压以及负载的驱动能力;(2)在程序设计时充分考虑时钟频率的代大小。
Xilinx公司的低功耗设计资源
Xilinx公司一直关注FPGA应用中的功耗问题,从芯片和软件工具等方面提供了全方位的解决方案,分别如下所述:
1.芯片和工具
在90nm工艺上,Virtex-4器件的启动浪涌功耗降低了94%;静态功耗降低了78%。功耗的显著下降是由于采用了独特的节能配置电路和90nm三栅极氧化层技术,减轻了系统电源和冷却系统的负担,从而改善了系统的长期可靠性并降低了系统总成本,使得设计人员在得益于功耗降低的同时,仍可实现业界最高水平的性能。65纳米工艺使FPGA的逻辑能力和性能比传统器件有了显著提高,也就是说更多的结点工作在更高的频率上。如果其它方面的条件不变,动态功耗将会增大。Virtex-5器件中,核心电源电压从Virtex-4中所使用的1.2V下降到1.0V。Virtex-5器件的平均结点电容比Virtex-4器件大约减小了15%。加上电压降低带来的好处,至少相当于将Virtex-5器件的核心动态功耗降低了35~40%。除了因工艺尺寸缩小到65纳米所致固有的35~40%动态功耗降低外,Virtex-5器件的架构创新还能进一步降低每个设计的功耗,加上新型6-LUT和对角线对称的互联等架构上的革新,使实际核心动态功耗进一步降低了50%或以上。
此外,在Xilinx的每块芯片内,除通用逻辑单元外,都具有具备一定数目的硬核单元,包括块 ram、乘法器、dsp48块、PowerPC,以及其他逻辑。这不仅在于专门逻辑具有更高的性能,还在于它们具有更低的密度,因而对于相同的操作可以消耗较少的功率。
2.分析工具
在FPGA 设计中,功耗分析是成功设计的重要环节。针对 FPGA 设计中的功耗分析,Xilinx公司推出了简单的速查表格和专用的功耗分析工具——XPower。对于开发初期的 FPGA功耗估算,设计者一般使用Xilinx公司提供的简单图表和公式。例如,XC9500 系列器件的简单功耗分析可以在其数据手册中找到估算公式。Virtex-E和Virtex-Ⅱ系列器件的简单功耗分析可以通过Xilinx公司提供的功耗估算表格完成。对于基本完成逻辑设计的FPGA 功耗估算,设计者可以使用XPower进行详细的功耗分析。
在XPower功耗分析过程中,其功耗估算的基本方法是:(1)计算每个设计单元的功耗。(2)累加各个设计单元的功耗。由于CMOS电路的动态功耗很大程度上取决于电路的翻转频率,所以XPower采用如下公式计算单个设计单元的功耗:
式中,P 表示功耗,单位是mW;C表示电容,单位是F;V表示电压,单位是V;E表示翻转频率,指每个时钟周期的翻转次数;f表示工作频率,单位是Hz。在XPower中,翻转频率既可以采用全局默认的翻转频率,也可以通过VCD文件获得。另外,XPower允许手工输入各个设计单元的翻转频率。
在XPower功耗分析过程中,主要涉及NCD文件、CTX文件、PCF文件、VCD文件和PWR文件。其中,NCD文件是经过实现的FPGA设计文件;CTX文件是经过物理实现(FIT)的CPLD设计文件;PCF文件是物理设计约束文件,该文件包含当前设计的时钟频率、电压等特性参数;PW R文件是XPower的功耗分析报告;VCD文件是对当前设计进行仿真后生成的文件,该文件包含了每个设计单元的翻转频率。


