1 相对于ASIC,FPGA是耗电器件,不适合超低功耗设计技术。
2 在CMOS技术中电路的动态功耗与门和金属引线的充放电有关,电容消耗电流的一般方程为
I=V* C*f
V 是电压,对于FPGA来说是一个定值。C 电容与直接被触发的门的数量以及连接这些门的布线长度有关,频率f直接与时钟频率相关。所以降低功耗都要以降低C, f入手。
a 时钟选通是减小动态功耗的直接手段,但是会引起时序分析困难。时钟使能触发器输入或者全局时钟多路选择器应该代替直接时钟选通来利用。在FPGA中选通时钟将带来新的时钟域,引起保持冲突,并且这些可能不会被编译工具优化。如下图所示:
如果DL<DG那么就会发生保持时间的错误。
b 最小化驱动信号的上升沿和下降沿可以降低输入器件的功耗。
c 不要把FPGA的输入缓冲悬空。(悬空的引脚被认为是变化迟缓的输入端)
d 动态功耗与电压的平方成正比,因此我们可以降低FPGA的供电电压减小功耗,
e 双沿触发可以降低频率从而减小功耗(但是必须有相应的器件才可以)
f 采用串行端接没有稳态电流的消耗。