FPGA的低功耗设计
芯片对功耗的苛刻要求源于产品对功耗的要求。集成电路的迅速发展以及人们对消费类电子产品——特别是便携式(移动)电子产品——的需求日新月异,使得设计者对电池供电的系统已不能只考虑优化速度和面积,而必须注意越来越重要的第三个方面——功耗,这样才能延长电池的寿命和电子产品的运行时间。很多设计抉择可以影响系统的功耗,包括从器件选择到基于使用频率的状态机值的选择等。
1 FPGA功耗的基本概念
(1) 功耗的组成
功耗一般由两部分组成:静态功耗和动态功耗。静态功耗主要是晶体管的漏电流引起,由源极到漏极的漏电流以及栅极到衬底的漏电流组成;动态功耗主要由电容充放电引起,其主要的影响参数是电压、节点电容和工作频率,可以用式(1)表示[1]。
(2) 静态功耗
静态功耗主要是由漏电流引起。漏电流是芯片上电时,无论处于工作状态还是处于静止状态,都一直存在的电流,来源于晶体管的三个极,如图1所示。它分为两部分,一部分来自源极到漏极的泄漏电流ISD,另一部分来自栅极到衬底的泄漏电流IG。漏电流与晶体管的沟道长度和栅氧化物的厚度成反比[2]。
图1 静态功耗的组成
源极到漏极的泄漏电流是泄漏的主要原因。MOS管在关断的时候,沟道阻抗非常大,但是只要芯片供电就必然会存在从源极到漏极的泄漏电流。随着半导体工艺更加先进,晶体管尺寸不断减小,沟道长度也逐渐减小,使得沟道阻抗变小,从而泄漏电流变得越来越大,而且源极到漏极的漏电流随温度增加呈指数增长。
(3) 动态功耗
动态功耗主要由电容充放电引起,它与3个参数有关:节点电容、工作频率和内核电压,它们与功耗成正比例关系。如式(1)所示,节点电容越大,工作频率越高,内核电压越大,其动态功耗也就越高。而在 FPGA中动态功耗主要体现为存储器、内部逻辑、时钟、I/O消耗的功耗。在一般的设计中,动态功耗占据了整个系统功耗的90%以上,所以降低动态功耗是降低整个系统功耗的关键因素。
(4) 降低功耗带来的好处
① 低功耗的器件可以实现更低成本的电源供电系统。另外,更简单的电源系统意味着更少的元件和更小的PCB面积,同样可以降低成本[3]。
② 更低的功耗引起的结温更小,因此可以防止热失控,可以少用或不用散热器,如散热风扇、散热片等。
③ 降低功耗可以降低结温,而结温的降低可以提高系统的可靠性。另外,较小的风扇或不使用风扇可以降低EMI[3]。
④ 延长器件的使用寿命。器件的工作温度每降低10 ℃,使用寿命延长1倍。
所以对于FPGA而言,降低功耗的根本在于直接提高了整个系统的性能和质量,并减小了体积,降低了成本,对产品有着非常大的促进作用。
(5) 如何降低FPGA功耗
FPGA主要的功耗是由静态功耗和动态功耗组成,降低FPGA的功耗就是降低静态功耗和动态功耗。
静态功耗除了与工艺有关外,与温度也有很大的关系。一方面需要半导体公司采用先进的低功耗工艺来设计芯片,降低泄漏电流(即选择低功耗的器件);另一方面可以通过降低温度、结构化的设计来降低静态功耗。
FPGA动态功耗主要体现为存储器、内部逻辑、时钟、I/O消耗的功耗。
① 选择适当的 I/O标准可以节省功耗。I/O功耗主要来自器件输出引脚连接的外部负载电容、阻抗模式输出驱动电路以及外部匹配网络的充放电电流。可选择较低的驱动强度或较低的电压标准。当系统速度要求使用高功率 I/O标准时,可设置缺省状态以降低功耗。有的I/O标准需要使用上拉电阻才能正常工作,因此如果该 I/O的缺省状态为高电平而不是低电平,就可以节省通过该终结电阻的直流功耗。
② 当总线上的数据与寄存器相关时,经常使用片选或时钟使能逻辑来控制寄存器的使能,尽早对该逻辑进行"数据使能",以阻止数据总线与时钟使能寄存器组合逻辑之间不必要的转换。另一种选择是在电路板上,而不是芯片上,进行这种"数据使能",以尽可能减小处理器时钟周期。也就是使用 CPLD从处理器卸载简单任务,以便使其更长时间地处于待机模式[4]。
③ 设计中所有吸收功耗的信号当中,时钟是罪魁祸首。虽然时钟可能运行在 100 MHz,但从该时钟派生出的信号却通常运行在主时钟频率的较小分量(通常为 12%~15%)。此外,时钟的扇出一般也比较高。这两个因素显示,为了降低功耗,应当认真研究时钟。 首先,如果设计的某个部分可以处于非活动状态,则可以考虑禁止时钟树翻转,而不是使用时钟使能。时钟使能将阻止寄存器不必要的翻转,但时钟树仍然会翻转,消耗功率[4]。其次,隔离时钟以使用最少数量的信号区。不使用的时钟树信号区不会翻转,从而减轻该时钟网络的负载。合理的布局可以在不影响实际设计的情况下达到此目标。
④ 根据预测的下一状态条件列举状态机,并选择常态之间转换位较少的状态值,这样就能尽可能减少状态机网络的转换量(频率)。确定常态转换和选择适当的状态值,是降低功耗且对设计影响较小的一种简单方法。编码形式越简单(如1位有效编码或格雷码),使用的解码逻辑也会越少[5]。
⑤ 要计算覆盖整个产品生命周期或预期电池工作时间内所有状态下的功耗,要考虑上电、待机、空闲、动态和断电等多种状态,要计算最坏情况下的静态功耗。
- 扩展低功耗RF设备通信距离(09-26)
- 低功耗射频无线技术的发展(05-16)
- 低功耗蓝牙与专有射频技术在HID的应用概述(10-06)
- UHF RFID系统测试的挑战(04-20)
- 功率:EDA设计中的巨大挑战(06-18)
- 德州仪器BOM优化最低功耗小型蜂窝解决方案(06-05)