如何测量真实FPGA器件功耗

如何测量真实FPGA器件功耗,第1张

电源管理一直是FPGA设计中的关键问题。现有一种新方法可用于测量真实FPGA器件的功耗估计值

现代的FPGA 芯片能够开发高性能应用,但在这些设计中电源管理通常是一大限制因素。FPGA 器件的资源使用最能决定设计的容量和处理速度,但是增加资源就会提高功耗。更高的功耗会提高运行成本、面积要求和结温,而设计人员必须用更多的气流和冷却系统来解决结温问题。

由于开发板或系统的总功耗极其重要,因此设计人员必须设置一个功耗预算,在资源使用和功耗问题方面兼顾平衡。所以,事先预测系统潜在功耗的能力可帮助设计人员获得先发优势。

对于实现前的功耗评估,赛灵思可提供一些工具根据用户输入内容或综合报告进行功耗估计。其中一款工具就是赛灵思功耗估计器(Power EsTImator,XPE)电子数据表。这款基于Excel 的功耗估计工具能让您输入资源使用、翻转率和时钟频率等设计属性,并根据器件信息计算估计的功耗值。另一款常用的工具是赛灵思功耗分析器(Power Analyzer,XPA)。在布局和布线后,XPA 会导入已生成的NCD 文件,并利用实现详细信息和仿真结果(而非用户输入)来更加准确地估计功耗。

作为备选方案,我们设计出一种新方法来测量真实器件上FPGA 设计的功耗估计值。为模拟不同的实现方案,我们创建了一个独立于器件的通用VHDL 设计,其有可能实现在FPGA 运行时通过串行通道改变激活的资源(即DSP slice、Block RAM 和slice 寄存器)的数量及相应的运行条件(结温、时钟频率和翻转率)。 我们的这种技术可以同时监控电源的电流和电压大小,便于我们轻松观察器件在不同资源使用和环境条件下的动态功耗特性。

我们已在赛灵思KC702 评估板上实现了该设计。不过,只要您的FPGA 器件支持设计中所使用的IP核,您只需做轻微修改也可在任何其它器件上实现该设计。

另一种使用该技术的方法可能是作为面向FPGA 板的VHDL 测试设计。我们假设最近设计了一个通用型Kintex®-7 开发板。客户可在不断变化的环境条件下利用未知的资源容量在开发板上实现任何设计。为了确保开发板的稳定性和稳健性,我们需要在最高和最低所需的环境温度下强加器件的工作极限,并验证FPGA 能够支持不同的资源使用情况。然而,测试每种资源使用方案需要从头开始开发一款全新的VHDL 设计,这会耗费太多时间。我们推荐的方法可帮助设计人员灵活地根据需要对测试设计进行实时控制。

如何测量真实FPGA器件功耗,通过实时改变使用率研究FPGA功耗行为,第2张

 

实现细节

我们设法让实现方案尽可能的简单,以避免生成作为逻辑使用的s l i c e LUT,因为我们无法对其功耗进行控制。实现slice 寄存器最简单的方法是将它们组合为移位寄存器模块。图1a中的方框图给出了slice 寄存器的实现方法。 这里需要注意一个简单的问题,当我们尝试创建slice 寄存器时,综合工具常常将slice LUT 作为32 位移位寄存器(SRL32)使用,而不是使用slice 寄存器。您也可以利用以下VHDL 属性来强制综合软件使用slice寄存器:

LogiCORETM 模块存储器生成器创建作为单端口RAM 的Block RAM。将一个数位持续翻转的16 位字不停写入激活BRAM 的随机地址中,从而使它们保持被占用状态。图1b 是单个BRAM 组件的方框图。同样,我们使用DSP slice 将一个25位被乘数与一个18 位乘数相乘,得到一个43 位输出, 这就是单个DSP48E1 可以处理的最大字宽。所有DSP 组件的被乘数会被定期修改,从而使DSP 消耗动态功耗,如图1c 所示。然而,综合工具试图在综合过程中删除资源,因为这些模块的输出未与任何输出引脚连接。您可以使用以下属性使资源保持不变:

在该方案中,您可通过控制时钟使能信号来激活资源。时钟禁用后的资源只消耗非常小的功耗,可在设计中忽略不计。具体来说,具有100%翻转率的50 个DSP slice 的功耗为0.112 瓦,而当它们的时钟使能信号取消断言时功耗为0.001 瓦。不同使用率下的结果几乎相同。因此,每个资源组件都由时钟使能信号通过串行通信进行控制的设计无需采用新的设计和实现步骤即可立即仿真出改变使用率时的情况。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/dianzi/2645408.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-08-12
下一篇2022-08-12

发表评论

登录后才能评论

评论列表(0条)

    保存