FPGA器件的一个比较特别的现象是其上电瞬间的电流比较大,有时候甚至大于芯片正常工作的电流,这是因为FPGA内部的逻辑和互连线资源(SRAM工艺)在上电的瞬间处于不确定状态,发生电流冲突的结果。
如果用户在设计的时候没有考虑到这个上电瞬间的大电流,电源模块不能够提供这么大的电流,芯片在上电过程中就会出现上电曲线不单调的问题,导致器件上电失败,以至于芯片无法正常工作。一般在器件手册中会给出这个上电电流值。
FPGA在正常工作中,其消耗的总功耗由器件的静态功耗,动态功耗和I/O功耗构成。静态功耗也叫做待机功耗(Standby Power),是芯片处在上电状态,但是内部电路没有工作(也就是内部电路没有翻转)时消耗的功耗。而所谓动态功耗是指由于内部电路翻转所消耗的功耗。I/O功耗是I/O在翻转时,对外部负载电容进行充放电所消耗的功耗。
如下式:
总功耗=静态功耗+动态功耗+I/O功耗
芯片的静态功耗是芯片处于待机状态下所消耗的功率,它主要是由芯片内部的漏电流产生。在高速的90nm器件中(如Stratix II),芯片的漏电流相对来说较大,因此静态功耗成为主要的电源消耗,也叫做漏电功耗(Leakage Power)。
静态功耗有一个显著的特点,就是它随着器件结温(Junction Temperature,Tj)的变化而变化较大。Tj越大,功耗越大;Tj越小,功耗越小。如图1所示。因此,控制芯片的结温可以有效地控制芯片的静态功耗。
图1 漏电功耗与器件结温的关系
相比以前的器件工艺(如0.13um),90nm器件由于内核电压的降低,芯片在工作时所消耗的动态功耗因此也相应降低。
至于I/O功耗,因为其电源与内核分开的,它消耗的功耗改变不大。
不同工艺器件的功耗组成如图2所示。
图2 不同工艺器件功耗比较
注意:功耗增加是90nm高速芯片的结果,如果芯片设计者降低器件的性能规格,那么其功耗也将随之显著降低,Altera 90nm的低成本器件Cyclone II就是一个很好的例子。