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 採用串行端接没有稳态电流的消耗。