FPGA如何估算分析功耗

描述

1SRAM FPGA为什么比Flash FPGA功耗高?

FPGA的功耗由4部分组成:上电功耗、配置功耗、静态功耗和动态功耗。一般的FPGA都具有这4种功耗,但是Actel Flash FPGA由于掉电数据不丢失,无需配置芯片,所以上电后不需要一个很大的启动电流,也不需要配置过程,只有静态功耗和动态功耗,没有上电功耗和配置功耗。 

同时,基于Flash架构的FPGA每个可编程的开关都是由2个晶体管构成,而基于SRAM技术的FPGA每个可编程开关是由6个晶体管构成,所以单纯从开关的功耗上分析,Flash FPGA的开关消耗功耗要比SRAM FPGA低很多,并且SRAM FPGA通常具有较高的静态功耗和动态功耗。

晶体管

虽然Actel Flash FPGA功耗低,但是工艺没有SRAM FPGA高,可容纳的逻辑资源也没有SRAM FPGA多,制造成本更高,所以目前常用的还是SRAM FPGA,只有在一些低功耗、快速启动、安全高的情况下才会用到Actel Flash FPGA,也就是:每个产品各有所长,好的工程师不是一味的追求前沿牛逼技术,而是合理整合资源,取长补短,让系统更优。下面汇总各个FPGA的功耗估算分析工具,作横向对比和学习,并有所思有悟,指导我们以后产品的设计。 

2EDA自带的功耗估算分析工具

各个厂商都会有自带的EDA设计工具,既然FPGA是他们做的,那么他们当然对自己的FPGA内部结构更清楚,也一定有很多对应的设计工具,功耗估算工具自然不在话下。这也是我们学习中常用的一种思路:从源头去找解决的方法是最快最高效的学习思路

①Altera

Altera厂商提供2种功耗估算工具:一种是Excel-based功耗计算器,用于设计前期的初步估算,参数手动输入或者由Project导出文件导入;另一种是基于仿真的功耗估算器(simulation-based),是设计并仿真完成使用,对工程设计提供了一个准确的功耗估算方法。

晶体管

其中,基于Excel-based功耗计算器的PPE功耗估算器如下图,详细使用方法可查看对应的用户手册。

晶体管

而基于仿真的功耗估算器(simulation-based),需要导入门级仿真生成的VCD文件作为PowerPlay Power Analyzer的输入文件后输出功耗估算报告,报告图界面如下图:

晶体管

②Xilinx

Xilinx厂商也提供相似的2种功耗估算工具:一种是简单的速查Excel估算工具XPE,针对设计初期的功耗进行估算,参数手动输入或由Project导出文件导入;另一种是ISE或Vivado下专用功耗分析工具XPower,针对设计完成后输出详细的功耗报告。

其中,速查Excel估算工具XPE界面如下图,详细使用方法可查看对应的用户手册。

晶体管

专用的功耗分析工具XPower在Vivado下的界面如下图:

晶体管

③Actel

Actel FPGA生产商也提供了和其它厂商相似的功耗估算工具:一种是简单的Excel工具PolarFire Power Estimator,也是用于设计前期的功耗初步估算;另一种就是LiberoSOC软件自带的功耗分析工具,用于设计完成后的详细分析及优化。

其中,PolarFire Power Estimator界面如下图,详细使用方法可查看对应的用户手册。

晶体管

LiberoSOC软件自带的功耗分析工具界面如下图:

晶体管

3CPU功耗估算

    有人会问:FPGA中有这么好用的功耗估算分析工具,那CPU了?同样的道理,我们使用的CPU应该都有对应的功耗估算工具供我们设计时使用分析功耗,通过找对应的生产商肯定可以找到对应的设计分析工具。因为在ZYNQ中不仅有FPGA逻辑PL部分,还有ARM属于CPU部分,所以,Xilinx也提供了对ZYNQ中PS的功耗估算,XPE中对应的界面如下图。

晶体管

晶体管

4FPGA功耗设计步骤

a. 首当其冲,当然是设计一个好的系统架构,好的系统架构,好的内部模块划分就是系统成功了一半,因为FPGA非常注重结构,好的结构会带来好的时序,资源使用更合理,功耗自然就低;

b. 接着,规划好整个系统的时钟资源,因为FPGA的功耗主要来源于动态功耗,而动态功耗又直接由时钟决定,所以好的时钟规划,时钟数尽可能少、时钟频率尽可能低,功耗自然会低;

c. 然后,规划合理的IO的标准,特别要把一些未用的IO设为高阻,刚开始接触FPGA时不懂,把所有IO没有关,就一个简单的计数器工程都让片子发烫,后来把IO设为高阻就好了;

d. 最后,就是工程设计中的一些技巧:用好EDA工具的低功耗综合配置、多使用时钟使能信号、需要情况下谨慎使用门控时钟、优化设计中的各个模块实现方式等。

在这里,特别要借助功耗估算分析对设计前期进行功耗评估,对设计后期进行功耗优化。

5总结

    FPGA产品设计中离不开功耗的估算,用好EDA下的工具会让我们事半功倍,而且如果你够细心,你会发现:1.各个厂商的FPGA估算途径都相似;2.Xilinx的ZYNQ加入了对CPU的功耗估算;3.使用Excel来对产品前期进行功耗估算,需要你对FPGA内部资源足够熟练,所以其实优化功耗好的同时,也帮你在优化资源,把控整个系统,多看看PPE、XPE和PolarFire Power Estimator功耗估算Excel工具,对你了解FPGA内部结构和系统帮助甚大,是了解FPGA内部组成的一条好的捷径。

来源: 本文转载自FPGA2嵌入式公众号 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分