APP下载

FPGA的功耗概念与低功耗设计

2017-04-08张阳施辰光

电脑知识与技术 2017年5期
关键词:功耗

张阳 施辰光

摘要:随着半导体行业的飞速发展和芯片工作频率的不断提高,芯片的功耗迅速增加,而功耗增加导致芯片发热影响设计的可靠性,增加了散热设计成本。因此,功耗已经成为电路设计中需要重要考虑的环节。本文围绕FPGA功耗的组成,从芯片静态功耗、设计静态功耗、设计动态功耗三个方面出发,分析影响FPGA功耗的因素。最后提出了FPGA低功耗设计方法。

关键词:功耗、FPGA、低功耗设计

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)05-0226-02

Abstrat: With the rapid development of semiconductor technology and higher chip operating frequencies, power consumption of chip increases rapidly, leading to lower reliability and higher expenses on low power consumption design. Therefore, power consumption becomes an essential consideration in circuit design. Based on the composition and principle of FPGA power loss, this article analyzes the factors on FPGA power dissipation from three major aspects as follows: chip static power consumption, design static power consumption and design dynamic power consumption. Finally, this article provides some methods to reduce the power consumption of FPGA.

Key words: power consumption, FPGA, Low power consumption design of FPGA

随着集成电路的飞速发展,人们对电子产品,尤其是便携式电子产品的需求越来越大。电子产品的集成度越来越高,运算速度越来越快,这使得设计者必须考虑功耗以延长电池的使用寿命和电子产品的运行时间。很多设计选择会影响到系统的功耗。

1 FPGA功耗的组成

整个FPGA设计的总功耗由三部分组成:芯片静态功耗、设计静态功耗、设计动态功耗。

芯片静态功耗:FPGA在上电后还未配置时,主要由晶体管的泄露电流所消耗的功耗。设计静态功耗:当FPGA配置完成后,当设计还未启动时,需要维持I/O的静态电流,时钟管理和其它部分电路的静态功耗。设计动态功耗:FPGA内设计正常启动后,设计的功耗;这部分功耗的多少主要取决于芯片所用电平,以及FPGA内部逻辑和布线资源的占用。

2 功耗形成分析

芯片静态功耗由漏电流引起。漏电流是芯片无论上电或静止状态都一直存在的电流,来源于晶体管的三个极。它分两部分,一部分是来自源极到漏极的泄漏电流,另一部分来自栅极到衬底的泄漏电流。漏电流与晶体管的沟道长度和栅氧化物的厚度成反比。源极到漏极的泄漏电流是主要原因。MOS管在关断时,沟道阻抗很大,但只要芯片供电就存在源极到漏极的泄漏电流[1]。设计静态功耗是FPGA配置完成后,当设计还未启动时,需要维持I/O的静态电流,时钟管理和其他部分电路的静态功耗。设计动态功耗是FPGA内设计正常启动后,存储器,内部逻辑,时钟,I/O消耗的功耗。这部分功耗占总功耗的90%左右,因此降低设计动态功耗是降低整个系统功耗的关键因素。

3 FPGA发热定量分析

4 FPGA低功耗设计

FPGA低功耗设计主要从两方面考虑:算法优化和FPGA资源使用效率优化。

4.1 算法优化

首先肯定需要设计一种最优化的算法实现结构,设计一种最优化的结构,使资源占用达到最少,当然功耗也能降到最低,但是还需要保证性能,使FPGA设计在面积和速度上都能兼顾。比如在选择采用流水线结构还是状态机结构时,流水线结构同一时间所有的状态都在持续工作,而状态机结构只有一个状态是使能的,显而易见流水线结构的功耗更大,但其数据吞吐率和系统性能更优,因此需要合理选其一,使系统能在面积和速度之间得到平衡。

另一个层面是具体的实现方法,设计中所有吸收功耗的信号当中,时钟是罪魁祸首。虽然时钟可能运行在100MHz,但从该时钟派生出的信号却通常运行在主时钟频率的较小分量(通常为12%~15%)。此外,时钟的扇出一般也比较高。这两个因素显示,为了降低功耗,应当认真研究时钟。首先,如果设计的某个部分可以处于非活动状态,则可以考虑禁止时钟树翻转,而不是使用时钟使能。时钟使能将阻止寄存器不必要的翻转,但时钟树仍然会翻转,消耗功率。其次,隔离时钟以使用最少数量的信号区。不使用的时钟树信号区不会翻转,从而减轻该时钟网络的负载。进而达到降低功耗的目的。

4.2 FPGA资源使用效率优化

资源使用效率优化是介绍一些在使用FPGA内部的一些资源如BRAM,DSP48E1时,可以优化功耗的方法。FPGA动态功耗主要体现为存储器、内部逻辑、时钟、I/O消耗的功耗。

其中存储器是功耗大户,如xilinx FPGA中的存储器单元Block RAM,因此在这里主要介绍对BRAM的功耗优化方法。设计中主要通过以下三种方法优化:1、使用“NO CHANGE”模式:在BRAM配置成True Dual Port时,需要选择端口的操作模式:“Write First”,“Read First”or“NO CHANGE”,避免读操作和写操作产生冲突。其中“NO CHANGE”表示BRAM不添加额外的逻辑防止讀写冲突,因此能减少功耗,但是设计者需要保证程序运行时不会发生读写冲突。2、控制“EN”信号:BRAM的端口中有clock enable信号,在端口设置中可以将其使能,模块化时将其与读/写信号连接在一起,如此优化可以使BRAM在没有读/写操作时停止工作,节省不必要的功耗。3、比深度:当设计中使用了大量的存储器时,需要多块BRAM拼接而成,如需要深度32K,宽度32-bit,32K*32Bit的存储量,但是单块BRAM如何配置是个问题。7 series FPGA中是36Kb的BRAM,其中一般使用32Kb容量,因此可以配置成32K*1-bit或者1K*32-bit,多块BRAM拼接时,前者是“拼宽度”,后者是“拼深度”。两种结构在工作时,“拼宽度”结构所有的BRAM需要同时进行读写操作;而“拼深度”结构只需要其中一块BRAM进行读写,因此在需要低功耗的情况下采用“拼深度”结构。

5 总结

通过上面的分析,了解了FPGA功率损耗的相关原理和影响功耗的关键因素。设计者可以通过文中介绍的方法,在FPGA设计中实现低功耗。

参考文献:

[1] 韩雪.FPGA功耗概念与低功耗设计研究[J].单片机与嵌入式系统应用,2010(7).

[2] 何艳霞.FPGA低功耗的设计研究[J].楚雄师范学院学报,2012(4).

猜你喜欢

功耗
基于任务映射的暗硅芯片功耗预算方法
基于Cortex-M4的油气管道微功耗数据采集器软件设计应用
数字电路功耗的分析及优化
IGBT模型优化及其在Buck变换器中的功耗分析
一种面向星载计算机的功能级功耗估计方法