3 系统功耗优化实例
3.1 FPGA读写SRAM系统设计
FPGA读写SRAM的简单系统如图4所示。
为了与理论值比较,要求该系统功耗为可测的。通过控制线rst和CE的电平高低来控制FPGA和SRAM工作状态,通过测量电压和电流可得到此时系统的功耗:当rst为低时,FPGA和SRAM都为空闲状态,测得的功耗为PFi+PSi(PFi为FPGA在idle状态的功耗,PSi为SRAM在idle状态的功耗,PFw为FPGA在work状态的功耗,PSw为SRAM在work状态的功耗,下同);当rst为高,CE为高时,FPGA为工作状态,SRAM为空闲状态,测得的功耗为PFw+PSi;当rst为高,CE为低时,FPGA和SRAM都为工作状态,测得的功耗为PFw+PSw。由SRAM数据手册得知,PSi在?滋W量级[6]时可忽略不计,所以控制线与所测得功耗关系如表1所示。
选取读写频率与读写时间占空比两个因素分别做为功耗影响因素x、y,当系统数据线位宽为8 bit时,在满足系统数据读写率为6 KB/s的前提下,只要x·y=6 K/s便能满足,如(6 kHz,1)、(12 kHz,0.5)、(1 MHz,0.006)等。在理想状态下,当整体翻转率一样时,功耗是一样的,与读写频率和读写时间占空比无关。但是实际中由于FPGA逻辑实现的差异,所以功耗会有差别,需要考虑x和y的取值来选择一个功耗最小点。这里考虑的读写频率x的范围为0.5 MHz~9 MHz,故读写时间占空比y的范围为6.7·10-4~0.012。 3.2 功耗估算与功耗测量结果
图5(a)为PFw、PFi的估算值,图5(b)为测量值,其中黑线为PFw,灰线为PFi。图6为测得的PSw值。由于y为读写时间占空比,所以(1-y)为系统空闲时间占空比,故系统平均功耗P为:
P=(PFw+PSw)·y+PFi(1-y) (2)
又:y=6 kHz/x MHz (3)
由(2)、(3)式和图5、图6中的数据,可得P关于x的曲线图,如图7所示。
通过对比估算值与实测值发现,估算值与实测值曲线基本吻合,它们的最小点都出现在x为9 MHz处。 由以上结果可知,当读写频率与读写时间占空比不同时,系统整体功耗是有差距的。系统采用(9 MHz,6.7×10-4)的参数是最省功耗的,即系统每秒钟以9 MHz频率工作6.7×10-4 s,其余时间空闲,比系统用其他读写频率和读写时间占空比的平均功耗要小。在所取样点中,最小功耗值比样点中的平均功耗值节约了10%左右的功耗,可见此方法在现实设计中可以很好地对系统功耗进行优化。 对电子系统来说,减少功耗可以带来很多好处,除了简化系统的散热处理及系统集成方面的工序、节约成本外,还能提高系统可靠性、降低热噪声干扰等。对便携式仪器、野外工作仪器等电池供电的系统来说,还能延长电池寿命,减少更换电池的麻烦。 |