在不能下板的情况下,想要对当前基于FPGA的设计进行功耗评估。分别采用了如下的一些方法:
Vivado综合实现后的功耗报告
该方法是Vivado两种功耗估计模式之一,非向量模式,提供简单参数、根据设计粗略评估。
在综合和实现步骤后,Vivado会生成相应的一份功耗评估报告,但估计结果不够准确,功耗报告种也会显示置信度低(low)。
Vivado综合实现后的仿真结果校验功耗
该方法为Vivado的另一种功耗评估模式,向量模式。
主要是通过综合或实现后的仿真结果,生成SAIF(Switching Activity Interchange Format)文件,该文件能根据仿真结果提供内部信号和对外输入输出端口信号的一些翻转率,因此其报告的confidence level为high。
具体的操作步骤可详见:在Vivado下进行功耗估计和优化——高亚军
XPE功耗评估
XPE工具就是一张excel表,用户详细设计的资源、约束等等信息评估功耗。
在XPE上也尝试了两种方法评估功耗,一种是在vivado功耗评估时设置导出.xpe文件,该文件可以直接导入XPE中,可参考:XILINX芯片功耗评估,但评估出来的结果和Vivado中一样。
另一种方法则先填写好板卡信息后直接使用quick estimate简单粗暴地评估。
在评估中,表格下方的资源和物理接口等根据设计如实填写即可。
其他起比较大影响的参数主要是温度和翻转率,但这个评估也特别需要靠经验判断。
其中,温度(Conditions中)中分为环境温度和结温(这些具体的半导体电气特性我也不熟悉,根据老师的经验指导选择的85度结温,据说这个值一般是通过Jtag可以测得的)。
而翻转率也是根据设计决定,我没有相关经验也不熟悉,但是老师说的是,一般用于雷达等传统应用领域的FPGA设计,翻转率设为25%左右即可,但对于我们做的深度学习领域等密集计算的设计时,一般翻转率会更高、功耗也更大,最后老师给设定的是Toggle和Enable都为50%,据说已经是非常高的值的,总之也是往大了去评估的。
XPE的使用也有官方教程:使用Xilinx Power Estimator