FPGA功耗估计

5 篇文章 2 订阅

1、背景
\quad 资源、速度、功耗是FPGA设计中的三大关键因素。温度与功耗成正相关性,功耗大必然会导致温度高,高温最常见的问题是系统重启,温度高对FPGA内部的时序不利,导致可靠性下降。

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

3、功耗优化
\quad 功耗优化的目的是最大限度地降低FPGA功耗同时最小限度地避免其对时序的影响。如,适时地选择布局前的power_opt_design和布局后的power_opt_design。但有时会出现功耗优化之后(运行power_opt_design)时序恶化甚至无法收敛的情况,此时可通过Tcl命令set_power_opt来控制功耗优化的对象。
如:
1)不想对某个模块进行优化
\quad set_power_opt -exclude_cells [get_cells A]
2)只对某个时钟域优化
\quad set_power_opt -clocks [get_clocks clkA]
3)只对某类型的cell优化
\quad set_power_opt -cell_types{bram reg}
\quad 在Implementation阶段有专门针对功耗优化的流程,可以选择布局前优化和布局后优化。如下:
在这里插入图片描述
4、低功耗设计
\quad 关于FPGA低功耗设计,可从两方面着手:
\quad 1)算法优化;
\quad 2)FPGA资源使用效率优化。
\quad FPGA动态功耗主要体现为存储器、内部逻辑、时钟、I/O消耗的功耗。其中存储器是功耗大户,如xilinx FPGA中的存储器单元Block RAM,因此在这边主要介绍对BRAM的一些功耗优化方法:
\quad 1)尽量避免对BRAM使用异步复位或置位(同触发器);
\quad 2)‘write first’‘read first’功能是防止读写冲突,但会增加额外的逻辑,如、格雷码判断读写使能或读写计数。选择‘no change’不会增加这个功能。
\quad 3)大RAM采用多个小RAM级联模式。7系列是36Kb大小,因此可以配置成32k-1bit或1k-32bit,前者是‘拼宽度’后者是‘拼深度’,当使用‘拼宽度’时同一时刻会有多个子RAM工作,当使用‘拼深度’时同一时刻只有一个子RAM工作。

5、功耗估计方法
在这里插入图片描述
在这里插入图片描述
\quad 在Vivado下,有两种功耗估计模式。一种是向量模式,需要提供SAIF(Switching Activity Interchange Format)或VCD文件;一种是非向量模式,只需要提供简单的参数即可,但估计结果不够准确。SAIF文件通过仿真生成,因此需要在Simulation Settings中进行设置
在这里插入图片描述
在功耗估计中选择SAIF文件
在这里插入图片描述
生成XPE文件
在这里插入图片描述
在官网下载7_Series_XPE_2019_1_2.xlsm,打开文件导入XPE文件
在这里插入图片描述
选择XPE文件
在这里插入图片描述
生成功耗结果,如Summary所示:
在这里插入图片描述

  • 10
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值