1. 电流
2. 时间(或频率)
3. 易失性FPGA
4. 非易失性FPGA
5. 易失性FPGA的上电浪涌电流
6. 系统供电电压
7. 静态
8. 与频率相关的动态电源
9. 易失性FGPA的配置电源
在处理晶体管电流泄漏方面,FPGA厂商采取的另一个措施是建立两级阈值电压(VT) 单元。这种被称为多VT(Multi-VT)的技术旨在尽可能少地采用大泄漏低VT器件,并尽可能多地采用低泄漏高VT器件,以便减少总体设计泄漏。过去,多VT 技术用于ASIC 和 ASSP产品,现在则开始为FPGA供应商所采用。
尺寸至关重要
在IC设计领域,鉴于成本和众多其它原因,尽可能地减小芯片尺寸一直是业界关注的焦点;现在功耗又成为另一个目标。芯片越小,静态电源消耗越低。在满足应用的功能性及其它要求的前提下,选择尽可能小的芯片便更易于达到功耗目标。
在选择FPGA时,还有一个因素也十分重要,就是必须尽可能对 RAM、PLL和I/O 技术等资源的使用进行优化。在FPGA架构的选择中,还应该考虑到FPGA的所有低功耗模式,以及其它动态资源(如PLL、RC 振荡器和 I/O组)的节能能力。例如,假设较低的参考电压可节省系统功率,则选择同时支持1.2V LVCMOS 和/或 1.5V LVCMOS标准的I/O产品,就可以既节省功耗又在必要时获得更高的I/O电压。
时钟
FPGA的动态电源主要消耗在逻辑资源和互连结构等电容性元件的充放电活动。某个资源元件i的动态功耗可以利用下式建模:这里fi为开关频率, Ci为电容性负载,Vi为该资源的电压摆幅。充分考虑动态功率方程中的每一项,便可以降低功耗。例如,在时钟域可以决定设计的哪些部分需要快速时钟或较慢时钟。开关频率fi是动态功率方程的成分之一。由快速时钟驱动的逻辑相比由慢速时钟驱动的逻辑,开关更频繁。设计人员知道逻辑的哪些部分需要快速时钟,而哪些部分又可以运行在较慢速度之下,因此可以按照时钟所控制的功能予以划分,从而节省功率。
一项设计的动态功耗还随布局布线而有很大变化。例如,如果两个相连的功能性实体彼此靠得很近,两者间的布线长度可能缩短,因此会减小网络的电容性负载,致使功率降低。如今的FPGA开发软件通常支持功率驱动布线 (Power Driven Layout),可以自动实现这项功能,并能够降低25%或更多的总体动态功耗(实际数字取决于设计中的时钟和网络数目)。